diff options
| author | 2024-11-20 16:20:23 -0800 | |
|---|---|---|
| committer | 2024-12-23 13:06:04 -0800 | |
| commit | adafb31c80e608e63adcf8cae5675db00c734149 (patch) | |
| tree | 12f3f760bf77dd4a3d1c09feb576f1bc82c23171 /fs/xfs/libxfs/xfs_rtgroup.h | |
| parent | xfs: add realtime rmap btree operations (diff) | |
| download | wireguard-linux-adafb31c80e608e63adcf8cae5675db00c734149.tar.xz wireguard-linux-adafb31c80e608e63adcf8cae5675db00c734149.zip | |
xfs: prepare rmap functions to deal with rtrmapbt
Prepare the high-level rmap functions to deal with the new realtime
rmapbt and its slightly different conventions. Provide the ability
to talk to either rmapbt or rtrmapbt formats from the same high
level code.
Signed-off-by: "Darrick J. Wong" <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to '')
| -rw-r--r-- | fs/xfs/libxfs/xfs_rtgroup.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/fs/xfs/libxfs/xfs_rtgroup.h b/fs/xfs/libxfs/xfs_rtgroup.h index 19f8d302b9aa..dc3ce660a013 100644 --- a/fs/xfs/libxfs/xfs_rtgroup.h +++ b/fs/xfs/libxfs/xfs_rtgroup.h @@ -132,6 +132,32 @@ xfs_rtgroup_next( return xfs_rtgroup_next_range(mp, rtg, 0, mp->m_sb.sb_rgcount - 1); } +static inline bool +xfs_verify_rgbno( + struct xfs_rtgroup *rtg, + xfs_rgblock_t rgbno) +{ + ASSERT(xfs_has_rtgroups(rtg_mount(rtg))); + + return xfs_verify_gbno(rtg_group(rtg), rgbno); +} + +/* + * Check that [@rgbno,@len] is a valid extent range in @rtg. + * + * Must only be used for RTG-enabled file systems. + */ +static inline bool +xfs_verify_rgbext( + struct xfs_rtgroup *rtg, + xfs_rgblock_t rgbno, + xfs_extlen_t len) +{ + ASSERT(xfs_has_rtgroups(rtg_mount(rtg))); + + return xfs_verify_gbext(rtg_group(rtg), rgbno, len); +} + static inline xfs_rtblock_t xfs_rgbno_to_rtb( struct xfs_rtgroup *rtg, |
