]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
xfs: Introduce XFS_FSOP_GEOM_FLAGS_NREXT64
authorChandan Babu R <chandan.babu@oracle.com>
Tue, 16 Nov 2021 07:56:54 +0000 (07:56 +0000)
committerChandan Babu R <chandan.babu@oracle.com>
Mon, 11 Apr 2022 04:11:19 +0000 (04:11 +0000)
XFS_FSOP_GEOM_FLAGS_NREXT64 indicates that the current filesystem instance
supports 64-bit per-inode extent counters.

Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Chandan Babu R <chandan.babu@oracle.com>
fs/xfs/libxfs/xfs_fs.h
fs/xfs/libxfs/xfs_sb.c

index 505533c43a92aa1c7f0b1f522c9bddc04ee6d100..1f7238db35cc926d9feed0dab8b172867a96a33d 100644 (file)
@@ -236,6 +236,7 @@ typedef struct xfs_fsop_resblks {
 #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 */
+#define XFS_FSOP_GEOM_FLAGS_NREXT64    (1 << 23) /* large extent counters */
 
 /*
  * Minimum and maximum sizes need for growth checks.
index bd632389ae9255c30bfd3ee74c991e34fd71a9bf..e292a1914a5bb9fb851c1dcdab0edf762edb27aa 100644 (file)
@@ -1138,6 +1138,8 @@ xfs_fs_geometry(
        } else {
                geo->logsectsize = BBSIZE;
        }
+       if (xfs_has_large_extent_counts(mp))
+               geo->flags |= XFS_FSOP_GEOM_FLAGS_NREXT64;
        geo->rtsectsize = sbp->sb_blocksize;
        geo->dirblocksize = xfs_dir2_dirblock_bytes(sbp);