ctFS
ctFS is a research persistent-memory file system that places each file in a contiguous virtual address range and uses hardware address translation for access.
Physical pages need not be contiguous. Persistent page tables preserve mappings; ordinary DRAM page tables supply the hardware MMU. Growing a file can exchange mappings instead of copying its existing payload. [2]
The paper separates sync-mode persistence from strict-mode atomic data writes. Staging and pswap provide the latter; unaligned boundary fragments still need copying. This is an operation-level contract, not a transaction spanning arbitrary calls. [1]
At revision 664a8b7, ctfs_config.h comments out CTFS_ATOMIC_WRITE. The ctfs_pwrite dispatcher selects its atomic path only when that macro is defined. Record the effective build configuration before attributing strict-mode guarantees to a binary. [3] [4]
The released prototype expects a modified kernel and Optane persistent-memory hardware. It is not an ordinary ext4 mount option. [5]
Relations
- related
- SplitFS
Limitations
- The paper's user-space protection targets accidental bugs, not malicious applications. [1]
Citations
- Li et al. ctFS. USENIX FAST 2022, pp.35-50, sections 3.1-3.6 and 5.
- ctFS 664a8b7: ctfs_config.h, commented atomic-write configuration.
- ctFS 664a8b7: ctfs_pwrite dispatch and atomic-write implementation.
- ctFS 664a8b7: prototype requirements and tested environment.
Sources & caveats
- Primary-source synthesis and pinned-code inspection on 2026-11-14; no ctFS execution, crash injection or performance reproduction.