]> www.infradead.org Git - users/hch/misc.git/commitdiff
xfs: export realtime group geometry via XFS_FSOP_GEOM
authorDarrick J. Wong <djwong@kernel.org>
Wed, 29 May 2024 04:11:16 +0000 (21:11 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Wed, 24 Jul 2024 05:33:36 +0000 (22:33 -0700)
Export the realtime geometry information so that userspace can query it.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
fs/xfs/libxfs/xfs_fs.h
fs/xfs/libxfs/xfs_sb.c

index ad89c3eee44b000145ffa14e943ff616e031466c..65c30118e3dd3ab951b4972140c59b197df7f426 100644 (file)
@@ -186,7 +186,9 @@ struct xfs_fsop_geom {
        __u32           logsunit;       /* log stripe unit, bytes       */
        uint32_t        sick;           /* o: unhealthy fs & rt metadata */
        uint32_t        checked;        /* o: checked fs & rt metadata  */
-       __u64           reserved[17];   /* reserved space               */
+       __u32           rgextents;      /* rt extents in a realtime group */
+       __u32           rgcount;        /* number of realtime groups    */
+       __u64           reserved[16];   /* reserved space               */
 };
 
 #define XFS_FSOP_GEOM_SICK_COUNTERS    (1 << 0)  /* summary counters */
index 69f518d83de04f2217f4da16482fc97421a7618b..64cb2f905a78fe45a997ecece7bb567d7ab7add1 100644 (file)
@@ -1404,6 +1404,11 @@ xfs_fs_geometry(
                return;
 
        geo->version = XFS_FSOP_GEOM_VERSION_V5;
+
+       if (xfs_has_rtgroups(mp)) {
+               geo->rgcount = sbp->sb_rgcount;
+               geo->rgextents = sbp->sb_rgextents;
+       }
 }
 
 /* Read a secondary superblock. */