mirror of
https://github.com/facebook/sapling.git
synced 2024-10-08 07:49:11 +03:00
7a686d9c8f
Summary: The desired end state for how next inode number gets passed across takeover. This should not land as is - the prior diffs need to land and wait for a while until everyone transitions. Reviewed By: simpkins Differential Revision: D8195550 fbshipit-source-id: 2fc40f881cc1a331df95ef99f7e9e4f2e69c8643
44 lines
1.2 KiB
Thrift
44 lines
1.2 KiB
Thrift
include "eden/fs/fuse/handlemap.thrift"
|
|
namespace cpp2 facebook.eden
|
|
|
|
// A list of takeover data serialization versions that the client supports
|
|
struct TakeoverVersionQuery {
|
|
// The set of versions supported by the client
|
|
1: set<i32> versions,
|
|
}
|
|
|
|
struct SerializedInodeMapEntry {
|
|
1: i64 inodeNumber,
|
|
2: i64 parentInode,
|
|
3: string name,
|
|
4: bool isUnlinked,
|
|
5: i64 numFuseReferences,
|
|
6: string hash,
|
|
7: i32 mode,
|
|
}
|
|
|
|
struct SerializedInodeMap {
|
|
2: list<SerializedInodeMapEntry> unloadedInodes,
|
|
}
|
|
|
|
struct SerializedMountInfo {
|
|
1: string mountPath,
|
|
2: string stateDirectory,
|
|
3: list<string> bindMountPaths,
|
|
// This binary blob is really a fuse_init_out instance.
|
|
// We don't transcribe that into thrift because the layout
|
|
// is system dependent and happens to be flat and thus is
|
|
// suitable for reinterpret_cast to be used upon it to
|
|
// access the struct once we've moved it across the process
|
|
// boundary. Note that takeover is always local to the same
|
|
// machine and thus has the same endianness.
|
|
4: binary connInfo, // fuse_init_out
|
|
5: handlemap.SerializedFileHandleMap fileHandleMap,
|
|
6: SerializedInodeMap inodeMap,
|
|
}
|
|
|
|
union SerializedTakeoverData {
|
|
1: list<SerializedMountInfo> mounts,
|
|
2: string errorReason,
|
|
}
|