sapling/eden/fs/takeover/takeover.thrift
Chad Austin 7a686d9c8f don't pass next inode number through thrift
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
2018-08-23 22:55:21 -07:00

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,
}