Skip to content

Define LLVMCAS supported OS/filesystem formats #165329

@cachemeifyoucan

Description

@cachemeifyoucan

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.

Metadata

Metadata

Labels

llvm:CASLLVM Content Addressable Library

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions