Re: [PATCH V3 4/4] fuse: add famfs DAX fmap support
From: Jonathan Cameron
Date: Thu Jan 08 2026 - 10:45:04 EST
On Wed, 7 Jan 2026 09:34:43 -0600
John Groves <John@xxxxxxxxxx> wrote:
> Add new FUSE operations and capability for famfs DAX file mapping:
>
> - FUSE_CAP_DAX_FMAP: New capability flag at bit 32 (using want_ext/capable_ext
> fields) to indicate kernel and userspace support for DAX fmaps
>
> - GET_FMAP: New operation to retrieve a file map for DAX-mapped files.
> Returns a fuse_famfs_fmap_header followed by simple or interleaved
> extent descriptors. The kernel passes the file size as an argument.
>
> - GET_DAXDEV: New operation to retrieve DAX device info by index.
> Called when GET_FMAP returns an fmap referencing a previously
> unknown DAX device.
>
> These operations enable FUSE filesystems to provide direct access
> mappings to persistent memory, allowing the kernel to map files
> directly to DAX devices without page cache intermediation.
>
> Signed-off-by: John Groves <john@xxxxxxxxxx>
> ---
> include/fuse_common.h | 5 +++++
> include/fuse_lowlevel.h | 37 +++++++++++++++++++++++++++++++++++++
> lib/fuse_lowlevel.c | 31 ++++++++++++++++++++++++++++++-
> 3 files changed, 72 insertions(+), 1 deletion(-)
>
> diff --git a/include/fuse_common.h b/include/fuse_common.h
> index 041188e..e428ddb 100644
> --- a/include/fuse_common.h
> +++ b/include/fuse_common.h
> @@ -512,6 +512,11 @@ struct fuse_loop_config_v1 {
> */
> #define FUSE_CAP_OVER_IO_URING (1UL << 31)
>
> +/**
> + * handle files that use famfs dax fmaps
> + */
> +#define FUSE_CAP_DAX_FMAP (1UL<<32)
From the context above, looks like local style is spaces around <<
That's about the level of my understanding of the fuse code ;)
> +
> /**
> * Ioctl flags
> *