sapling/eden/integration
Xavier Deguillard 1c86ea55f8 service: only allow takeover if all mounts are initialized
Summary:
The most common crash on macOS is when a graceful restart is performed while a
mount is ongoing. In this case, an EDEN_BUG is raised in EdenFS leading to
EdenFS to crash and restart.

As a very easy solution, let's check prior to starting graceful restart if
there are any ongoing mounts, and if so, just abort the graceful restart. Note
that there is still a potential race if a mount occurs right after this check,
but that should be significantly more rare and unlikely to happen in practice.

Reviewed By: kmancini

Differential Revision: D41640271

fbshipit-source-id: c0fd0cc0305cbcdd941aa0e2e422706af799d5b3
2022-12-08 11:48:29 -08:00
..
fsck integration: do not run skipped/disabled tests 2022-07-22 09:51:17 -07:00
helpers utils: deny building an AbsolutePath from a literal 2022-11-22 16:20:30 -08:00
hg format keys in FaultInjector with fmt 2022-11-14 10:56:34 -08:00
lib service: only allow takeover if all mounts are initialized 2022-12-08 11:48:29 -08:00
snapshot integration: do not run skipped/disabled tests 2022-07-22 09:51:17 -07:00
basic_test.py integration: do not run skipped/disabled tests 2022-07-22 09:51:17 -07:00
casing_test.py Run case sensitivity integration tests exhaustively on each platform 2022-10-17 13:02:28 -07:00
chown_test.py integration: add a few missing testcase decorator 2022-07-26 16:50:53 -07:00
clone_test.py Allow setting and querying case-sensitivity 2022-10-17 13:02:28 -07:00
CMakeLists.txt integration: the prjfs_stress only run on Windows 2022-07-06 18:14:27 -07:00
config_test.py integration: do not run skipped/disabled tests 2022-07-22 09:51:17 -07:00
corrupt_overlay_test.py fs: fix license header 2022-01-04 15:00:07 -08:00
debug_getpath_test.py integration: rename get_thrift_client to get_thrift_client_legacy 2022-04-22 18:22:42 -07:00
debug_subscribe_test.py subscribe: add a basic test 2022-10-21 19:05:50 -07:00
debug_test.py support object cache fetching for debug blob 2022-12-06 23:42:55 -08:00
doteden_test.py prjfs: prevent .eden from being removed 2022-03-07 15:36:00 -08:00
edenclient_test.py fs: fix license header 2022-01-04 15:00:07 -08:00
fsck_test.py integration: do not run skipped/disabled tests 2022-07-22 09:51:17 -07:00
glob_test.py Run case sensitivity integration tests exhaustively on each platform 2022-10-17 13:02:28 -07:00
health_test.py integration: do not run skipped/disabled tests 2022-07-22 09:51:17 -07:00
help_test.py integration: do not run skipped/disabled tests 2022-07-22 09:51:17 -07:00
info_test.py add backing repo location to eden info 2022-10-20 14:33:19 -07:00
invalidate_test.py inodes: allow invalidating inodes accessed before some time 2022-12-05 17:56:44 -08:00
linux_cgroup_test.py integration: do not run skipped/disabled tests 2022-07-22 09:51:17 -07:00
long_path_test.py utils: AbsolutePath are always UNC on Windows 2022-11-08 08:49:16 -08:00
materialized_query_test.py fix test_getFileInformation on Windows 2022-05-04 17:05:09 -07:00
mmap_test.py fs: fix license header 2022-01-04 15:00:07 -08:00
mount_test.py apply import merging for fbcode (4 of 11) 2022-05-15 12:53:03 -07:00
oexcl_test.py fs: fix license header 2022-01-04 15:00:07 -08:00
patch_test.py fs: fix license header 2022-01-04 15:00:07 -08:00
persistence_test.py config: switch thorough-fsck on by default 2022-10-21 14:41:08 -07:00
prjfs_stress.py integration: add another out-of-order test 2022-08-02 13:03:34 -07:00
rage_test.py remove eden doctor invocation from eden rage 2022-03-09 10:36:24 -08:00
rc_test.py fs: fix license header 2022-01-04 15:00:07 -08:00
redirect_test.py refactor --all-sources flag to be --only-repo-source 2022-11-29 16:16:30 -08:00
remount_test.py Add annotations to eden 2022-02-14 12:17:43 -08:00
rename_test.py fs: fix license header 2022-01-04 15:00:07 -08:00
restart_test.py apply import merging for fbcode (4 of 11) 2022-05-15 12:53:03 -07:00
rocksdb_store_test.py upgrade pyre version in fbcode/eden - batch 1 2022-08-05 01:40:16 -07:00
sed_test.py fs: fix license header 2022-01-04 15:00:07 -08:00
service_log_test.py apply import merging for fbcode (4 of 11) 2022-05-15 12:53:03 -07:00
setattr_test.py fs: fix license header 2022-01-04 15:00:07 -08:00
stale_inode_test.py integration: add a few missing testcase decorator 2022-07-26 16:50:53 -07:00
stale_test.py fs: fix license header 2022-01-04 15:00:07 -08:00
start_test.py integration: do not run skipped/disabled tests 2022-07-22 09:51:17 -07:00
stats_test.py prepare EdenFS tests for a world without HgImporter 2022-12-01 15:02:14 -08:00
stop_test.py integration: do not run skipped/disabled tests 2022-07-22 09:51:17 -07:00
takeover_test.py service: only allow takeover if all mounts are initialized 2022-12-08 11:48:29 -08:00
thrift_test.py introduce getAttributesFromFilesV2 2022-08-29 14:18:08 -07:00
unicode_test.py fs: fix license header 2022-01-04 15:00:07 -08:00
unixsocket_test.py fs: fix license header 2022-01-04 15:00:07 -08:00
unlink_test.py fs: fix license header 2022-01-04 15:00:07 -08:00
userinfo_test.py integration: do not run skipped/disabled tests 2022-07-22 09:51:17 -07:00
windows_fsck_test.py fsck: remove overlay for directories that aren't on disk 2022-11-16 13:45:01 -08:00
xattr_test.py fs: fix license header 2022-01-04 15:00:07 -08:00