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

In-memory OSD sparse file handling

Details

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

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated: