xfs: add scrub cross-referencing helpers for the refcount btrees
Add a couple of functions to the refcount btrees that will be used to cross-reference metadata against the refcountbt. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Dave Chinner <dchinner@redhat.com>
This commit is contained in:
parent
ed7c52d4bf
commit
49db55eca5
@ -1696,3 +1696,22 @@ out_cursor:
|
|||||||
xfs_trans_brelse(tp, agbp);
|
xfs_trans_brelse(tp, agbp);
|
||||||
goto out_trans;
|
goto out_trans;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Is there a record covering a given extent? */
|
||||||
|
int
|
||||||
|
xfs_refcount_has_record(
|
||||||
|
struct xfs_btree_cur *cur,
|
||||||
|
xfs_agblock_t bno,
|
||||||
|
xfs_extlen_t len,
|
||||||
|
bool *exists)
|
||||||
|
{
|
||||||
|
union xfs_btree_irec low;
|
||||||
|
union xfs_btree_irec high;
|
||||||
|
|
||||||
|
memset(&low, 0, sizeof(low));
|
||||||
|
low.rc.rc_startblock = bno;
|
||||||
|
memset(&high, 0xFF, sizeof(high));
|
||||||
|
high.rc.rc_startblock = bno + len - 1;
|
||||||
|
|
||||||
|
return xfs_btree_has_record(cur, &low, &high, exists);
|
||||||
|
}
|
||||||
|
@ -83,4 +83,7 @@ static inline xfs_fileoff_t xfs_refcount_max_unmap(int log_res)
|
|||||||
return (log_res * 3 / 4) / XFS_REFCOUNT_ITEM_OVERHEAD;
|
return (log_res * 3 / 4) / XFS_REFCOUNT_ITEM_OVERHEAD;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern int xfs_refcount_has_record(struct xfs_btree_cur *cur,
|
||||||
|
xfs_agblock_t bno, xfs_extlen_t len, bool *exists);
|
||||||
|
|
||||||
#endif /* __XFS_REFCOUNT_H__ */
|
#endif /* __XFS_REFCOUNT_H__ */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user