mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 00:14:35 +03:00
3bee7ea2cc
Summary: Thanks to some bpf tracing by strager, we traced the ESTALE response to `d_splice_alias` and noted this comment above the implementation in the kernel: > If a non-IS_ROOT directory is found, the filesystem is corrupt, and > we should error out: directories can't have multiple aliases. Well, our magic `.eden` directory is a directory with aliases and we were seeing the error trigger on that dir. So, this diff replaces hardlinking directories into each tree with a hardlink to a symlink in each tree! At mount time we create `.eden/this-dir` as a symlink to `/abs/path/to/mount/.eden` so that `readlink("/abs/path/to/mount/sub/dir/.eden/socket")` still resolves as it did prior to this diff. Reviewed By: strager Differential Revision: D12954819 fbshipit-source-id: 7f3b1b53f2bd5b9c51e64055fc34110657a19110 |
||
---|---|---|
.. | ||
types | ||
gen_snapshot.py | ||
snapshot.py | ||
test_snapshots.py | ||
verify.py |