MadFS
MadFS is a research library filesystem that embeds file-local metadata inside regular DAX-backed files to coordinate copy-on-write updates in userspace.
The kernel still controls permissions and directory operations; MadFS manages the embedded block map and virtual file size. Its log-based optimistic concurrency protocol publishes writes across processes without a central lease service. [1]
Visibility and durability have different completion points. The FAST 2023 implementation batches log-cacheline writeback; fsync persists the outstanding tail. Its mmap path has no crash-consistency guarantee. These limits must not be replaced by a claim that every returned write or mapped store is durable. [1] [2] [3]
The compact log is replayed into a DRAM block table on open. Removing a separate recovery phase therefore does not eliminate reconstruction work; the authors flag frequent file opens as a poor fit. [1]
Relations
- related
- Persistent memory, Direct Access, Kuco
Citations
- Zhong et al. MadFS: Per-File Virtualization for Userspace Persistent Memory Filesystems. FAST 2023, pp. 265-280, sections 3-5.
- MadFS authors. File::fsync at revision 7514a7816d39b95c9f34555a13c50173c4fa2b32, src/file/sync.cpp.
- MadFS authors. File::mmap at revision 7514a7816d39b95c9f34555a13c50173c4fa2b32, src/file/mmap.cpp.
Further reading
Sources & caveats
- Primary-paper and pinned-source synthesis. No MadFS runtime, hardware benchmark or power-loss experiment was performed. The 2023 evaluation and later source snapshot are distinct evidence.