madfs · research · also metadata embedded filesystem, per-file virtualization

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.

Related Observatory article: MadFS on hesela.com

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

  1. Zhong et al. MadFS: Per-File Virtualization for Userspace Persistent Memory Filesystems. FAST 2023, pp. 265-280, sections 3-5. (accessed 2026-11-14)
  2. MadFS authors. File::fsync at revision 7514a7816d39b95c9f34555a13c50173c4fa2b32, src/file/sync.cpp. (accessed 2026-11-14)
  3. MadFS authors. File::mmap at revision 7514a7816d39b95c9f34555a13c50173c4fa2b32, src/file/mmap.cpp. (accessed 2026-11-14)

Further reading

  1. Hesela. MadFS: move the block map, keep the permission boundary. (accessed 2026-11-14)
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.

JSON: /data/terms/madfs.json

Published by Hesela team · Updated

Report a correction · Editorial standards · Reuse guidance

Cite this page
Hesela team. MadFS. Hesela. 2026-11-14. https://hesela.dev/terms/madfs/