xfs: create a helper to decide if a file mapping targets the rt volume
Create a helper so that we can stop open-coding this decision everywhere. Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
0dc63c8a1c
commit
5049ff4d14
@ -4913,7 +4913,7 @@ xfs_bmap_del_extent_delay(
|
||||
|
||||
XFS_STATS_INC(mp, xs_del_exlist);
|
||||
|
||||
isrt = (whichfork == XFS_DATA_FORK) && XFS_IS_REALTIME_INODE(ip);
|
||||
isrt = xfs_ifork_is_realtime(ip, whichfork);
|
||||
del_endoff = del->br_startoff + del->br_blockcount;
|
||||
got_endoff = got->br_startoff + got->br_blockcount;
|
||||
da_old = startblockval(got->br_startblock);
|
||||
@ -5149,7 +5149,7 @@ xfs_bmap_del_extent_real(
|
||||
return -ENOSPC;
|
||||
|
||||
*logflagsp = XFS_ILOG_CORE;
|
||||
if (whichfork == XFS_DATA_FORK && XFS_IS_REALTIME_INODE(ip)) {
|
||||
if (xfs_ifork_is_realtime(ip, whichfork)) {
|
||||
if (!(bflags & XFS_BMAPI_REMAP)) {
|
||||
error = xfs_rtfree_blocks(tp, del->br_startblock,
|
||||
del->br_blockcount);
|
||||
@ -5396,7 +5396,7 @@ __xfs_bunmapi(
|
||||
return 0;
|
||||
}
|
||||
XFS_STATS_INC(mp, xs_blk_unmap);
|
||||
isrt = (whichfork == XFS_DATA_FORK) && XFS_IS_REALTIME_INODE(ip);
|
||||
isrt = xfs_ifork_is_realtime(ip, whichfork);
|
||||
end = start + len;
|
||||
|
||||
if (!xfs_iext_lookup_extent_before(ip, ifp, &end, &icur, &got)) {
|
||||
|
@ -813,3 +813,12 @@ xfs_iext_count_upgrade(
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Decide if a file mapping is on the realtime device or not. */
|
||||
bool
|
||||
xfs_ifork_is_realtime(
|
||||
struct xfs_inode *ip,
|
||||
int whichfork)
|
||||
{
|
||||
return XFS_IS_REALTIME_INODE(ip) && whichfork != XFS_ATTR_FORK;
|
||||
}
|
||||
|
@ -260,6 +260,7 @@ int xfs_iext_count_may_overflow(struct xfs_inode *ip, int whichfork,
|
||||
int nr_to_add);
|
||||
int xfs_iext_count_upgrade(struct xfs_trans *tp, struct xfs_inode *ip,
|
||||
uint nr_to_add);
|
||||
bool xfs_ifork_is_realtime(struct xfs_inode *ip, int whichfork);
|
||||
|
||||
/* returns true if the fork has extents but they are not read in yet. */
|
||||
static inline bool xfs_need_iread_extents(const struct xfs_ifork *ifp)
|
||||
|
@ -924,7 +924,7 @@ xchk_bmap(
|
||||
if (!ifp)
|
||||
return -ENOENT;
|
||||
|
||||
info.is_rt = whichfork == XFS_DATA_FORK && XFS_IS_REALTIME_INODE(ip);
|
||||
info.is_rt = xfs_ifork_is_realtime(ip, whichfork);
|
||||
info.whichfork = whichfork;
|
||||
info.is_shared = whichfork == XFS_DATA_FORK && xfs_is_reflink_inode(ip);
|
||||
info.sc = sc;
|
||||
|
Loading…
Reference in New Issue
Block a user