]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs: export realtime group geometry via XFS_FSOP_GEOM
authorDarrick J. Wong <djwong@kernel.org>
Mon, 25 Nov 2024 21:14:21 +0000 (13:14 -0800)
committerDarrick J. Wong <djwong@kernel.org>
Tue, 24 Dec 2024 02:01:29 +0000 (18:01 -0800)
Source kernel commit: 8edde94d640153d645f85b94b2e1af8872c11ac8

Export the realtime geometry information so that userspace can query it.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
libxfs/xfs_fs.h
libxfs/xfs_sb.c

index faa38a7d1eb0198da74ffdf58478067b5194e537..5c224d03270ce9a4dbfad678036064f8e21e27bd 100644 (file)
@@ -187,7 +187,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 96b0a73682f435ebe738e2ba17150fa8be7db5d3..2e536bc3b2090b268fc5193c342ac71ba742b76c 100644 (file)
@@ -1424,6 +1424,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. */