Commit 79e72304 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Darrick J. Wong
Browse files

xfs: factor out a __xfs_btree_check_lblock_hdr helper



This will allow sharing code with the in-memory block checking helper.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarDarrick J. Wong <djwong@kernel.org>
Signed-off-by: default avatarDarrick J. Wong <djwong@kernel.org>
parent 5ef819c3
Loading
Loading
Loading
Loading
+23 −7
Original line number Diff line number Diff line
@@ -94,20 +94,14 @@ xfs_btree_check_agblock_siblings(
	return NULL;
}

/*
 * Check a long btree block header.  Return the address of the failing check,
 * or NULL if everything is ok.
 */
static xfs_failaddr_t
__xfs_btree_check_fsblock(
__xfs_btree_check_lblock_hdr(
	struct xfs_btree_cur	*cur,
	struct xfs_btree_block	*block,
	int			level,
	struct xfs_buf		*bp)
{
	struct xfs_mount	*mp = cur->bc_mp;
	xfs_failaddr_t		fa;
	xfs_fsblock_t		fsb;

	if (xfs_has_crc(mp)) {
		if (!uuid_equal(&block->bb_u.l.bb_uuid, &mp->m_sb.sb_meta_uuid))
@@ -127,6 +121,28 @@ __xfs_btree_check_fsblock(
	    cur->bc_ops->get_maxrecs(cur, level))
		return __this_address;

	return NULL;
}

/*
 * Check a long btree block header.  Return the address of the failing check,
 * or NULL if everything is ok.
 */
static xfs_failaddr_t
__xfs_btree_check_fsblock(
	struct xfs_btree_cur	*cur,
	struct xfs_btree_block	*block,
	int			level,
	struct xfs_buf		*bp)
{
	struct xfs_mount	*mp = cur->bc_mp;
	xfs_failaddr_t		fa;
	xfs_fsblock_t		fsb;

	fa = __xfs_btree_check_lblock_hdr(cur, block, level, bp);
	if (fa)
		return fa;

	/*
	 * For inode-rooted btrees, the root block sits in the inode fork.  In
	 * that case bp is NULL, and the block must not have any siblings.