Re: [PATCH V9 7/8] dax: Add fs_dax_get() func to prepare dax for fs-dax usage
From: John Groves
Date: Fri Mar 27 2026 - 10:46:37 EST
On 26/03/24 03:05PM, Jonathan Cameron wrote:
> On Tue, 24 Mar 2026 00:39:31 +0000
> John Groves <john@xxxxxxxxxxxxxx> wrote:
>
> > From: John Groves <john@xxxxxxxxxx>
> >
> > The fs_dax_get() function should be called by fs-dax file systems after
> > opening a fsdev dax device. This adds holder_operations, which provides
> > a memory failure callback path and effects exclusivity between callers
> > of fs_dax_get().
> >
> > fs_dax_get() is specific to fsdev_dax, so it checks the driver type
> > (which required touching bus.[ch]). fs_dax_get() fails if fsdev_dax is
> > not bound to the memory.
> >
> > This function serves the same role as fs_dax_get_by_bdev(), which dax
> > file systems call after opening the pmem block device.
> >
> > This can't be located in fsdev.c because struct dax_device is opaque
> > there.
> >
> > This will be called by fs/fuse/famfs.c in a subsequent commit.
> >
> > Signed-off-by: John Groves <john@xxxxxxxxxx>
> Hi John,
>
> Looks like a stray header change - see inline.
>
> With that tidied up.
> Reviewed-by: Jonathan Cameron <jonathan.cameron@xxxxxxxxxx>
>
> > #define dax_driver_register(driver) \
> > diff --git a/drivers/dax/super.c b/drivers/dax/super.c
> > index ba0b4cd18a77..d4ab60c406bf 100644
> > --- a/drivers/dax/super.c
> > +++ b/drivers/dax/super.c
>
> > diff --git a/include/linux/dax.h b/include/linux/dax.h
> > index b19bfe0c2fd1..bf37b9a982f3 100644
> > --- a/include/linux/dax.h
> > +++ b/include/linux/dax.h
>
> > #if IS_ENABLED(CONFIG_FS_DAX)
> > +void fs_put_dax(struct dax_device *dax_dev, void *holder);
> > +int fs_dax_get(struct dax_device *dax_dev, void *holder,
> > + const struct dax_holder_operations *hops);
> > +struct dax_device *inode_dax(struct inode *inode);
>
> What's this? Not used in this patch and not stubbed.
> It's in drivers/dax/dax-private.h already and given I assume code builds
> before this patch (and it's not used in patch 8) then presumably it doesn't
> need to be here.
>
> I got suspicious due to the lack of stub rather indicating something differnt
> form the other two.
Dropped, thanks!
John