aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarrick J. Wong <djwong@kernel.org>2024-02-12 15:20:20 +0100
committerCarlos Maiolino <cem@kernel.org>2024-02-15 12:56:43 +0100
commita01e6467b84585c437de831a139562937396e3e9 (patch)
tree784605f2bf61cf070b74e69b131b0c19046d2c61
parent43ed0e42af473f262cd64128de400396c8a33d9d (diff)
downloadxfsprogs-dev-a01e6467b84585c437de831a139562937396e3e9.tar.gz
xfs: create a helper to convert extlen to rtextlen
Source kernel commit: 2c2b981b737a519907429f62148bbd9e40e01132 Create a helper to compute the realtime extent (xfs_rtxlen_t) from an extent length (xfs_extlen_t) value. Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Carlos Maiolino <cem@kernel.org>
-rw-r--r--libxfs/xfs_rtbitmap.h8
-rw-r--r--libxfs/xfs_trans_resv.c3
2 files changed, 10 insertions, 1 deletions
diff --git a/libxfs/xfs_rtbitmap.h b/libxfs/xfs_rtbitmap.h
index b6a4c46bdd..e2a36fc157 100644
--- a/libxfs/xfs_rtbitmap.h
+++ b/libxfs/xfs_rtbitmap.h
@@ -31,6 +31,14 @@ xfs_extlen_to_rtxmod(
return len % mp->m_sb.sb_rextsize;
}
+static inline xfs_rtxlen_t
+xfs_extlen_to_rtxlen(
+ struct xfs_mount *mp,
+ xfs_extlen_t len)
+{
+ return len / mp->m_sb.sb_rextsize;
+}
+
/*
* Functions for walking free space rtextents in the realtime bitmap.
*/
diff --git a/libxfs/xfs_trans_resv.c b/libxfs/xfs_trans_resv.c
index 04c444806f..53c190b720 100644
--- a/libxfs/xfs_trans_resv.c
+++ b/libxfs/xfs_trans_resv.c
@@ -18,6 +18,7 @@
#include "xfs_trans.h"
#include "xfs_trans_space.h"
#include "xfs_quota_defs.h"
+#include "xfs_rtbitmap.h"
#define _ALLOC true
#define _FREE false
@@ -219,7 +220,7 @@ xfs_rtalloc_block_count(
unsigned int blksz = XFS_FSB_TO_B(mp, 1);
unsigned int rtbmp_bytes;
- rtbmp_bytes = (XFS_MAX_BMBT_EXTLEN / mp->m_sb.sb_rextsize) / NBBY;
+ rtbmp_bytes = xfs_extlen_to_rtxlen(mp, XFS_MAX_BMBT_EXTLEN) / NBBY;
return (howmany(rtbmp_bytes, blksz) + 1) * num_ops;
}