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
#286 lead to me going down a rabbit hole and realizing there is a whole collection of issues with the VFS with regards to data integrity and sync behavior:
Proper atomic wrties means caching written data before syncing it. Caching in chunks (i.e. a page cache) is necessary to avoid reading the entire file into memory for an arbitrarily small write
unsynced writes also needs to be shared across open Handles
#286 lead to me going down a rabbit hole and realizing there is a whole collection of issues with the VFS with regards to data integrity and sync behavior:
Handles for the same file don't share metadata #287, meaning the inode can get out of syncstatneeds to go through the cache firstHandle.write()does not update inode metadata atomically #286 (writes to the backend immediately but waits to sync metadata until being closed)Handles