Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-18766

In-memory OSD sparse file handling

XMLWordPrintable

    • Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Minor Minor
    • None
    • None
    • None
    • 3
    • 9223372036854775807

      Currently, the in-memory OSD doesn't handle sparse file efficiently. Files are currently stored as a page array. When a write occurs, all pages up to the new EOF are allocated. Hence, a sparse file allocates a large number of empty pages.

      To avoid this, osd_buf would be updated hold an array of 'struct niobuf_local' (or similar) rather than a page array. This would allow the offset of data within the pages to be recorded in the osd_buf. The llog code would remain largely unchanged (since there's no need to support sparse logs), but the bulkrw code would do some kind of niobuf merge instead of a simple write.

            timday Tim Day
            timday Tim Day
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: