]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs: remove xfs_rtb_to_rtxrem
authorChristoph Hellwig <hch@lst.de>
Mon, 21 Oct 2024 00:10:43 +0000 (17:10 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Thu, 31 Oct 2024 22:45:02 +0000 (15:45 -0700)
Source kernel commit: fa0fc38b255cc88aef31ff13b5593e27622204e1

Simplify the number of block number conversion helpers by removing
xfs_rtb_to_rtxrem.  Any recent compiler is smart enough to eliminate
the double divisions if using separate xfs_rtb_to_rtx and
xfs_rtb_to_rtxoff calls.

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

index c86de2aa13cea95f0d11168428cb906cd6fd48a6..74029d4431e1caee7b619a1d2eb0446f81294ce7 100644 (file)
@@ -1020,25 +1020,24 @@ xfs_rtfree_blocks(
        xfs_filblks_t           rtlen)
 {
        struct xfs_mount        *mp = tp->t_mountp;
-       xfs_rtxnum_t            start;
-       xfs_filblks_t           len;
        xfs_extlen_t            mod;
 
        ASSERT(rtlen <= XFS_MAX_BMBT_EXTLEN);
 
-       len = xfs_rtb_to_rtxrem(mp, rtlen, &mod);
+       mod = xfs_rtb_to_rtxoff(mp, rtlen);
        if (mod) {
                ASSERT(mod == 0);
                return -EIO;
        }
 
-       start = xfs_rtb_to_rtxrem(mp, rtbno, &mod);
+       mod = xfs_rtb_to_rtxoff(mp, rtbno);
        if (mod) {
                ASSERT(mod == 0);
                return -EIO;
        }
 
-       return xfs_rtfree_extent(tp, start, len);
+       return xfs_rtfree_extent(tp, xfs_rtb_to_rtx(mp, rtbno),
+                       xfs_rtb_to_rtx(mp, rtlen));
 }
 
 /* Find all the free records within a given range. */
index 523d3d3c12c608d0c9d452855b9eb24eb4260704..69ddacd4b01e6f2839f28eee31227d2f5b625e86 100644 (file)
@@ -86,24 +86,6 @@ xfs_rtb_to_rtxoff(
        return do_div(rtbno, mp->m_sb.sb_rextsize);
 }
 
-/*
- * Crack an rt block number into an rt extent number and an offset within that
- * rt extent.  Returns the rt extent number directly and the offset in @off.
- */
-static inline xfs_rtxnum_t
-xfs_rtb_to_rtxrem(
-       struct xfs_mount        *mp,
-       xfs_rtblock_t           rtbno,
-       xfs_extlen_t            *off)
-{
-       if (likely(mp->m_rtxblklog >= 0)) {
-               *off = rtbno & mp->m_rtxblkmask;
-               return rtbno >> mp->m_rtxblklog;
-       }
-
-       return div_u64_rem(rtbno, mp->m_sb.sb_rextsize, off);
-}
-
 /*
  * Convert an rt block number into an rt extent number, rounding up to the next
  * rt extent if the rt block is not aligned to an rt extent boundary.