]> git-server-git.apps.pok.os.sepia.ceph.com Git - xfsprogs-dev.git/commitdiff
xfs: add a xfs_groups_to_rfsbs helper
authorChristoph Hellwig <hch@lst.de>
Sun, 22 Feb 2026 22:40:59 +0000 (14:40 -0800)
committerAndrey Albershteyn <aalbersh@kernel.org>
Mon, 2 Mar 2026 09:54:27 +0000 (10:54 +0100)
Source kernel commit: 0ec73eb3f12350799c4b3fb764225f6e38b42d1e

Plus a rtgroup wrapper and use that to avoid overflows when converting
zone/rtg counts to block counts.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
libxfs/xfs_group.h
libxfs/xfs_rtgroup.h

index 4423932a23130010e82f8596247b2a17f47f0d89..4ae638f1c2c519b3a147dd6acfac6368bb79db23 100644 (file)
@@ -98,6 +98,15 @@ xfs_group_max_blocks(
        return xg->xg_mount->m_groups[xg->xg_type].blocks;
 }
 
+static inline xfs_rfsblock_t
+xfs_groups_to_rfsbs(
+       struct xfs_mount        *mp,
+       uint32_t                nr_groups,
+       enum xfs_group_type     type)
+{
+       return (xfs_rfsblock_t)mp->m_groups[type].blocks * nr_groups;
+}
+
 static inline xfs_fsblock_t
 xfs_group_start_fsb(
        struct xfs_group        *xg)
index d4fcf591e63d08c9989439324499fbda8146a722..a94e925ae67cb69bc3682b5f3ab91c91f53ac0d6 100644 (file)
@@ -371,4 +371,12 @@ static inline int xfs_initialize_rtgroups(struct xfs_mount *mp,
 # define xfs_rtgroup_get_geometry(rtg, rgeo)   (-EOPNOTSUPP)
 #endif /* CONFIG_XFS_RT */
 
+static inline xfs_rfsblock_t
+xfs_rtgs_to_rfsbs(
+       struct xfs_mount        *mp,
+       uint32_t                nr_groups)
+{
+       return xfs_groups_to_rfsbs(mp, nr_groups, XG_TYPE_RTG);
+}
+
 #endif /* __LIBXFS_RTGROUP_H */