Actions
Subtask #6064
closederasure code : convenience functions to code / decode
Status:
Rejected
Priority:
Normal
Assignee:
-
Category:
OSD
Target version:
-
% Done:
0%
Source:
other
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:
Description
It would be usefull to have convenience functions that work in terms of offset+length instead of chunks
- int decode(const map<int, buffer>& chunks, unsigned offset, unsigned len, bufferlist *out);
set<int> want_to_read = range_to_chunks(offset, len) // compute what chunks must be retrieved set<int> available = the up set set<int> minimum = minimum_to_decode(want_to_read, available); map<int, buffer> available_chunks = retrieve_chunks_from_osds(minimum); map<int, buffer> chunks = transcode(want_to_read, available_chunks); // repairs if necessary out = bufferptr(concat_chunks(chunks), offset - offset of the first chunk, len)
- set<int> minimum_to_decode(unsigned offset, unsigned len, const set<int> &available_chunks);
The lower level plugin interface is useful from the plugin point of view. But erasure coded pools need something that is higher level.
Updated by Loïc Dachary over 10 years ago
- Subject changed from convenience functions to code / decode to erasure code : convenience functions to code / decode
Updated by Loïc Dachary over 10 years ago
- Status changed from New to 12
- Parent task deleted (
#4929)
Removing from parent as it seems this is not going to be needed for a first implementation. Keeping it because it may become relevant in the future.
Updated by Loïc Dachary over 9 years ago
- Status changed from 12 to Rejected
- Translation missing: en.field_remaining_hours set to 0.0
The code has evolved in a way that makes this irrelevant. The ECUtil class in osd plays this role.
Actions