]> git.apps.os.sepia.ceph.com Git - xfsprogs-dev.git/commitdiff
xfs: factor out a __xfs_btree_check_lblock_hdr helper
authorChristoph Hellwig <hch@lst.de>
Mon, 22 Apr 2024 17:01:08 +0000 (10:01 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Mon, 3 Jun 2024 18:37:40 +0000 (11:37 -0700)
Source kernel commit: 79e72304dcba471e5c0dea2f3c67fe1a0558c140

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

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
libxfs/xfs_btree.c

index e69b88b9061c9c1d7b001c602a561470c6970e95..6b18392438c271268525e26cf8d1011ba05ae625 100644 (file)
@@ -91,20 +91,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))
@@ -124,6 +118,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.