On Wed,  7 Jan 2026 09:34:43 -0600
John Groves <[email protected]> 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 <[email protected]>


> ---
>  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
>   *


Reply via email to