On Sun, 18 Jan 2026 22:29:18 +0000 John Groves <[email protected]> wrote:
Hi John, I wonder if these new patches sent recently have been reflected on the github repo readme files. It seems it is not, is it? > This is a coordinated patch submission for famfs (Fabric-Attached Memory > File System) across three repositories: > > 1. Linux kernel (cover + 19 patches) - dax fsdev driver + fuse/famfs > integration > 2. libfuse (cover + 3 patches) - famfs protocol support for fuse servers > 3. ndctl/daxctl (cover + 2 patches) - support for the new "famfs" devdax > mode > > 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 (V7, 19 patches): > - dax: 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. > - fuse: Famfs integration adding GET_FMAP and GET_DAXDEV messages for > caching file-to-dax mappings in the kernel. > > libfuse (V7, 3 patches): > - Updates fuse_kernel.h to kernel 6.19 baseline > - Adds famfs DAX fmap protocol definitions > - Implements famfs DAX fmap support for fuse servers > > ndctl/daxctl (V4, 2 patches): > - Adds daxctl support for the new "famfs" mode of devdax > - Adds test/daxctl-famfs.sh for testing mode transitions > > Changes Since V2 (kernel) > ------------------------- > - Dax: Completely new fsdev driver replaces the dev_dax_iomap modifications. > Uses MEMORY_DEVICE_FS_DAX type with order-0 folios for fs-dax compatibility. > - Dax: The "poisoned page" problem is properly fixed via > fsdev_clear_folio_state() > which clears stale mapping/compound state when fsdev binds. > - Dax: Added dax_set_ops() and driver unbind protection while filesystem > mounted. > - Fuse: Famfs mounts require CAP_SYS_RAWIO (exposing raw memory devices). > - Fuse: Added DAX address_space_operations with noop_dirty_folio. > - Rebased to latest kernels, compatible with recent dax refactoring. > > 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 > > >
