Thank you for your contribution! Sashiko AI review found 1 potential issue(s) 
to consider:
- [Low] kconfig: FUSE_FS=y and DEV_DAX_FSDEV=m causes undefined reference to 
fsdev_dax_from_file
--

commit 0e6c3b76d8791b10c41a202ee1e4d5b108cb9e7d
Author: Miklos Szeredi <[email protected]>

fuse: add support for opening dax device as backing

This commit adds support for opening a dax device as a FUSE passthrough
backing file, enabling S_DAX on inodes when requested. It also updates
the cleanup sequence by moving fuse_backing_put() to fuse_evict_inode()
to avoid sleeping in atomic context.

> diff --git a/fs/fuse/backing.c b/fs/fuse/backing.c
> index 15132150535a5..9ded41a94fcc6 100644
> --- a/fs/fuse/backing.c
> +++ b/fs/fuse/backing.c
[ ... ]
> +static int fuse_backing_open_file(struct fuse_conn *fc, struct fuse_backing 
> *fb, struct file *file)
> +{
> +     struct inode *inode = file_inode(file);
> +     struct dax_device *daxdev;
> +     int err;
> +
> +     switch (inode->i_mode & S_IFMT) {
[ ... ]
> +     case S_IFCHR:
> +             if (!fc->passthrough || !fc->backing_id_64)
> +                     return -EINVAL;
> +
> +             if (!IS_ENABLED(CONFIG_DEV_DAX_FSDEV))
> +                     return -EINVAL;
> +
> +             daxdev = fsdev_dax_from_file(file);

[Severity: Low]
If FUSE_FS is built-in (y) and DEV_DAX_FSDEV is compiled as a loadable module
(m), will IS_ENABLED(CONFIG_DEV_DAX_FSDEV) evaluate to true here? Since this
code is built into vmlinux, wouldn't statically referencing the
fsdev_dax_from_file() symbol from the fsdev_dax.ko loadable module cause an
undefined reference linker error during the kernel build?

Could this use IS_REACHABLE(CONFIG_DEV_DAX_FSDEV) instead to prevent the build
failure?

-- 
Sashiko AI review ยท 
https://sashiko.dev/#/patchset/[email protected]?part=6

Reply via email to