sapling/eden/fs/utils
Xavier Deguillard 24cecc95fb paths: in debug/sanitized builds pessimize moves to copies
Summary:
In D37422971 (3d9636fe8c), it was shown that moving a path will invalidate the pieces on the
moved path. Unfortunately, this can only be observed when the path is short
enough to fit in the SSO of std::string. To force this to be true even without
SSO, we can pessimize moves into copies and leverage the use of ASAN to tell us
if the code is misbehaving.

Reviewed By: kmancini

Differential Revision: D37705144

fbshipit-source-id: a4446632b0e5d3b422226e85c324059c5b8cf379
2022-07-27 13:38:40 -07:00
..
test paths: in debug/sanitized builds pessimize moves to copies 2022-07-27 13:38:40 -07:00
BucketedLog.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
BufVec.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
Bug.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
Bug.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
CaseSensitivity.h fs: fix license header 2022-01-04 15:00:07 -08:00
ChronoParse.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
ChronoParse.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
ChronoUnit.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
ChronoUnit.gperf fs: fix license header 2022-01-04 15:00:07 -08:00
ChronoUnit.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
Clock.cpp remove some conditional includes 2022-07-19 12:37:57 -07:00
Clock.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
CMakeLists.txt move handle 2022-04-04 11:37:38 -07:00
CoverageSet.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
CoverageSet.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
DirType.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
DirType.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
EdenError.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
EdenError.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
EdenTaskQueue.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
EdenTaskQueue.h fs: fix license header 2022-01-04 15:00:07 -08:00
EnumValue.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
FaultInjector.cpp Add process kill fault to FaultInjector 2022-07-13 20:08:12 -07:00
FaultInjector.h Add process kill fault to FaultInjector 2022-07-13 20:08:12 -07:00
FileDescriptor.cpp unistd: replace with Folly's portability header 2022-06-17 09:52:56 -07:00
FileDescriptor.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
FileHash.cpp openssl: use Folly's portability header instead 2022-06-17 09:52:56 -07:00
FileHash.h fs: fix license header 2022-01-04 15:00:07 -08:00
FileUtils.cpp move handle 2022-04-04 11:37:38 -07:00
FileUtils.h utils: add a getAllDirectoryEntryNames function 2022-03-23 13:59:52 -07:00
FsChannelTypes.h fs: fix license header 2022-01-04 15:00:07 -08:00
Future.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
FutureUnixSocket.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
FutureUnixSocket.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
Guid.h remove some conditional includes 2022-07-19 12:37:57 -07:00
IDGen.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
IDGen.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
ImmediateFuture-inl.h utils: make move ImmediateFuture conditionally noexcept 2022-07-14 15:11:54 -07:00
ImmediateFuture-pre.h utils: refinement to ImmediateFuture::thenError 2022-07-13 15:31:42 -07:00
ImmediateFuture.h utils: make move ImmediateFuture conditionally noexcept 2022-07-14 15:11:54 -07:00
IoFuture.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
IoFuture.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
LazyInitialize.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
LeaseCache.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
MappedDiskVector.h remove some conditional includes 2022-07-19 12:37:57 -07:00
Memory.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
Memory.h process TreeOverlay functions on BufferedTreeOverlay worker thread 2022-07-25 16:55:43 -07:00
NfsSocket.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
NfsSocket.h fs: fix license header 2022-01-04 15:00:07 -08:00
NotImplemented.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
PathFuncs.cpp remove some conditional includes 2022-07-19 12:37:57 -07:00
PathFuncs.h paths: in debug/sanitized builds pessimize moves to copies 2022-07-27 13:38:40 -07:00
PathMap.h pathmap: fix case sensitivity insertion ordering 2022-05-19 18:57:33 -07:00
Pipe.cpp unistd: replace with Folly's portability header 2022-06-17 09:52:56 -07:00
Pipe.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
ProcessAccessLog.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
ProcessAccessLog.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
ProcUtil.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
ProcUtil.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
SortedInsert.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
SpawnedProcess.cpp unistd: replace with Folly's portability header 2022-06-17 09:52:56 -07:00
SpawnedProcess.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
SSLContext.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
SSLContext.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
StaticAssert.h fs: fix license header 2022-01-04 15:00:07 -08:00
StatTimes.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
SystemError.h utils: properly detect ENOENT on Windows 2022-06-16 15:57:28 -07:00
Thread.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
Thread.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
Throw.h migrate to throw_ and throwf 2022-07-08 13:30:53 -07:00
TimeUtil.cpp Add path information to inode tracing commands 2022-07-19 16:30:46 -07:00
TimeUtil.h Add path information to inode tracing commands 2022-07-19 16:30:46 -07:00
UnboundedQueueExecutor.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
UnboundedQueueExecutor.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
UnixSocket.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
UnixSocket.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
UserInfo.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
UserInfo.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
Utf8.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
Utf8.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
WinStackTrace.cpp windows: teach eden to look for pdb in the binary path 2022-05-03 13:39:24 -07:00
WinStackTrace.h windows: teach eden to look for pdb in the binary path 2022-05-03 13:39:24 -07:00
XAttr.cpp remove some conditional includes 2022-07-19 12:37:57 -07:00
XAttr.h remove some conditional includes 2022-07-19 12:37:57 -07:00