Joe Doyle
Joe Doyle
Okay, it's good to hear that it's been profiled. I wonder if there's some performance to be gained with some sort of in-memory caching of the B-trees or deferring high-latency...
If I'm reading `operations.cpp` correctly, most filesystem calls use `open_base_dir` (https://github.com/netheril96/securefs/blob/bb3cc575ca0c752f480d796b3faa2da5550bc890/sources/operations.cpp#L62), which traverses the whole directory path from the root each time to determine the correct ID. Implementing a cache...
I ran an experiment and this kind of caching seems to have negligible effect. However, it seems that a lot of time gets spent "evicting" closed files from the cache....
I ran `securefs mount` with `--trace`, and then ran `ls` on the directory. I observed that all the FS read operations and `stat`s went by quickly, then there would be...
Those runs of `time ls` were both with `securefs mount` (no `--trace`), and I ran `time ls` as the first thing after mounting it, so the path cache was starting...
(the encrypted files getting modified is plausible in a situation where the cyphertext is synchronized via a cloud service while the FS is mounted locally)
I'm seeing a similar issue since a few days ago -- videos freeze or never load with a "Network Error" notification. It works fine on LTE mobile data connection and...