diff --git a/eden/fs/CMakeLists.txt b/eden/fs/CMakeLists.txt index d2a8eeea7d..47f3a2ceb9 100644 --- a/eden/fs/CMakeLists.txt +++ b/eden/fs/CMakeLists.txt @@ -65,8 +65,4 @@ add_subdirectory(py) add_subdirectory(cli) add_subdirectory(notifications) add_subdirectory(takeover) - -# Platform specific code -if (WIN32) - add_subdirectory(win) -endif() +add_subdirectory(prjfs) diff --git a/eden/fs/inodes/CMakeLists.txt b/eden/fs/inodes/CMakeLists.txt index fdf5819028..ae0a81cc37 100644 --- a/eden/fs/inodes/CMakeLists.txt +++ b/eden/fs/inodes/CMakeLists.txt @@ -44,7 +44,7 @@ if (WIN32) target_link_libraries( eden_inodes PUBLIC - eden_win + eden_prjfs ) else() target_link_libraries( diff --git a/eden/fs/inodes/EdenMount.cpp b/eden/fs/inodes/EdenMount.cpp index a8f820f4f2..3230b35cd3 100644 --- a/eden/fs/inodes/EdenMount.cpp +++ b/eden/fs/inodes/EdenMount.cpp @@ -50,8 +50,8 @@ #include "eden/fs/utils/UnboundedQueueExecutor.h" #ifdef _WIN32 -#include "eden/fs/win/mount/EdenDispatcher.h" // @manual -#include "eden/fs/win/mount/PrjfsChannel.h" // @manual +#include "eden/fs/prjfs/EdenDispatcher.h" // @manual +#include "eden/fs/prjfs/PrjfsChannel.h" // @manual #else #include #include "eden/fs/fuse/FuseChannel.h" diff --git a/eden/fs/inodes/EdenMount.h b/eden/fs/inodes/EdenMount.h index 7afd8c519d..fc66097a6d 100644 --- a/eden/fs/inodes/EdenMount.h +++ b/eden/fs/inodes/EdenMount.h @@ -37,7 +37,7 @@ #include "eden/fs/fuse/FuseChannel.h" #include "eden/fs/inodes/OverlayFileAccess.h" #else -#include "eden/fs/win/mount/FsChannel.h" // @manual +#include "eden/fs/prjfs/FsChannel.h" // @manual #endif DECLARE_string(edenfsctlPath); diff --git a/eden/fs/inodes/TreeInode.cpp b/eden/fs/inodes/TreeInode.cpp index bc7e47208b..8e1d8aa91e 100644 --- a/eden/fs/inodes/TreeInode.cpp +++ b/eden/fs/inodes/TreeInode.cpp @@ -45,7 +45,7 @@ #include "eden/fs/utils/UnboundedQueueExecutor.h" #ifdef _WIN32 -#include "eden/fs/win/mount/Enumerator.h" // @manual +#include "eden/fs/prjfs/Enumerator.h" // @manual #else #include #include "eden/fs/fuse/DirList.h" diff --git a/eden/fs/inodes/test/TreeInodeTest.cpp b/eden/fs/inodes/test/TreeInodeTest.cpp index 28f07cf016..97e479f391 100644 --- a/eden/fs/inodes/test/TreeInodeTest.cpp +++ b/eden/fs/inodes/test/TreeInodeTest.cpp @@ -14,7 +14,7 @@ #include #include #ifdef _WIN32 -#include "eden/fs/win/mount/Enumerator.h" // @manual +#include "eden/fs/prjfs/Enumerator.h" // @manual #else #include "eden/fs/fuse/DirList.h" #endif // _WIN32 diff --git a/eden/fs/prjfs/CMakeLists.txt b/eden/fs/prjfs/CMakeLists.txt new file mode 100644 index 0000000000..9dc4654f3c --- /dev/null +++ b/eden/fs/prjfs/CMakeLists.txt @@ -0,0 +1,29 @@ +# Copyright (c) Facebook, Inc. and its affiliates. +# +# This software may be used and distributed according to the terms of the +# GNU General Public License version 2. + +if (WIN32) + file(GLOB PRJFS_SRCS "*.cpp" "*.h") + + add_library( + eden_prjfs STATIC + ${PRJFS_SRCS} + ) + + target_link_libraries( + eden_prjfs + PUBLIC + eden_request_context + eden_inodes + eden_journal + eden_model + eden_store + eden_telemetry + eden_utils + eden_service_thrift_util + Folly::folly + ProjectedFS + cpptoml + ) +endif() diff --git a/eden/fs/win/mount/EdenDispatcher.cpp b/eden/fs/prjfs/EdenDispatcher.cpp similarity index 99% rename from eden/fs/win/mount/EdenDispatcher.cpp rename to eden/fs/prjfs/EdenDispatcher.cpp index 2197f252ec..5f8dc1efb1 100644 --- a/eden/fs/win/mount/EdenDispatcher.cpp +++ b/eden/fs/prjfs/EdenDispatcher.cpp @@ -18,14 +18,14 @@ #include "eden/fs/inodes/InodePtr.h" #include "eden/fs/inodes/ServerState.h" #include "eden/fs/inodes/TreeInode.h" +#include "eden/fs/prjfs/EdenDispatcher.h" +#include "eden/fs/prjfs/PrjfsRequestContext.h" #include "eden/fs/service/EdenError.h" #include "eden/fs/store/ObjectFetchContext.h" #include "eden/fs/utils/Guid.h" #include "eden/fs/utils/StringConv.h" #include "eden/fs/utils/SystemError.h" #include "eden/fs/utils/WinError.h" -#include "eden/fs/win/mount/EdenDispatcher.h" -#include "eden/fs/win/mount/PrjfsRequestContext.h" namespace facebook { namespace eden { diff --git a/eden/fs/win/mount/EdenDispatcher.h b/eden/fs/prjfs/EdenDispatcher.h similarity index 98% rename from eden/fs/win/mount/EdenDispatcher.h rename to eden/fs/prjfs/EdenDispatcher.h index 9cc8c78a5f..5ac4b5025f 100644 --- a/eden/fs/win/mount/EdenDispatcher.h +++ b/eden/fs/prjfs/EdenDispatcher.h @@ -15,8 +15,8 @@ #include #include #include +#include "eden/fs/prjfs/Enumerator.h" #include "eden/fs/utils/Guid.h" -#include "eden/fs/win/mount/Enumerator.h" namespace facebook { namespace eden { diff --git a/eden/fs/win/mount/Enumerator.cpp b/eden/fs/prjfs/Enumerator.cpp similarity index 96% rename from eden/fs/win/mount/Enumerator.cpp rename to eden/fs/prjfs/Enumerator.cpp index c09bf6b1dc..e99a2e4bdf 100644 --- a/eden/fs/win/mount/Enumerator.cpp +++ b/eden/fs/prjfs/Enumerator.cpp @@ -8,7 +8,7 @@ #include "folly/portability/Windows.h" #include -#include "eden/fs/win/mount/Enumerator.h" +#include "eden/fs/prjfs/Enumerator.h" namespace facebook { namespace eden { diff --git a/eden/fs/win/mount/Enumerator.h b/eden/fs/prjfs/Enumerator.h similarity index 100% rename from eden/fs/win/mount/Enumerator.h rename to eden/fs/prjfs/Enumerator.h diff --git a/eden/fs/win/mount/FsChannel.h b/eden/fs/prjfs/FsChannel.h similarity index 95% rename from eden/fs/win/mount/FsChannel.h rename to eden/fs/prjfs/FsChannel.h index 0cb9b31cef..4533a59470 100644 --- a/eden/fs/win/mount/FsChannel.h +++ b/eden/fs/prjfs/FsChannel.h @@ -8,6 +8,7 @@ #pragma once #include +#include "eden/fs/utils/PathFuncs.h" namespace facebook { namespace eden { diff --git a/eden/fs/win/mount/PrjfsChannel.cpp b/eden/fs/prjfs/PrjfsChannel.cpp similarity index 99% rename from eden/fs/win/mount/PrjfsChannel.cpp rename to eden/fs/prjfs/PrjfsChannel.cpp index c3bdd196b8..6cb8932a06 100644 --- a/eden/fs/win/mount/PrjfsChannel.cpp +++ b/eden/fs/prjfs/PrjfsChannel.cpp @@ -5,15 +5,15 @@ * GNU General Public License version 2. */ -#include "eden/fs/win/mount/PrjfsChannel.h" +#include "eden/fs/prjfs/PrjfsChannel.h" #include #include "eden/fs/inodes/EdenMount.h" +#include "eden/fs/prjfs/EdenDispatcher.h" +#include "eden/fs/prjfs/PrjfsRequestContext.h" #include "eden/fs/utils/Guid.h" #include "eden/fs/utils/NotImplemented.h" #include "eden/fs/utils/PathFuncs.h" #include "eden/fs/utils/WinError.h" -#include "eden/fs/win/mount/EdenDispatcher.h" -#include "eden/fs/win/mount/PrjfsRequestContext.h" using folly::sformat; diff --git a/eden/fs/win/mount/PrjfsChannel.h b/eden/fs/prjfs/PrjfsChannel.h similarity index 98% rename from eden/fs/win/mount/PrjfsChannel.h rename to eden/fs/prjfs/PrjfsChannel.h index 62332e4cb6..c3b1d750e3 100644 --- a/eden/fs/win/mount/PrjfsChannel.h +++ b/eden/fs/prjfs/PrjfsChannel.h @@ -10,10 +10,10 @@ #include "folly/portability/Windows.h" #include +#include "eden/fs/prjfs/FsChannel.h" #include "eden/fs/utils/Guid.h" #include "eden/fs/utils/PathFuncs.h" #include "eden/fs/utils/ProcessAccessLog.h" -#include "eden/fs/win/mount/FsChannel.h" namespace facebook { namespace eden { diff --git a/eden/fs/win/mount/PrjfsRequestContext.h b/eden/fs/prjfs/PrjfsRequestContext.h similarity index 97% rename from eden/fs/win/mount/PrjfsRequestContext.h rename to eden/fs/prjfs/PrjfsRequestContext.h index fa5044ca18..cb3daa7f1d 100644 --- a/eden/fs/win/mount/PrjfsRequestContext.h +++ b/eden/fs/prjfs/PrjfsRequestContext.h @@ -9,8 +9,8 @@ #include #include "eden/fs/inodes/RequestContext.h" +#include "eden/fs/prjfs/PrjfsChannel.h" #include "eden/fs/utils/PathFuncs.h" -#include "eden/fs/win/mount/PrjfsChannel.h" namespace facebook::eden { diff --git a/eden/fs/service/EdenServer.cpp b/eden/fs/service/EdenServer.cpp index 11fe94a2ed..8c993a7036 100644 --- a/eden/fs/service/EdenServer.cpp +++ b/eden/fs/service/EdenServer.cpp @@ -67,9 +67,7 @@ #include "eden/fs/utils/ProcessNameCache.h" #include "eden/fs/utils/UserInfo.h" -#ifdef _WIN32 -#include "eden/fs/win/mount/PrjfsChannel.h" // @manual -#else +#ifndef _WIN32 #include "eden/fs/fuse/FuseChannel.h" #include "eden/fs/inodes/EdenDispatcher.h" #include "eden/fs/inodes/Overlay.h" diff --git a/eden/fs/win/CMakeLists.txt b/eden/fs/win/CMakeLists.txt deleted file mode 100644 index 1a6c0dc0f8..0000000000 --- a/eden/fs/win/CMakeLists.txt +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. -# -# This software may be used and distributed according to the terms of the -# GNU General Public License version 2. - -file(GLOB CONFIG_SRCS "mount/*.cpp" "mount/*.h") -add_library( - eden_win STATIC - ${CONFIG_SRCS} -) -target_link_libraries( - eden_win - PUBLIC - eden_request_context - eden_inodes - eden_journal - eden_model - eden_store - eden_telemetry - eden_utils - eden_service_thrift_util - Folly::folly - ProjectedFS - cpptoml -)