sapling/eden/fs/inodes
Saul Gutierrez c5d227f70a symlinks: add additional gating for TreeEntry:: getDType
Summary:
Some tools seem to query EdenFS directly about the type of certain files. If queried directly, EdenFS might answer that some files are symlinks regardless of whether symlink support for Windows is enabled or not. This adds some additional gating to make sure that EdenFS only answers that files are symlinks if symlink support is enabled for a checkout.

Split between this diff and D47829752 for clarity

Reviewed By: xavierd

Differential Revision: D47326227

fbshipit-source-id: 6e60b3d434ba45dd529286436526350ee0ac9dcf
2023-07-28 16:05:05 -07:00
..
fscatalog Refactored InodeCatalogType out of Overlay to facebook::eden 2023-07-22 01:16:07 -07:00
memcatalog Integrated MemInodeCatalog with WindowsFsck 2023-07-22 01:16:07 -07:00
overlay Update serde from 1.0.167 to 1.0.176 2023-07-26 21:23:58 -07:00
sqlitecatalog symlinks: add additional gating for TreeEntry:: getDType 2023-07-28 16:05:05 -07:00
test symlinks: add additional gating for TreeEntry:: getDType 2023-07-28 16:05:05 -07:00
CacheHint.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
CheckoutAction.cpp symlinks: add additional gating for TreeEntry::getType 2023-07-28 16:05:05 -07:00
CheckoutAction.h migrate constructions of folly::exception_wrapper 2022-10-12 12:01:08 -07:00
CheckoutContext.cpp symlinks: add gating for TreeEntry:: getType and TreeEntry:: getDtype 2023-07-14 08:42:03 -07:00
CheckoutContext.h symlinks: add gating for TreeEntry:: getType and TreeEntry:: getDtype 2023-07-14 08:42:03 -07:00
CMakeLists.txt Define In-memory InodeCatalog 2023-07-22 01:16:07 -07:00
DeferredDiffEntry.cpp symlinks: add additional gating for TreeEntry:: getDType 2023-07-28 16:05:05 -07:00
DeferredDiffEntry.h inodes: make DeferredDiffEntry use ImmediatureFuture 2022-07-13 19:30:34 -07:00
DirEntry.cpp Rewrite removeRecursively to fast remove unloaded children if possible (try #3) 2022-06-16 16:06:54 -07:00
DirEntry.h avoid a copy in DirEntry::getHash 2022-08-31 14:57:46 -07:00
EdenDispatcherFactory.cpp allow mounting nfs mount 2023-04-06 13:00:32 -07:00
EdenDispatcherFactory.h allow mounting nfs mount 2023-04-06 13:00:32 -07:00
EdenMount.cpp symlinks: add additional gating for TreeEntry:: getDType 2023-07-28 16:05:05 -07:00
EdenMount.h Refactored InodeCatalogType out of Overlay to facebook::eden 2023-07-22 01:16:07 -07:00
EdenMountError.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
EdenMountHandle.cpp move EdenMountHandle into its own sources 2023-05-18 09:44:50 -07:00
EdenMountHandle.h move EdenMountHandle into its own sources 2023-05-18 09:44:50 -07:00
FileInode.cpp stop reading a blob's ID from the blob itself 2023-07-24 16:29:25 -07:00
FileInode.h stop reading a blob's ID from the blob itself 2023-07-24 16:29:25 -07:00
FsChannel.h move unmount into FsChannel 2023-07-21 16:31:39 -07:00
FuseDispatcherImpl.cpp DirList -> {Fuse,Nfs}DirList 2023-04-05 16:35:43 -07:00
FuseDispatcherImpl.h decouple ObjectFetchContext lifetime from RequestContext 2022-11-15 13:35:45 -08:00
GlobNode.cpp clang-tidy advice 2023-07-13 16:30:55 -07:00
GlobNode.h inodes: remove an implicit lifetime of ObjectStore 2023-05-15 15:34:14 -07:00
IFileContentStore.h add --force option to eden_fsck C++ binary 2023-04-10 15:32:12 -07:00
InodeBase.cpp rewrite readdir prefetching logic 2023-01-04 19:17:36 -08:00
InodeBase.h Remove outdated comment about rename lock being missing 2023-07-19 21:28:13 -07:00
InodeCatalog.h Integrated MemInodeCatalog with WindowsFsck 2023-07-22 01:16:07 -07:00
InodeCatalogType.cpp Updated overlay benchmark to measure new MemInodeCatalog 2023-07-22 01:16:07 -07:00
InodeCatalogType.h Updated overlay benchmark to measure new MemInodeCatalog 2023-07-22 01:16:07 -07:00
InodeError.cpp clang-tidy advice 2023-07-13 16:30:55 -07:00
InodeError.h remove folly::Format PathError 2022-08-02 11:44:19 -07:00
InodeMap.cpp add an InodeBase::getObjectId accessor 2023-05-16 18:13:53 -07:00
InodeMap.h enable NFS detection earlier 2023-04-18 17:50:02 -07:00
InodeMetadata.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
InodeMetadata.h remove a conditional include 2023-05-18 09:44:50 -07:00
InodeNumber.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
InodeNumber.h fix the custom PathFuncs and ObjectId formatters 2022-10-04 21:42:44 -07:00
InodePtr-defs.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
InodePtr.cpp move function definitions for InodePtr takeOwnership to c++ file 2022-11-29 12:39:58 -08:00
InodePtr.h move function definitions for InodePtr takeOwnership to c++ file 2022-11-29 12:39:58 -08:00
InodePtrFwd.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
InodeTable.h fix linux gcc build 2023-02-01 16:14:11 -08:00
InodeTimestamps.cpp prjfs: set the timestamps when adding placeholders 2023-04-19 11:36:52 -07:00
InodeTimestamps.h prjfs: set the timestamps when adding placeholders 2023-04-19 11:36:52 -07:00
NfsDispatcherImpl.cpp replace off_t file offsets with a new FileOffset type compatible with Windows 2023-07-14 16:23:19 -07:00
NfsDispatcherImpl.h replace off_t file offsets with a new FileOffset type compatible with Windows 2023-07-14 16:23:19 -07:00
Overlay.cpp symlinks: add additional gating for TreeEntry:: getDType 2023-07-28 16:05:05 -07:00
Overlay.h symlinks: add additional gating for TreeEntry:: getDType 2023-07-28 16:05:05 -07:00
OverlayFile.cpp replace off_t file offsets with a new FileOffset type compatible with Windows 2023-07-14 16:23:19 -07:00
OverlayFile.h replace off_t file offsets with a new FileOffset type compatible with Windows 2023-07-14 16:23:19 -07:00
OverlayFileAccess.cpp replace off_t file offsets with a new FileOffset type compatible with Windows 2023-07-14 16:23:19 -07:00
OverlayFileAccess.h replace off_t file offsets with a new FileOffset type compatible with Windows 2023-07-14 16:23:19 -07:00
ParentInodeInfo.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
PathError.cpp Add new PathError to mimic InodeError's behavior with a raw path 2022-04-12 16:50:22 -07:00
PathError.h introduce an asString() on Path and PathPiece 2022-11-11 18:46:15 -08:00
PrjfsDispatcherImpl.cpp symlinks: make PrjFS handle symlink notifications properly 2023-07-19 15:47:02 -07:00
PrjfsDispatcherImpl.h symlinks: make symlinks appear on Windows on checkout 2023-07-14 08:42:03 -07:00
RequestContext.cpp migrate ObjectFetchContext to ProcessId 2023-07-13 09:43:19 -07:00
RequestContext.h migrate ObjectFetchContext to ProcessId 2023-07-13 09:43:19 -07:00
ServerState.cpp let Nfsd3 unmount itself 2023-07-12 13:55:55 -07:00
ServerState.h remove some unnecessary includes from ServerState.h 2023-05-11 18:29:21 -07:00
Traverse.cpp inodes: fix infinite loop in traverseTreeInodeChildren 2022-03-10 15:32:32 -08:00
Traverse.h fix some laziness in the include structure 2022-03-03 12:11:31 -08:00
TreeInode.cpp symlinks: add additional gating for TreeEntry:: getDType 2023-07-28 16:05:05 -07:00
TreeInode.h replace off_t file offsets with a new FileOffset type compatible with Windows 2023-07-14 16:23:19 -07:00
TreePrefetchLease.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
TreePrefetchLease.h migrate ObjectFetchContext to ProcessId 2023-07-13 09:43:19 -07:00
UnmaterializedBlobDirEntry.h remove some unnecessary includes from VirtualInode.h 2023-05-09 15:29:04 -07:00
UnmaterializedUnloadedBlobDirEntry.h minor VirtualInode refactoring 2023-05-11 11:10:01 -07:00
VirtualInode.cpp symlinks: add additional gating for TreeEntry:: getDType 2023-07-28 16:05:05 -07:00
VirtualInode.h symlinks: add additional gating for TreeEntry::getType 2023-07-28 16:05:05 -07:00
VirtualInodeLoader.h inodes: remove an implicit lifetime of ObjectStore 2023-05-15 15:34:14 -07:00