This is a coordinated patch submission for famfs (Fabric-Attached Memory
File System) across three repositories:
1. Linux kernel dax (cover + 7 patches) - dax fsdev driver + fuse/famfs
integration
2. Linux kernel fs/fuse - famfs support into fuse. Depends on the dax
patches
NOTE: the fuse fuse package (second series) depends on the dax patches
(first series).
This bundle does not contain the user space libfuse and ndctl patches;
those will be sent separately to the respective projects.
Each series is posted as a reply to this cover message, with individual
patches replying to their respective series cover.
Overview
--------
Famfs exposes shared memory as a file system. It consumes shared memory
from dax devices and provides memory-mappable files that map directly to
the memory with no page cache involvement. Famfs differs from conventional
file systems in fs-dax mode in that it handles in-memory metadata in a
sharable way (which begins with never caching dirty shared metadata).
Famfs started as a standalone file system [1,2], but the consensus at
LSFMM 2024 and 2025 [3,4] was that it should be ported into fuse.
The key performance requirement is that famfs must resolve mapping faults
without upcalls. This is achieved by fully caching the file-to-devdax
metadata for all active files via two fuse client/server message/response
pairs: GET_FMAP and GET_DAXDEV.
Patch Series Summary
--------------------
Linux Kernel dax (V8, xx patches): New fsdev driver (drivers/dax/fsdev.c)
providing a devdax mode compatible with fs-dax. Devices can be switched
among 'devdax', 'fsdev' and 'system-ram' modes via daxctl or sysfs.
Linux kernel fuse (V8, xx patches: Famfs integration adding GET_FMAP and
GET_DAXDEV messages for caching file-to-dax mappings in the kernel.
Testing
-------
The famfs user space [5] includes comprehensive smoke and unit tests that
exercise all three components together. The ndctl series includes a
dedicated test for famfs mode transitions.
References
----------
[1] https://lore.kernel.org/linux-cxl/[email protected]/
[2] https://lore.kernel.org/linux-cxl/[email protected]/
[3] https://lwn.net/Articles/983105/ (LSFMM 2024)
[4] https://lwn.net/Articles/1020170/ (LSFMM 2025)
[5] https://famfs.org (famfs user space)
[6] https://lore.kernel.org/linux-cxl/[email protected]/
(V2)
[7]
https://lore.kernel.org/linux-fsdevel/[email protected]/T/#m0000d8c00290f48c086b8b176c7525e410f8508c
(related ndctl series)
--
John Groves