[ add Darrick ] On Thu, Aug 26, 2021 at 7:07 AM Christoph Hellwig <hch@xxxxxx> wrote: > > Refactor the DAX setup code in preparation of removing > bdev_dax_supported. > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > Reviewed-by: Dan Williams <dan.j.williams@xxxxxxxxx> > --- > fs/xfs/xfs_super.c | 15 +++++++++++---- > 1 file changed, 11 insertions(+), 4 deletions(-) Darrick, any concerns with me taking this through the dax tree? > > diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c > index 2c9e26a44546..5a89bf601d97 100644 > --- a/fs/xfs/xfs_super.c > +++ b/fs/xfs/xfs_super.c > @@ -314,6 +314,14 @@ xfs_set_inode_alloc( > return (mp->m_flags & XFS_MOUNT_32BITINODES) ? maxagi : agcount; > } > > +static bool > +xfs_buftarg_is_dax( > + struct super_block *sb, > + struct xfs_buftarg *bt) > +{ > + return bdev_dax_supported(bt->bt_bdev, sb->s_blocksize); > +} > + > STATIC int > xfs_blkdev_get( > xfs_mount_t *mp, > @@ -1549,11 +1557,10 @@ xfs_fs_fill_super( > xfs_warn(mp, > "DAX enabled. Warning: EXPERIMENTAL, use at your own risk"); > > - datadev_is_dax = bdev_dax_supported(mp->m_ddev_targp->bt_bdev, > - sb->s_blocksize); > + datadev_is_dax = xfs_buftarg_is_dax(sb, mp->m_ddev_targp); > if (mp->m_rtdev_targp) > - rtdev_is_dax = bdev_dax_supported( > - mp->m_rtdev_targp->bt_bdev, sb->s_blocksize); > + rtdev_is_dax = xfs_buftarg_is_dax(sb, > + mp->m_rtdev_targp); > if (!rtdev_is_dax && !datadev_is_dax) { > xfs_alert(mp, > "DAX unsupported by block device. Turning off DAX."); > -- > 2.30.2 > >