sapling/eden/fs
Xavier Deguillard f4f159537f utils: add a platform independent FileUtils
Summary:
Up to now, Windows had to have its own version of folly::{readFile, writeFile,
writeFileAtomic} as these only operate on `char *` path, which can only
represent ascii paths on Windows. Since the Windows version is slightly
different from folly, this forced the code to either ifdef _WIN32, or use the
folly version pretending that it would be OK. The Windows version was also
behaving slightly differently from folly. For instance, where folly would
return a boolean to indicate success, on Windows we would throw an exception.

To simplify our code, add type safety and unify both, we can implement our own
wrappers on top of either folly or Windows APIs.

We still have some code that uses folly::readFile but these should only be
dealing with filedescriptors. As a following step, we may want to have our own
File class that wraps a file descriptor/HANDLE so we can completely remove all
uses of folly::readFile.

Reviewed By: wez

Differential Revision: D23037325

fbshipit-source-id: 2b9a026f3ee6220ef55097abe649b23e38d9fe91
2020-08-14 18:56:33 -07:00
..
benchharness add 4k random writes benchmark 2020-07-14 16:13:37 -07:00
benchmarks add 4k random writes benchmark 2020-07-14 16:13:37 -07:00
cli add unique return code for unhealthy instance before restart 2020-08-13 09:44:11 -07:00
config utils: add a platform independent FileUtils 2020-08-14 18:56:33 -07:00
docs Some minor modifications to verbiage in documentation 2020-07-06 22:20:17 -07:00
fuse eden: macos: avoid UB with shared_errno 2020-08-05 19:58:03 -07:00
inodes utils: add a platform independent FileUtils 2020-08-14 18:56:33 -07:00
journal Migrate to field_ref Thrift API 2020-07-28 14:32:44 -07:00
model model: report symlink/executable as regular files on Windows 2020-05-12 08:46:35 -07:00
monitor enable log rotation in edenfs_monitor 2020-05-07 20:05:46 -07:00
notifications eden: show desktop notification for blob/tree fetch errors 2020-02-10 08:28:49 -08:00
py thrift: do not test for socket before connecting to it 2020-07-22 15:37:14 -07:00
rocksdb Remove dead includes in eden 2019-10-11 16:45:01 -07:00
service utils: add a platform independent FileUtils 2020-08-14 18:56:33 -07:00
sqlite silence some msvc warnings from sqlite.{h,cpp} 2020-04-26 21:14:24 -07:00
store use Eden native import in prefetchBlobs 2020-08-13 21:09:09 -07:00
takeover Migrate to field_ref Thrift API 2020-07-21 11:23:35 -07:00
telemetry store: plumb CMD_CAT_TREE 2020-08-12 08:17:25 -07:00
testharness utils: add a platform independent FileUtils 2020-08-14 18:56:33 -07:00
third-party eden: support NO_OPEN support on macOS 2020-07-27 17:53:03 -07:00
utils utils: add a platform independent FileUtils 2020-08-14 18:56:33 -07:00
win utils: add a platform independent FileUtils 2020-08-14 18:56:33 -07:00
CMakeLists.txt revert: Run Eden as a Windows service 2020-05-28 09:01:03 -07:00