-
Type: Improvement
-
Resolution: Done
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Filesystem API, Live Restore
-
Storage Engines
-
5
-
StorEng - 2024-12-10
Live restore uses extent lists to track when data should be read from the source versus the destination directories. The extent list currently tracks allocations, but we should instead have it track holes.
This provides a simpler mental model as we can populate the entire extent list at file open and remove holes from the extent list. In comparison when we track allocations there are scenarios where the extent list contains extents past the end of the destination file, and when we truncate a file and crash it's difficult to correctly rebuild this allocation list.
This ticket changes the live restore extent list to instead track holes.