sapling/eden/fs/fuse/TARGETS
Wez Furlong 9f07485239 add code to serialize FileHandleMap
Summary:
The serialized data for each file handle needs to be enough
to re-construct the handle when we load it into a new process later
on.  We need the inode number, the file handle number that we communicated
to the kernel and a flag to let us know whether it is a file or a dir.

Note that the file handle allocation strategy already accomodates the
idea of migrating to a new process; we don't need to serialize anything
like a next file handle id number.

This doesn't implement instantiating the handles from the loaded state,
it is just the plumbing for saving and loading that state information.

Reviewed By: bolinfest

Differential Revision: D5733079

fbshipit-source-id: 8fb8afb8ae9694d013ce7a4a82c31bc876ed33c9
2017-08-30 19:20:23 -07:00

47 lines
1.1 KiB
Plaintext

include_defs("//eden/DEFS")
stats_deps = ["@/common/stats:threadlocal"] if is_facebook_internal() else []
thrift_library(
name = "handlemap",
languages = [
"cpp2",
],
thrift_args = ["--strict"],
thrift_srcs = {
"handlemap.thrift": [],
},
)
cpp_library(
name = "fusell",
srcs = glob(["*.cpp"]),
headers = glob(["*.h"]),
deps = stats_deps + [
":handlemap-cpp2",
"@/eden/fs/fuse/privhelper:privhelper",
"@/eden/fs/utils:utils",
"@/folly:array",
"@/folly:exception",
"@/folly:fbvector",
"@/folly:file",
"@/folly:format",
"@/folly:move_wrapper",
"@/folly:portability",
"@/folly:random",
"@/folly:range",
"@/folly:string",
"@/folly:synchronized",
"@/folly:thread_local",
"@/folly/experimental/logging:logging",
"@/folly/futures:core",
"@/folly/io:iobuf",
"@/folly/io/async:request_context",
"@/folly/stats:timeseries_histogram",
"@/wangle:wangle",
],
external_deps = [
("fuse", None, "fuse"),
],
)