sapling/eden/integration
Katie Mancini f4da0e5eb5 Add missing inodes in windows doctor
Summary:
eden doctor can discover when an inode is missing for a file, but can't
remediate the issue. restart usually remediates the issue, but it would be
better to have doctor remediate since restart can be very slow.

We could do something similar to our remediation for phantom inodes (performing
a filesystem operation). However, messing with the filesystem leaves us open to
races with concurrent modifications. The point of the filesystem io is to make
eden see a notification about a certain path and match it's state to the
filesystem. So we can directly do that instead.

We can more directly do this by introducing a thrift call to make eden match
it's internal state to the filesystem.

We could replace the other remediation with this thrift call. I'll leave that
for a follow up.

Reviewed By: xavierd

Differential Revision: D46243633

fbshipit-source-id: a1df5929428dc4f6c8fd71d826fe1e7371ebf283
2023-06-09 11:52:50 -07:00
..
fsck migrate edenfsctl fsck to C++ 2023-05-23 13:33:07 -07:00
helpers Expose blake3 via file attributes 2023-06-05 23:41:35 -07:00
hg merge: remove v1 merge state 2023-06-04 21:54:48 -07:00
lib Add missing inodes in windows doctor 2023-06-09 11:52:50 -07:00
snapshot upgrade pyre version in fbcode/eden - batch 1 2023-05-02 23:29:54 -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 rename ConfigSource to ConfigSourceType 2022-12-10 05:09:52 -08:00
corrupt_overlay_test.py inodes: recover from corrupted sqlite database 2023-03-17 21:38:48 -07: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 store: allow LocalStoreCachedBackingStore to be configured 2023-05-09 09:52:52 -07: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 prjfs: set the timestamps when adding placeholders 2023-04-19 11:36:52 -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_match_fs.py Add missing inodes in windows doctor 2023-06-09 11:52:50 -07:00
prjfs_stress.py gather all prjfs integration test basics 2023-06-09 11:52:50 -07:00
projfs_buffer.py Lint failure adding annotations to eden/integration/projfs_buffer.py 2023-04-12 09:51:28 -07:00
projfs_enumeration.py Disable projfs_enumeration integration test if ntapi missing 2023-04-12 10:51:18 -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
readdir_test.py Expose blake3 via file attributes 2023-06-05 23:41:35 -07:00
redirect_test.py use disk images for redirect integration tests 2023-02-14 12:29:56 -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 enable restart tests 2023-03-29 11:33:45 -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 reenable integration tests on macOS 2023-02-14 12:29:56 -08: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 fix/document stats tests for windows and macOS 2023-03-15 15:22:51 -07:00
stop_test.py integration: do not run skipped/disabled tests 2022-07-22 09:51:17 -07:00
takeover_test.py enable takeover tests on mac 2023-03-29 11:33:45 -07:00
thrift_test.py Add getBlake3 method to eden service 2023-06-05 23:41:35 -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 integration: enable unlink tests 2023-03-10 18:35:27 -08:00
userinfo_test.py integration: do not run skipped/disabled tests 2022-07-22 09:51:17 -07:00
windows_fsck_test.py gather all prjfs integration test basics 2023-06-09 11:52:50 -07:00
xattr_test.py fs: fix license header 2022-01-04 15:00:07 -08:00