mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 08:18:15 +03:00
086fc9ac30
Summary: Update FuseChannel to send all invalidation requests in a separate thread. This eliminates a deadlock that could previously occur during checkout operations. The invalidation requests would block until they could acquire the kernel's inode lock on the inode in question. However, the inode lock may already be held by another thread attempting to perform an unlink() or rename() call. These FUSE unlink or rename operations would be blocked waiting on Eden's mount point rename lock, which was acquired by the checkout operation. Checkout operations now let the invalidations complete asynchronously, but we wait for all invalidation operations to complete before indicating to our caller that the checkout has succeeded. Reviewed By: chadaustin, wez Differential Revision: D7404971 fbshipit-source-id: 6fa20c00d054e210eb0258d247d083010557f210 |
||
---|---|---|
.. | ||
hg | ||
lib | ||
basic_test.py | ||
clone_test.py | ||
debug_getpath_test.py | ||
fsattr.cpp | ||
health_test.py | ||
help_test.py | ||
hypothesis_simple_test.py | ||
info_test.py | ||
materialized_query_test.py | ||
mmap_test.py | ||
oexcl_test.py | ||
patch_test.py | ||
persistence_test.py | ||
rc_test.py | ||
remount_test.py | ||
rename_test.py | ||
repo_test.py | ||
sed_test.py | ||
setattr_test.py | ||
takeover_test.py | ||
thrift_test.py | ||
unixsocket_test.py | ||
unlink_test.py | ||
xattr_test.py |