Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-10911 FLR2: Erasure coding
  3. LU-12669

FLR-EC: recover data from parity code

    XMLWordPrintable

Details

    • Technical task
    • Resolution: Unresolved
    • Minor
    • None
    • None
    • None
    • 9223372036854775807

    Description

      When reading from an EC file, if the read I/O encountered failed OSTs, the IO framework detects the error. The LOV layer will manage the page to read the remaining data pages in the EC chunk and its associated parity from the code component and re-generate the missed data page for the failed OSTs, so that client can read without noticing OSTs’ unavailable. Since the EC parity is computed on a per-block basis (or even strictly one byte or word at a time) across the stripes of the file, the minimum number of pages needed to reconstruct one missing data page is (d-1)+1p, one data page from each remaining stripe plus one parity page (though possibly both parities to allow confirming reconstruction correctness).

      For larger reads (~= stripe_size), it will be most efficient to read the full stripe_size of data and parity and reconstruct a whole stripe at a time, rather than doing this on a page-by-page basis. It is likely that the additional data stripes would be needed for the application read() call in any case, so could be considered the same as readahead for the file.

      Attachments

        Issue Links

          Activity

            People

              bobijam Zhenyu Xu
              bobijam Zhenyu Xu
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: