mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 08:47:12 +03:00
c79ff7602a
Summary: In an NFS mount, the InodeNumber are sent to the client as the unique identifier for a file. For caching purposes, the client will issue a GETATTR call on that InodeNumber prior to opening it, to see if the file changed and thus whether its cache needs to be invalidated. In EdenFS, the checkout process does unfortunately replace file inodes entirely, causing new InodeNumber to be created, and thus after an update, an NFS client would not realize that the content changed, and would thus return the old content to the application. To solve this, we could approach it in 2 different ways: - Build a different kind of handle to hand over to the NFS client - Keep InodeNumber constant during checkout. After trying the first option, it became clear that this would effectively need to duplicate a lot of functionality from the InodeMap, but with added memory consumption. This diff attempts to do the second one. Reviewed By: chadaustin Differential Revision: D28132721 fbshipit-source-id: 94d470e33174bb9ffd7db00e1b37924096aac8e9 |
||
---|---|---|
.. | ||
fs | ||
hg-server | ||
integration | ||
locale | ||
mononoke | ||
scm | ||
test_support | ||
test-data | ||
.gitignore | ||
Eden.project.toml |