mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 08:47:12 +03:00
530346887d
Summary: Previously, `EdenMount::create` would implicitly call `EdenMount::initialize` which would load the root inode and the `.eden` magical directory. That's fine for the fresh mount case, but in the case of the graceful restart we need to take the opportunity to apply the `InodeMap` from the old process before we start muddying its state. This diff breaks out the `initialize` method from the `create` method and makes the mount code call it after potentially loading the `InodeMap` from the takeover data. In addition, this diff removes the the `root->loadMaterializedChildren()` call from the mount initialization code. It is no longer required to do this eagerly and it makes things simpler and our memory profile a little smaller to defer this (I haven't measured how much that impacts things). Reviewed By: simpkins Differential Revision: D6691182 fbshipit-source-id: 52033a6d64105b658314a919f69dbfcd4eea242b |
||
---|---|---|
.. | ||
test | ||
CheckoutAction.cpp | ||
CheckoutAction.h | ||
CheckoutContext.cpp | ||
CheckoutContext.h | ||
DeferredDiffEntry.cpp | ||
DeferredDiffEntry.h | ||
DiffContext.cpp | ||
DiffContext.h | ||
Differ.cpp | ||
Differ.h | ||
EdenDispatcher.cpp | ||
EdenDispatcher.h | ||
EdenMount.cpp | ||
EdenMount.h | ||
FileHandle.cpp | ||
FileHandle.h | ||
FileInode.cpp | ||
FileInode.h | ||
InodeBase.cpp | ||
InodeBase.h | ||
InodeDiffCallback.h | ||
InodeError.cpp | ||
InodeError.h | ||
InodeMap.cpp | ||
InodeMap.h | ||
InodePtr-defs.h | ||
InodePtr.cpp | ||
InodePtr.h | ||
InodePtrFwd.h | ||
Overlay.cpp | ||
Overlay.h | ||
overlay.thrift | ||
ParentInodeInfo.h | ||
TARGETS | ||
TreeInode.cpp | ||
TreeInode.h | ||
TreeInodeDirHandle.cpp | ||
TreeInodeDirHandle.h |