From: Stephen Rothwell Date: Thu, 2 Sep 2021 03:36:46 +0000 (+1000) Subject: Merge remote-tracking branch 'nvdimm/libnvdimm-for-next' X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=69f89bcb311aa13194c0cb50d20554badff3b71b;p=users%2Fjedix%2Flinux-maple.git Merge remote-tracking branch 'nvdimm/libnvdimm-for-next' --- 69f89bcb311aa13194c0cb50d20554badff3b71b diff --cc fs/erofs/super.c index a8d49e8fc83a,8fc6c04b54f4..2dc0b9f1d421 --- a/fs/erofs/super.c +++ b/fs/erofs/super.c @@@ -526,6 -482,6 +526,7 @@@ static int erofs_fc_fill_super(struct s struct inode *inode; struct erofs_sb_info *sbi; struct erofs_fs_context *ctx = fc->fs_private; ++ struct dax_device *dax_dev = fs_dax_get_by_bdev(sb->s_bdev); int err; sb->s_magic = EROFS_SUPER_MAGIC; @@@ -540,16 -496,10 +541,17 @@@ return -ENOMEM; sb->s_fs_info = sbi; - sbi->dax_dev = fs_dax_get_by_bdev(sb->s_bdev); ++ sbi->dax_dev = dax_dev; err = erofs_read_superblock(sb); if (err) return err; + if (test_opt(ctx, DAX_ALWAYS) && - !bdev_dax_supported(sb->s_bdev, EROFS_BLKSIZ)) { ++ !dax_supported(dax_dev, sb->s_bdev, EROFS_BLKSIZ, 0, ++ bdev_nr_sectors(sb->s_bdev))) { + errorfc(fc, "DAX unsupported by block device. Turning off DAX."); + clear_opt(ctx, DAX_ALWAYS); + } sb->s_flags |= SB_RDONLY | SB_NOATIME; sb->s_maxbytes = MAX_LFS_FILESIZE; sb->s_time_gran = 1; diff --cc fs/xfs/xfs_super.c index 9a86d3ec2cb6,f4384974e52a..c4e0cd1c1c8c --- a/fs/xfs/xfs_super.c +++ b/fs/xfs/xfs_super.c @@@ -327,9 -311,18 +327,18 @@@ xfs_set_inode_alloc xfs_perag_put(pag); } - return (mp->m_flags & XFS_MOUNT_32BITINODES) ? maxagi : agcount; + return xfs_is_inode32(mp) ? maxagi : agcount; } + static bool + xfs_buftarg_is_dax( + struct super_block *sb, + struct xfs_buftarg *bt) + { + return dax_supported(bt->bt_daxdev, bt->bt_bdev, sb->s_blocksize, 0, + bdev_nr_sectors(bt->bt_bdev)); + } + STATIC int xfs_blkdev_get( xfs_mount_t *mp,