sapling/eden/fs/prjfs
Xavier Deguillard 446ae54b71 inodes: increment and decrement the fs refcount on Windows
Summary:
On Windows, the FS refcount is used to indicate that ProjectedFS knows about
this inode and either has a placeholder on disk, or a plain file. The first
event only occurs on lookup (similarly to Linux/macOS), while the second one
happens when files are created by the user and we receive a notification about
it.

In order to avoid races and to miss necessary invalidation, the refcount has to
be incremented after the placeholder has been created, and the refcount is
decremented before the invalidation is performed. This is straightforward to
achieve for notifications, but requires passing a callback to the PrfsChannel.

Reviewed By: chadaustin

Differential Revision: D24800819

fbshipit-source-id: 0e7ea7ed3a9ca0414e3e727fba975045546d82d1
2020-12-04 09:13:38 -08:00
..
CMakeLists.txt move strace logging into FuseChannel 2020-10-20 09:34:03 -07:00
Dispatcher.cpp prjfs: add TARGETS file 2020-09-23 09:43:35 -07:00
Dispatcher.h inodes: increment and decrement the fs refcount on Windows 2020-12-04 09:13:38 -08:00
Enumerator.cpp prjfs: make readdir asynchronous 2020-11-13 14:27:26 -08:00
Enumerator.h prjfs: make readdir asynchronous 2020-11-13 14:27:26 -08:00
PrjfsChannel.cpp inodes: increment and decrement the fs refcount on Windows 2020-12-04 09:13:38 -08:00
PrjfsChannel.h prjfs: thread notifications in PrjfsChannel 2020-12-03 10:45:30 -08:00
PrjfsRequestContext.h prjfs: thread notifications in PrjfsChannel 2020-12-03 10:45:30 -08:00