]> www.infradead.org Git - users/hch/xfsprogs.git/commitdiff
xfs: drop XFS_BTREE_CRC_BLOCKS
authorDarrick J. Wong <djwong@kernel.org>
Mon, 22 Apr 2024 17:00:57 +0000 (10:00 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Mon, 3 Jun 2024 18:37:37 +0000 (11:37 -0700)
Source kernel commit: f9e325bf61d1fb3ef5f705268a22de95809db9fa

All existing btree types set XFS_BTREE_CRC_BLOCKS when running against a
V5 filesystem.  All currently proposed btree types are V5 only and use
the richer XFS_BTREE_CRC_BLOCKS format.  Therefore, we can drop this
flag and change the conditional to xfs_has_crc.

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

index 16f683e1dc84fd4079bfcdcf1eea4a862d124bde..626d8e4b87a83b3552668808cccdbb692cacf20b 100644 (file)
@@ -524,9 +524,6 @@ xfs_allocbt_init_common(
 
        cur->bc_ag.pag = xfs_perag_hold(pag);
 
-       if (xfs_has_crc(mp))
-               cur->bc_flags |= XFS_BTREE_CRC_BLOCKS;
-
        return cur;
 }
 
index 751ae73c55cc5b1d79ab3a93a6bcfd872475386d..8ffef40bab2977e660874ff0a9e61eea2708b407 100644 (file)
@@ -553,8 +553,6 @@ xfs_bmbt_init_common(
        cur->bc_statoff = XFS_STATS_CALC_INDEX(xs_bmbt_2);
 
        cur->bc_flags = XFS_BTREE_LONG_PTRS | XFS_BTREE_ROOT_IN_INODE;
-       if (xfs_has_crc(mp))
-               cur->bc_flags |= XFS_BTREE_CRC_BLOCKS;
 
        cur->bc_ino.ip = ip;
        cur->bc_ino.allocated = 0;
index 3a2b627fd6bef88587e05f2e7c61e651ea1ac866..38d82c03ab522b273a7794a9afa7a8365396f54f 100644 (file)
@@ -595,11 +595,11 @@ xfs_btree_dup_cursor(
 static inline size_t xfs_btree_block_len(struct xfs_btree_cur *cur)
 {
        if (cur->bc_flags & XFS_BTREE_LONG_PTRS) {
-               if (cur->bc_flags & XFS_BTREE_CRC_BLOCKS)
+               if (xfs_has_crc(cur->bc_mp))
                        return XFS_BTREE_LBLOCK_CRC_LEN;
                return XFS_BTREE_LBLOCK_LEN;
        }
-       if (cur->bc_flags & XFS_BTREE_CRC_BLOCKS)
+       if (xfs_has_crc(cur->bc_mp))
                return XFS_BTREE_SBLOCK_CRC_LEN;
        return XFS_BTREE_SBLOCK_LEN;
 }
@@ -1573,7 +1573,7 @@ xfs_btree_log_block(
        if (bp) {
                int nbits;
 
-               if (cur->bc_flags & XFS_BTREE_CRC_BLOCKS) {
+               if (xfs_has_crc(cur->bc_mp)) {
                        /*
                         * We don't log the CRC when updating a btree
                         * block but instead recreate it during log
@@ -3045,7 +3045,7 @@ xfs_btree_new_iroot(
         * In that case have to also ensure the blkno remains correct
         */
        memcpy(cblock, block, xfs_btree_block_len(cur));
-       if (cur->bc_flags & XFS_BTREE_CRC_BLOCKS) {
+       if (xfs_has_crc(cur->bc_mp)) {
                __be64 bno = cpu_to_be64(xfs_buf_daddr(cbp));
                if (cur->bc_flags & XFS_BTREE_LONG_PTRS)
                        cblock->bb_u.l.bb_blkno = bno;
index c053fb934dc70f87ab368011b570b8da7e28ca59..36fd07b32daf4f377cd8f8280d4bab4d402cb020 100644 (file)
@@ -308,7 +308,6 @@ xfs_btree_cur_sizeof(unsigned int nlevels)
 #define XFS_BTREE_LONG_PTRS            (1<<0)  /* pointers are 64bits long */
 #define XFS_BTREE_ROOT_IN_INODE                (1<<1)  /* root may be variable size */
 #define XFS_BTREE_LASTREC_UPDATE       (1<<2)  /* track last rec externally */
-#define XFS_BTREE_CRC_BLOCKS           (1<<3)  /* uses extended btree blocks */
 #define XFS_BTREE_OVERLAPPING          (1<<4)  /* overlapping intervals */
 /*
  * The root of this btree is a fakeroot structure so that we can stage a btree
index 5ea08cca25b433c78967070ca081b7fe1e5acf25..dea661afc4df20a9836079ee8de27d79a1986ae6 100644 (file)
@@ -465,9 +465,6 @@ xfs_inobt_init_common(
                cur->bc_statoff = XFS_STATS_CALC_INDEX(xs_fibt_2);
        }
 
-       if (xfs_has_crc(mp))
-               cur->bc_flags |= XFS_BTREE_CRC_BLOCKS;
-
        cur->bc_ag.pag = xfs_perag_hold(pag);
        return cur;
 }
index 561b732b474603151b1e3be4bd43329075eaff4d..1ecd670a9eba8c44d7045e654be46d6354009005 100644 (file)
@@ -356,8 +356,6 @@ xfs_refcountbt_init_common(
                        xfs_refcountbt_cur_cache);
        cur->bc_statoff = XFS_STATS_CALC_INDEX(xs_refcbt_2);
 
-       cur->bc_flags |= XFS_BTREE_CRC_BLOCKS;
-
        cur->bc_ag.pag = xfs_perag_hold(pag);
        cur->bc_ag.refc.nr_ops = 0;
        cur->bc_ag.refc.shape_changes = 0;
index 36231272964ba5e65f21d268646b2cd24cdfd43e..da6bfb901704c7c94ff610724d35cfb1dc8110ca 100644 (file)
@@ -503,7 +503,7 @@ xfs_rmapbt_init_common(
        /* Overlapping btree; 2 keys per pointer. */
        cur = xfs_btree_alloc_cursor(mp, tp, XFS_BTNUM_RMAP, &xfs_rmapbt_ops,
                        mp->m_rmap_maxlevels, xfs_rmapbt_cur_cache);
-       cur->bc_flags = XFS_BTREE_CRC_BLOCKS | XFS_BTREE_OVERLAPPING;
+       cur->bc_flags = XFS_BTREE_OVERLAPPING;
        cur->bc_statoff = XFS_STATS_CALC_INDEX(xs_rmap_2);
 
        cur->bc_ag.pag = xfs_perag_hold(pag);