mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-04 16:56:59 +01:00
refactor(fuse): one tree for every mount
On-demand sync folders kept their own State, which the drain, the event applier and the sweeps had to visit one by one (B74). Every mount now serves from the primary's tree. A session keeps only its root, which the kernel knows as inode 1, and its notification channel; work that changes the tree tells every mounted session. Size upgrades become daemon-wide, and moves compare mounts by root instead of by state.
This commit is contained in:
1 parent
ea27f2bcd0
commit
ad8b225cfd
12 files changed
+580
-622
No files matched your search
@@ -11,6 +11,16 @@ scratch (user data in `staging/` and `recovery/` is never touched by this).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
Schema: **36**. Every node row gets a local id that never changes; existing rows keep their
|
||||
row number as that id. Going back to 2.9 means rebuilding the cache.
|
||||
|
||||
### Changed
|
||||
- **A file keeps its inode number across daemon restarts.** Inodes are now the node's local id
|
||||
instead of a counter that started over on every run.
|
||||
- **Every mount serves from one tree.** An on-demand sync folder used to keep its own copy of the
|
||||
nodes it showed, which background work had to visit one by one and could miss (B74). It now
|
||||
shares the tree with My files; only the root it starts at is its own.
|
||||
|
||||
### Fixed
|
||||
- **A file renamed or moved while its first upload is on the wire keeps its new name and folder.**
|
||||
It landed under the old name and the rename was lost (B136).
|
||||
|
||||
Reference in new issue
Block a user