struct xfs_mount *mp,
xfs_rtblock_t rtbno)
{
- uint64_t old_rgbno = __xfs_rtb_to_rgbno(mp, rtbno);
- uint64_t new_rgbno;
- xfs_rgnumber_t rgno = xfs_rtb_to_rgno(mp, rtbno);
+ uint8_t blkmask = mp->m_groups[XG_TYPE_RTG].blkmask;
- new_rgbno = roundup_64(old_rgbno, mp->m_sb.sb_rextsize);
- return __xfs_rgbno_to_rtb(mp, rgno, new_rgbno);
+ return (rtbno & ~mp->m_groups[XG_TYPE_RTG].blkmask) +
+ roundup_64(rtbno & blkmask, mp->m_sb.sb_rextsize);
}
/* Round this rtblock down to the nearest rt extent size. */
struct xfs_mount *mp,
xfs_rtblock_t rtbno)
{
- uint64_t old_rgbno = __xfs_rtb_to_rgbno(mp, rtbno);
- uint64_t new_rgbno;
- xfs_rgnumber_t rgno = xfs_rtb_to_rgno(mp, rtbno);
+ uint8_t blkmask = mp->m_groups[XG_TYPE_RTG].blkmask;
- new_rgbno = rounddown_64(old_rgbno, mp->m_sb.sb_rextsize);
- return __xfs_rgbno_to_rtb(mp, rgno, new_rgbno);
+ return (rtbno & ~mp->m_groups[XG_TYPE_RTG].blkmask) +
+ rounddown_64(rtbno & blkmask, mp->m_sb.sb_rextsize);
}
/* Round this file block offset up to the nearest rt extent size. */