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
- is related to
-
LU-17995 In-memory OSD device
-
- Open
-