You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: implementation.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -3,8 +3,8 @@ Some of the implementation details of intercepted calls in SplitFS
3
3
-`fallocate, posix_fallocate`
4
4
- We pass this to the kernel.
5
5
- But before we pass this on to the kernel we fsync (relink) the file so that the kernel and SplitFS both see the file contents and metadata consistently.
6
-
- We also clear the mmap table in SplitFS because they might get stale after the system call.
7
6
- We update the file size after the system call accordingly in SplitFS before returning to the application.
7
+
- TODO: Figure out if ext4 implementation of fallocate will move the existing blocks to a new location (maybe to make it contiguous?). If yes, we will also have clear the mmap table in SplitFS because they might get stale after the system call.
8
8
-`sync_file_range`
9
9
- sync_file_range guarantees data durability only for overwrites on certain filesystems. It does not guarantee metadata durability on any filesystem.
10
10
- In case of POSIX mode of SplitFS too, we guarantee data durability and not metadata durability, i.e we want to provide the same guarantees as posix.
0 commit comments