Re: [PATCH] libxfs: expose inobtcount in xfs geometry

Darrick J. Wong
2021-01-05T17:38:31Z

On Wed, Jan 06, 2021 at 12:22:54AM +0800, Zorro Lang wrote:
> As xfs supports the feature of inode btree block counters now, expose
> this feature flag in xfs geometry, for userspace can check if the
> inobtcnt is enabled or not.
>
> Signed-off-by: Zorro Lang <zlang@redhat.com>

Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>

--D

> ---
>
> The related userspace xfsprogs patch as this link:
> https://www.spinics.net/lists/linux-xfs/msg47853.html
>
> Thanks,
> Zorro
>
> fs/xfs/libxfs/xfs_fs.h | 1 +
> fs/xfs/libxfs/xfs_sb.c | 2 ++
> 2 files changed, 3 insertions(+)
>
> diff --git a/fs/xfs/libxfs/xfs_fs.h b/fs/xfs/libxfs/xfs_fs.h
> index 2a2e3cfd94f0..6fad140d4c8e 100644
> --- a/fs/xfs/libxfs/xfs_fs.h
> +++ b/fs/xfs/libxfs/xfs_fs.h
> @@ -250,6 +250,7 @@ typedef struct xfs_fsop_resblks {
> #define XFS_FSOP_GEOM_FLAGS_RMAPBT (1 << 19) /* reverse mapping btree */
> #define XFS_FSOP_GEOM_FLAGS_REFLINK (1 << 20) /* files can share blocks */
> #define XFS_FSOP_GEOM_FLAGS_BIGTIME (1 << 21) /* 64-bit nsec timestamps */
> +#define XFS_FSOP_GEOM_FLAGS_INOBTCNT (1 << 22) /* inobt btree counter */
>
> /*
> * Minimum and maximum sizes need for growth checks.
> diff --git a/fs/xfs/libxfs/xfs_sb.c b/fs/xfs/libxfs/xfs_sb.c
> index bbda117e5d85..60e6d255e5e2 100644
> --- a/fs/xfs/libxfs/xfs_sb.c
> +++ b/fs/xfs/libxfs/xfs_sb.c
> @@ -1138,6 +1138,8 @@ xfs_fs_geometry(
> geo->flags |= XFS_FSOP_GEOM_FLAGS_REFLINK;
> if (xfs_sb_version_hasbigtime(sbp))
> geo->flags |= XFS_FSOP_GEOM_FLAGS_BIGTIME;
> + if (xfs_sb_version_hasinobtcounts(sbp))
> + geo->flags |= XFS_FSOP_GEOM_FLAGS_INOBTCNT;
> if (xfs_sb_version_hassector(sbp))
> geo->logsectsize = sbp->sb_logsectsize;
> else
> --
> 2.25.4
>