mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-09 07:23:14 +00:00
xfs: remove xfs_rtb_to_rtxrem
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>
This commit is contained in:
parent
9e9be9840f
commit
fa0fc38b25
@ -1022,25 +1022,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. */
|
||||
|
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user