sapling/eden/fs/fuse
Xavier Deguillard b68772a83c fuse: early return from flushInvalidation when channel is unmounted
Summary:
When unmount and checkout are both in progress at the same time, the
FuseChannel may be unmounted prior to the checkout operation completing in that
case, the invalidation thread would be terminated prior to checkout completing.
This would also mean that checkout wouldn't be able to complete due to waiting
on the invalidation thread to flush all the invalidations, but since that
thread is gone, the flush would never complete.

This doesn't affect NFS due to the NFS code relying on a folly Executor and not
a separate thread.

Reviewed By: chadaustin

Differential Revision: D34905149

fbshipit-source-id: e0358f28e6a38dd2b0a14d9a6b5071389ad68b62
2022-03-15 16:24:04 -07:00
..
fuse_tester fs: fix license header 2022-01-04 15:00:07 -08:00
privhelper update straggling license headers 2022-01-19 14:37:11 -08:00
test fs: fix license header 2022-01-04 15:00:07 -08:00
CMakeLists.txt fs: fix license header 2022-01-04 15:00:07 -08:00
DirList.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
DirList.h fs: fix license header 2022-01-04 15:00:07 -08:00
FuseChannel.cpp fuse: early return from flushInvalidation when channel is unmounted 2022-03-15 16:24:04 -07:00
FuseChannel.h refactor notifications 2022-03-01 17:52:58 -08:00
FuseDispatcher.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
FuseDispatcher.h fs: fix license header 2022-01-04 15:00:07 -08:00
FuseRequestContext.cpp refactor notifications 2022-03-01 17:52:58 -08:00
FuseRequestContext.h refactor notifications 2022-03-01 17:52:58 -08:00
Invalidation.h fs: fix license header 2022-01-04 15:00:07 -08:00
PollHandle.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
PollHandle.h fs: fix license header 2022-01-04 15:00:07 -08:00