-
Notifications
You must be signed in to change notification settings - Fork 15.3k
Description
Need to defined a set of support (or unsupported) file system / OS for default on-disk LLVMCAS implementation.
LLVMCAS implementation should support most physical file systems on Unix (POSIX + flock) and Windows. Some extended tests for correctness has been done on:
- macOS + APFS
- Linux + ext4
It is known to be not working on NFS and if the file system doesn't support sparse files, a large disk space is required to be committed upfront to use the CAS.
While LLVMCAS's ondisk CAS implementation is mostly POSIX, it pushes its boundaries and bugs in OS/filesystems can be exposed to cause data corruption and data loss. Also different FS implementation and present difference performance characteristics, and might cause unusable perf issues.
There is a CAS stress tester (available downstream, to be upstreamed soon) that can be used to test for correctness, but we might need to have other tools/rules to define if the CAS library is usable on the OS/filesystem combination.