Project

General

Profile

Actions

Subtask #6064

closed

erasure code : convenience functions to code / decode

Added by Loïc Dachary over 10 years ago. Updated over 9 years ago.

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.

Actions #1

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
Actions #2

Updated by Loïc Dachary over 10 years ago

  • Assignee deleted (Loïc Dachary)
Actions #3

Updated by Loïc Dachary about 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.

Actions #4

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

Also available in: Atom PDF