sapling/eden/integration
Katie Mancini 1c31dbb822 allow remount after force unmounting
Summary:
Previously if you `sudo umount -f fbsource-nfs` then try to
`eden mount fbsource-nfs`, the mount will fail because the EdenMount already
exists and is still running.

Let's properly unmount our selfs on a force unmount like we do for fuse.
There are two potential ways to detect a fource unmount: the UMNT call to the
mount deamon or the socket to the nfsd closing. The UMNT call is unreliable
(on Linux we do not get the UNMT call on `umount -l`), so this diff pursues the
socket closing option.

When the nfsd socket is closed we trigger the EdenMount unmounting process if
this has not already started.

Reviewed By: xavierd

Differential Revision: D28329482

fbshipit-source-id: 5df8f3eb818a92536095195f1b3a9e412394fbf6
2021-05-27 16:11:50 -07:00
..
fsck Apply pyfmt to fbcode/eden 2020-10-04 04:51:00 -07:00
helpers Log how long it took for eden to start 2021-04-01 10:32:18 -07:00
hg integration: run the hg integration tests with NFS too 2021-05-26 14:05:48 -07:00
lib allow remount after force unmounting 2021-05-27 16:11:50 -07:00
snapshot run linter in eden/integration 2021-01-25 16:13:54 -08:00
basic_test.py cli: remove the repo on edenfsctl remove 2020-08-13 08:28:45 -07:00
casing_test.py inodes: fix casing issue on Windows 2020-06-24 18:59:16 -07:00
chown_test.py replace a bunch of pyre-fixme comments with pyre-ignoree 2020-02-24 18:55:19 -08:00
clone_test.py integration: use clone method from EdenFS object 2021-05-26 19:17:11 -07:00
CMakeLists.txt Deleting failing eden systemd_fixture_test 2020-09-01 22:39:10 -07:00
config_test.py rename eden.thrift Python module to eden.thrift.legacy 2020-06-10 19:29:42 -07:00
corrupt_overlay_test.py nfs: run custom integration tests on nfs 2021-05-12 15:01:08 -07:00
debug_getpath_test.py test: unbreak test_getpath_unlinked_inode on NFS 2021-05-26 19:17:11 -07:00
debug_test.py implement debugInodeStatus with traverseObservedInodes 2020-11-02 13:52:37 -08:00
doteden_test.py Add annotations to eden/integration/doteden_test.py 2021-03-12 09:57:26 -08:00
edenclient_test.py integration: use clone method from EdenFS object 2021-05-26 19:17:11 -07:00
fsck_test.py nfs: run custom integration tests on nfs 2021-05-12 15:01:08 -07:00
glob_test.py add eden glob command 2021-02-23 19:58:03 -08:00
health_test.py run linter in eden/integration 2021-01-25 16:13:54 -08:00
help_test.py run linter in eden/integration 2021-01-25 16:13:54 -08:00
info_test.py remove some internal uses of the term 'client' 2020-05-07 22:08:10 -07:00
linux_cgroup_test.py suppress errors in fbcode/eden - batch 1 2021-05-04 15:25:14 -07:00
materialized_query_test.py apply upgraded black 21.4b2 formatting to fbsource 2021-05-04 22:16:51 -07:00
mmap_test.py suppress errors in eden - batch 1 2020-05-21 19:32:35 -07:00
mount_test.py integration: use clone method from EdenFS object 2021-05-26 19:17:11 -07:00
nfs_test.py nfs: run most integration tests on edenfs 2021-04-23 13:30:17 -07:00
oexcl_test.py Tidy up license headers 2019-10-11 05:28:23 -07:00
patch_test.py Tidy up license headers 2019-10-11 05:28:23 -07:00
persistence_test.py eden/integration/persistence_test.py 2020-02-24 15:42:45 -08:00
rage_test.py nfs: run custom integration tests on nfs 2021-05-12 15:01:08 -07:00
rc_test.py run linter in eden/integration 2021-01-25 16:13:54 -08:00
redirect_test.py fix redirect list test on Windows 2020-12-08 15:54:48 -08:00
remount_test.py apply upgraded black 21.4b2 formatting to fbsource 2021-05-04 22:16:51 -07:00
rename_test.py apply upgraded black 21.4b2 formatting to fbsource 2021-05-04 22:16:51 -07:00
restart_test.py Make the eden restart --force command explicit. 2021-05-04 09:51:40 -07:00
rocksdb_store_test.py nfs: run custom integration tests on nfs 2021-05-12 15:01:08 -07:00
sed_test.py Tidy up license headers 2019-10-11 05:28:23 -07:00
service_log_test.py integration: split the integration tests 2021-05-19 18:35:25 -07:00
setattr_test.py fix flaky time test by rounding to nearest second 2020-07-27 13:04:13 -07:00
stale_test.py nfs: run custom integration tests on nfs 2021-05-12 15:01:08 -07:00
start_test.py integration: split the integration tests 2021-05-19 18:35:25 -07:00
stats_test.py nfs: run custom integration tests on nfs 2021-05-12 15:01:08 -07:00
stop_test.py run linter in eden/integration 2021-01-25 16:13:54 -08:00
systemd_test.py run linter in eden/integration 2021-01-25 16:13:54 -08:00
takeover_test.py apply upgraded black 21.4b2 formatting to fbsource 2021-05-04 22:16:51 -07:00
thrift_test.py hg: ignore invalid filename when importing manifest 2021-01-05 14:08:14 -08:00
unicode_test.py nfs: fix non-UTF8 name handling 2021-05-26 14:05:48 -07:00
unixsocket_test.py apply black 20.8b1 formatting update 2020-10-14 20:21:52 -07:00
unlink_test.py tests: enable unlink_test on Windows 2020-06-19 18:13:20 -07:00
userinfo_test.py apply the integration test case blacklist to some more tests 2020-05-04 11:46:09 -07:00
windows_fsck_test.py introduce basic fsck test cases 2021-05-17 23:38:03 -07:00
xattr_test.py tests: Fix UnusedVariable in xattr_test.py 2021-01-14 01:23:42 -08:00