mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-03 16:41:26 +01:00
fix(fuse): keep the size of a file open for writing across re-listings
B109: an online create seals an empty file on Drive, and until the last close the written bytes live only in the open handle. A re-listing of the parent, a size upgrade or a create landing re-interned the node with Drive's empty size, the kernel capped reads at that size, and SQLite reported "database disk image is malformed". State::keep_open_write_size now carries the handle's size and local mtime over in all three places. The acceptance script waits for My files to mount after a daemon restart instead of failing at once.
This commit is contained in:
1 parent
a2992b3b9d
commit
f252b09757
6 files changed
+83
-9
No files matched your search
@@ -40,6 +40,9 @@ scratch (user data in `staging/` and `recovery/` is never touched by this).
|
||||
- **Editors can save over a file several times in a row.** The fix for B104 could leave the
|
||||
upload of a replaced file queued, and the next save onto the same name failed with
|
||||
`Input/output error` (B106).
|
||||
- **Databases and other files kept open while written no longer read back empty.** When the
|
||||
folder was listed again while a file was still open, its size dropped to what Drive held,
|
||||
often 0 bytes, and SQLite reported `database disk image is malformed` (B109).
|
||||
- **Deleting files during a mirror pass no longer marks the folder as failed.** A file removed
|
||||
after the pass planned its upload was counted as an error, so the folder showed `error` until
|
||||
a later pass (B108).
|
||||
|
||||
Reference in new issue
Block a user