sapling/eden/fs
Xavier Deguillard 1ed7eeef95 inodes: unload inodes before checkout on Windows
Summary:
On Windows, we never unload any inodes until EdenFS is restarted, thus,
checkout times go up over time as more and more inodes are being loaded. While
on Windows we don't keep track of what is referenced by the kernel, the
checkout code will use the "precise inodes" code path when deciding what to
update. This means that every inode that is in the overlay will get updated
properly, and since the overlay is a superset of what is hydrated, we are
guaranteed to always invalidate what we need to.

Due to the above, this shouldn't result in any changes as we never gc the
overlay, but that will come later, at which point checkout times will stop
being more and more expensive as time goes.

Reviewed By: chadaustin

Differential Revision: D24634253

fbshipit-source-id: c7b838edc20589bbf92ff4e2b3abd079b9a4443d
2020-11-02 21:03:58 -08:00
..
benchharness add 4k random writes benchmark 2020-07-14 16:13:37 -07:00
benchmarks Remove dead includes in eden 2020-10-09 15:25:47 -07:00
cli add eden debug modified command 2020-11-02 13:52:38 -08:00
config path: verify that composed paths are comprised of valid PathComponent 2020-10-22 16:24:17 -07:00
docs Some minor modifications to verbiage in documentation 2020-07-06 22:20:17 -07:00
fuse name some threads 2020-11-02 15:22:53 -08:00
inodes inodes: unload inodes before checkout on Windows 2020-11-02 21:03:58 -08:00
journal avoid redundant change notifications when prior notifications have not been observed 2020-10-20 18:25:43 -07:00
model PathFuncs: allow paths on Windows to be '\' separated 2020-10-22 16:24:17 -07:00
monitor Remove dead includes in eden 2020-10-09 15:25:47 -07:00
notifications notifications: compile on Windows 2020-09-09 09:33:35 -07:00
prjfs inodes: move path into the Dispatcher callbacks 2020-11-02 12:26:56 -08:00
py give new thrift client access to streaming APIs 2020-10-07 23:36:40 -07:00
rocksdb Remove dead includes in eden 2019-10-11 16:45:01 -07:00
service remove dead getDebugStatus 2020-11-02 13:52:38 -08:00
sqlite sqlite: allow to create in-memory sqlite database for testing 2020-10-05 15:51:18 -07:00
store always immediately fetch HgProxyHash in HgQueuedBackingStore 2020-11-02 20:18:26 -08:00
takeover thriftfmt 2020-11-02 13:52:37 -08:00
telemetry fix compilation warnings 2020-10-26 13:43:48 -07:00
testharness utils: compile the tests with @mode/win 2020-10-22 12:52:13 -07:00
third-party eden: support NO_OPEN support on macOS 2020-07-27 17:53:03 -07:00
utils utils: fix SpawnedProcess.pipe test on @mode/win 2020-10-26 20:56:17 -07:00
CMakeLists.txt prjfs: move win/mount into prjfs 2020-09-22 09:09:56 -07:00