]> www.infradead.org Git - users/hch/xfs.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)
committerChristoph Hellwig <hch@lst.de>
Tue, 6 Aug 2024 13:05:13 +0000 (06:05 -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 9a019e6b2ebe89f20450f857304534bb9b09f544..0e0913d8ca4efb59722f351861f79cdba9673f0f 100644 (file)
@@ -1429,6 +1429,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. */