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
