make "FuseType" generic

Summary:
Takeover data needs to include fuse data for fuse
mounts and NFS data for NFS mounts.

Fuse related data is already wrapped up in
FuseChannelData. we are making an NfsChannelData to
mirror this for NFS. These structs will be used in
TakeoverData in a later commit.

Reviewed By: xavierd

Differential Revision: D31740475

fbshipit-source-id: f64367a5881175b9e20d261e43ec7570c498f380
This commit is contained in:
Katie Mancini 2021-11-01 11:46:18 -07:00 committed by Facebook GitHub Bot
parent db63f57f50
commit 3f9520cbcd
9 changed files with 19 additions and 17 deletions

View File

@ -9,8 +9,8 @@
#include "eden/fs/fuse/DirList.h"
#include "eden/fs/fuse/FuseTypes.h"
#include "eden/fs/inodes/InodeNumber.h"
#include "eden/fs/utils/FsChannelTypes.h"
using folly::StringPiece;

View File

@ -26,11 +26,11 @@
#include <vector>
#include "eden/fs/fuse/FuseDispatcher.h"
#include "eden/fs/fuse/FuseTypes.h"
#include "eden/fs/inodes/InodeNumber.h"
#include "eden/fs/telemetry/RequestMetricsScope.h"
#include "eden/fs/telemetry/TraceBus.h"
#include "eden/fs/utils/CaseSensitivity.h"
#include "eden/fs/utils/FsChannelTypes.h"
#include "eden/fs/utils/PathFuncs.h"
#include "eden/fs/utils/ProcessAccessLog.h"

View File

@ -10,10 +10,10 @@
#include <folly/Portability.h>
#include <folly/Range.h>
#include <sys/statvfs.h>
#include "eden/fs/fuse/FuseTypes.h"
#include "eden/fs/inodes/InodeNumber.h"
#include "eden/fs/store/IObjectStore.h"
#include "eden/fs/utils/BufVec.h"
#include "eden/fs/utils/FsChannelTypes.h"
#include "eden/fs/utils/ImmediateFuture.h"
#include "eden/fs/utils/PathFuncs.h"

View File

@ -12,12 +12,12 @@
#include <utility>
#include "eden/fs/fuse/FuseChannel.h"
#include "eden/fs/fuse/FuseTypes.h"
#include "eden/fs/inodes/RequestContext.h"
#include "eden/fs/store/ImportPriority.h"
#include "eden/fs/store/ObjectFetchContext.h"
#include "eden/fs/telemetry/EdenStats.h"
#include "eden/fs/telemetry/RequestMetricsScope.h"
#include "eden/fs/utils/FsChannelTypes.h"
namespace facebook::eden {

View File

@ -7,7 +7,7 @@
#pragma once
#include <memory>
#include "eden/fs/fuse/FuseTypes.h"
#include "eden/fs/utils/FsChannelTypes.h"
namespace facebook::eden {

View File

@ -8,7 +8,7 @@
#ifndef _WIN32
#include "eden/fs/inodes/InodeMetadata.h"
#include "eden/fs/fuse/FuseTypes.h"
#include "eden/fs/utils/FsChannelTypes.h"
namespace facebook {
namespace eden {

View File

@ -14,12 +14,9 @@
#include <vector>
#include "eden/fs/takeover/gen-cpp2/takeover_types.h"
#include "eden/fs/utils/FsChannelTypes.h"
#include "eden/fs/utils/PathFuncs.h"
#ifndef _WIN32
#include "eden/fs/fuse/FuseTypes.h"
#endif
namespace folly {
class IOBuf;
class exception_wrapper;

View File

@ -12,7 +12,7 @@
#include <chrono>
#include <vector>
#include "eden/fs/fuse/FuseTypes.h"
#include "eden/fs/utils/FsChannelTypes.h"
namespace facebook {
namespace eden {

View File

@ -8,24 +8,29 @@
#pragma once
#include <folly/File.h>
#ifdef __linux__
#include "eden/fs/third-party/fuse_kernel_linux.h"
#elif defined(__APPLE__)
#include "eden/fs/third-party/fuse_kernel_osxfuse.h"
#else
#error need a fuse kernel header to be included for your OS!
#include "eden/fs/third-party/fuse_kernel_linux.h" // @manual
#elif __APPLE__
#include "eden/fs/third-party/fuse_kernel_osxfuse.h" // @manual
#endif
namespace facebook::eden {
#ifndef _WIN32
using FuseOpcode = decltype(std::declval<fuse_in_header>().opcode);
#endif
/** Encapsulates the fuse device & connection information for a mount point.
* This is the data that is required to be passed to a new process when
* performing a graceful restart in order to re-establish the FuseChannel.
*/
struct FuseChannelData {
folly::File fd;
#ifndef _WIN32
fuse_init_out connInfo;
#endif
};
struct NfsChannelData {
folly::File nfsdSocketFd;
};
} // namespace facebook::eden