sapling/eden
Wez Furlong 530346887d split EdenMount::{create,initialize} -> safer takeover mounting
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
2018-01-10 13:13:50 -08:00
..
cli enable python typechecking from buck 2018-01-08 12:10:19 -08:00
docs add an overview doc for our threading strategy 2017-12-12 12:51:23 -08:00
facebook Migrate TARGETS files from @/ to // 2017-12-20 16:57:41 -08:00
fs split EdenMount::{create,initialize} -> safer takeover mounting 2018-01-10 13:13:50 -08:00
hooks Migrate TARGETS files from @/ to // 2017-12-20 16:57:41 -08:00
integration open file handles now survive graceful restart 2018-01-09 22:23:11 -08:00
py support reading the old .hg/dirstate format 2017-11-07 14:17:37 -08:00
scripts add a script to force unmounting all edenfs mounts 2017-11-15 11:48:38 -08:00
third-party remove dep on libfuse 2018-01-02 16:36:16 -08:00
AUTODEPS Set up arc lint to run autodeps automatically for Eden. 2017-11-21 18:23:41 -08:00
DEFS Migrate TARGETS files from @/ to // 2017-12-20 16:57:41 -08:00