mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 16:57:49 +03:00
ad5402810a
Summary: At mount time, EdenFS will try to create the .eden/config file which will indicate to the client that this is an EdenFS repo, this config also contains the location of the socket to talk to EdenFS. On unices, and while the .eden directory is slightly different, the content of this directory is written onto the overlay, but on Windows, the overlay is the repository itself. What this means is that creating this config file will end up triggering a ProjFS callback, which can potentially lead to deadlocks if we're not careful. A future change will simply prevent these recursive callbacks from happening and thus a solution needs to be found for the .eden/config file itself. Since the file itself is tiny (about 400B), and should only be accessed once[0], the simple approach to keep it in memory and special case it works perfectly. [0]: Once a file was read fully by ProjFS, it's present in the overlay and EdenFS will no longer be requested to provide it. Reviewed By: chadaustin Differential Revision: D22310734 fbshipit-source-id: 6b2dba2164496ebd251104d7875b51569be2471f |
||
---|---|---|
.. | ||
DirList.cpp | ||
DirList.h |