News: 0001541770

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

FamFS Ported To FUSE For Fabric-Attached Memory File-System

([Linux Storage] 6 Hours Ago FamFS)


One year ago we covered [1]Micron working on FamFS as a new file-system for fabric-attached memory with an emphasis on Compute Express Link (CXL) devices. That started off as a conventional kernel driver while now the newest patches posted this weekend are morphing it into a user-space driver via FUSE.

FUSE is now being pursued for FamFS for implementing file-system support in user-space. Though some changes are required to FUSE/libfuse to jive with this fabric-attached memory file-system implementation. The patches in their current "request for comments" (RFC) form have been tested to be working atop Linux 6.14.

As for what aims to make FamFS special:

"Famfs exposes shared memory as a file system. Famfs consumes shared memory from dax devices, and provides memory-mappable files that map directly to the memory - 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, but the consensus at LSFMM 2024 was that it should be ported into fuse - and this RFC is the first public evidence that I've been working on that.

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. This is done via two fuse client/server message/response pairs: GET_FMAP and GET_DAXDEV.

Famfs remains the first fs-dax file system that is backed by devdax rather than pmem in fs-dax mode (hence the need for the dev_dax_iomap fixups)."

[2]This patch series by engineer John Groves is that initial FUSE-based FamFS implementation for those interested.

There is also more background information on FamFS via the [3]Micron CXL GitHub repository .



[1] https://www.phoronix.com/news/Linux-RFC-FAMFS-File-System

[2] https://lore.kernel.org/lkml/20250421013346.32530-1-john@groves.net/

[3] https://github.com/cxl-micron-reskit/famfs



schmidtbag

oiaohm

Out of the crooked timber of humanity no straight thing can ever be made.
-- Immanuel Kant