xfs: refactor intent item RECOVERED flag into the log item
authorDarrick J. Wong <darrick.wong@oracle.com>
Fri, 1 May 2020 23:00:55 +0000 (16:00 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Fri, 8 May 2020 15:50:01 +0000 (08:50 -0700)
Rename XFS_{EFI,BUI,RUI,CUI}_RECOVERED to XFS_LI_RECOVERED so that we
track recovery status in the log item, then get rid of the now unused
flags fields in each of those log item types.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Chandan Babu R <chandanrlinux@gmail.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
fs/xfs/xfs_bmap_item.c
fs/xfs/xfs_bmap_item.h
fs/xfs/xfs_extfree_item.c
fs/xfs/xfs_extfree_item.h
fs/xfs/xfs_refcount_item.c
fs/xfs/xfs_refcount_item.h
fs/xfs/xfs_rmap_item.c
fs/xfs/xfs_rmap_item.h
fs/xfs/xfs_trans.h

index 1e9bc8d15f51a792a22f70b34cf7bf62c55ea174..8a5ac8cfd5f2029aeaa7b596178b1354917622a7 100644 (file)
@@ -441,11 +441,11 @@ xfs_bui_recover(
        struct xfs_bmbt_irec            irec;
        struct xfs_mount                *mp = parent_tp->t_mountp;
 
-       ASSERT(!test_bit(XFS_BUI_RECOVERED, &buip->bui_flags));
+       ASSERT(!test_bit(XFS_LI_RECOVERED, &buip->bui_item.li_flags));
 
        /* Only one mapping operation per BUI... */
        if (buip->bui_format.bui_nextents != XFS_BUI_MAX_FAST_EXTENTS) {
-               set_bit(XFS_BUI_RECOVERED, &buip->bui_flags);
+               set_bit(XFS_LI_RECOVERED, &buip->bui_item.li_flags);
                xfs_bui_release(buip);
                return -EFSCORRUPTED;
        }
@@ -479,7 +479,7 @@ xfs_bui_recover(
                 * This will pull the BUI from the AIL and
                 * free the memory associated with it.
                 */
-               set_bit(XFS_BUI_RECOVERED, &buip->bui_flags);
+               set_bit(XFS_LI_RECOVERED, &buip->bui_item.li_flags);
                xfs_bui_release(buip);
                return -EFSCORRUPTED;
        }
@@ -537,7 +537,7 @@ xfs_bui_recover(
                xfs_bmap_unmap_extent(tp, ip, &irec);
        }
 
-       set_bit(XFS_BUI_RECOVERED, &buip->bui_flags);
+       set_bit(XFS_LI_RECOVERED, &buip->bui_item.li_flags);
        xfs_defer_move(parent_tp, tp);
        error = xfs_trans_commit(tp);
        xfs_iunlock(ip, XFS_ILOCK_EXCL);
@@ -568,7 +568,7 @@ xfs_bui_item_recover(
        /*
         * Skip BUIs that we've already processed.
         */
-       if (test_bit(XFS_BUI_RECOVERED, &buip->bui_flags))
+       if (test_bit(XFS_LI_RECOVERED, &buip->bui_item.li_flags))
                return 0;
 
        spin_unlock(&ailp->ail_lock);
index 44d06e62f8f912e6a9437c9b48f1db118e074336..b9be62f8bd5215d26e846ee9ab5fca5f46222001 100644 (file)
@@ -32,11 +32,6 @@ struct kmem_zone;
  */
 #define        XFS_BUI_MAX_FAST_EXTENTS        1
 
-/*
- * Define BUI flag bits. Manipulated by set/clear/test_bit operators.
- */
-#define        XFS_BUI_RECOVERED               1
-
 /*
  * This is the "bmap update intent" log item.  It is used to log the fact that
  * some reverse mappings need to change.  It is used in conjunction with the
@@ -49,7 +44,6 @@ struct xfs_bui_log_item {
        struct xfs_log_item             bui_item;
        atomic_t                        bui_refcount;
        atomic_t                        bui_next_extent;
-       unsigned long                   bui_flags;      /* misc flags */
        struct xfs_bui_log_format       bui_format;
 };
 
index 99c4643d0ae8de770e01247b07e8f4a899c287cb..ffa15bcaea33305e48b8211b3370dc126fc655c4 100644 (file)
@@ -592,7 +592,7 @@ xfs_efi_recover(
        xfs_extent_t            *extp;
        xfs_fsblock_t           startblock_fsb;
 
-       ASSERT(!test_bit(XFS_EFI_RECOVERED, &efip->efi_flags));
+       ASSERT(!test_bit(XFS_LI_RECOVERED, &efip->efi_item.li_flags));
 
        /*
         * First check the validity of the extents described by the
@@ -611,7 +611,7 @@ xfs_efi_recover(
                         * This will pull the EFI from the AIL and
                         * free the memory associated with it.
                         */
-                       set_bit(XFS_EFI_RECOVERED, &efip->efi_flags);
+                       set_bit(XFS_LI_RECOVERED, &efip->efi_item.li_flags);
                        xfs_efi_release(efip);
                        return -EFSCORRUPTED;
                }
@@ -632,7 +632,7 @@ xfs_efi_recover(
 
        }
 
-       set_bit(XFS_EFI_RECOVERED, &efip->efi_flags);
+       set_bit(XFS_LI_RECOVERED, &efip->efi_item.li_flags);
        error = xfs_trans_commit(tp);
        return error;
 
@@ -655,7 +655,7 @@ xfs_efi_item_recover(
         * Skip EFIs that we've already processed.
         */
        efip = container_of(lip, struct xfs_efi_log_item, efi_item);
-       if (test_bit(XFS_EFI_RECOVERED, &efip->efi_flags))
+       if (test_bit(XFS_LI_RECOVERED, &efip->efi_item.li_flags))
                return 0;
 
        spin_unlock(&ailp->ail_lock);
index 4b2c2c5c59850c0a932f7f833fc3c4db15070964..cd2860c875bf50638c0346eac065f530dfa75424 100644 (file)
@@ -16,11 +16,6 @@ struct kmem_zone;
  */
 #define        XFS_EFI_MAX_FAST_EXTENTS        16
 
-/*
- * Define EFI flag bits. Manipulated by set/clear/test_bit operators.
- */
-#define        XFS_EFI_RECOVERED       1
-
 /*
  * This is the "extent free intention" log item.  It is used to log the fact
  * that some extents need to be free.  It is used in conjunction with the
@@ -54,7 +49,6 @@ struct xfs_efi_log_item {
        struct xfs_log_item     efi_item;
        atomic_t                efi_refcount;
        atomic_t                efi_next_extent;
-       unsigned long           efi_flags;      /* misc flags */
        xfs_efi_log_format_t    efi_format;
 };
 
index a9c513338ddcc8d5d9335eb4afb001d3eab578d5..c7d584b995081d12bb2772cf37e0f723265eb034 100644 (file)
@@ -441,7 +441,7 @@ xfs_cui_recover(
        bool                            requeue_only = false;
        struct xfs_mount                *mp = parent_tp->t_mountp;
 
-       ASSERT(!test_bit(XFS_CUI_RECOVERED, &cuip->cui_flags));
+       ASSERT(!test_bit(XFS_LI_RECOVERED, &cuip->cui_item.li_flags));
 
        /*
         * First check the validity of the extents described by the
@@ -472,7 +472,7 @@ xfs_cui_recover(
                         * This will pull the CUI from the AIL and
                         * free the memory associated with it.
                         */
-                       set_bit(XFS_CUI_RECOVERED, &cuip->cui_flags);
+                       set_bit(XFS_LI_RECOVERED, &cuip->cui_item.li_flags);
                        xfs_cui_release(cuip);
                        return -EFSCORRUPTED;
                }
@@ -556,7 +556,7 @@ xfs_cui_recover(
        }
 
        xfs_refcount_finish_one_cleanup(tp, rcur, error);
-       set_bit(XFS_CUI_RECOVERED, &cuip->cui_flags);
+       set_bit(XFS_LI_RECOVERED, &cuip->cui_item.li_flags);
        xfs_defer_move(parent_tp, tp);
        error = xfs_trans_commit(tp);
        return error;
@@ -581,7 +581,7 @@ xfs_cui_item_recover(
        /*
         * Skip CUIs that we've already processed.
         */
-       if (test_bit(XFS_CUI_RECOVERED, &cuip->cui_flags))
+       if (test_bit(XFS_LI_RECOVERED, &cuip->cui_item.li_flags))
                return 0;
 
        spin_unlock(&ailp->ail_lock);
index cfaa857673a6acd70578dedf3e479b06a8eef7d4..f4f2e836540bb784ffd1d8296fff41a7e5a9a982 100644 (file)
@@ -32,11 +32,6 @@ struct kmem_zone;
  */
 #define        XFS_CUI_MAX_FAST_EXTENTS        16
 
-/*
- * Define CUI flag bits. Manipulated by set/clear/test_bit operators.
- */
-#define        XFS_CUI_RECOVERED               1
-
 /*
  * This is the "refcount update intent" log item.  It is used to log
  * the fact that some reverse mappings need to change.  It is used in
@@ -51,7 +46,6 @@ struct xfs_cui_log_item {
        struct xfs_log_item             cui_item;
        atomic_t                        cui_refcount;
        atomic_t                        cui_next_extent;
-       unsigned long                   cui_flags;      /* misc flags */
        struct xfs_cui_log_format       cui_format;
 };
 
index ee0be4310c7c925c3edabe27d8ffb3c6992a461a..45cc7bfe82b4938d60913bf26b49f2d98d6aa19f 100644 (file)
@@ -480,7 +480,7 @@ xfs_rui_recover(
        struct xfs_trans                *tp;
        struct xfs_btree_cur            *rcur = NULL;
 
-       ASSERT(!test_bit(XFS_RUI_RECOVERED, &ruip->rui_flags));
+       ASSERT(!test_bit(XFS_LI_RECOVERED, &ruip->rui_item.li_flags));
 
        /*
         * First check the validity of the extents described by the
@@ -515,7 +515,7 @@ xfs_rui_recover(
                         * This will pull the RUI from the AIL and
                         * free the memory associated with it.
                         */
-                       set_bit(XFS_RUI_RECOVERED, &ruip->rui_flags);
+                       set_bit(XFS_LI_RECOVERED, &ruip->rui_item.li_flags);
                        xfs_rui_release(ruip);
                        return -EFSCORRUPTED;
                }
@@ -573,7 +573,7 @@ xfs_rui_recover(
        }
 
        xfs_rmap_finish_one_cleanup(tp, rcur, error);
-       set_bit(XFS_RUI_RECOVERED, &ruip->rui_flags);
+       set_bit(XFS_LI_RECOVERED, &ruip->rui_item.li_flags);
        error = xfs_trans_commit(tp);
        return error;
 
@@ -596,7 +596,7 @@ xfs_rui_item_recover(
        /*
         * Skip RUIs that we've already processed.
         */
-       if (test_bit(XFS_RUI_RECOVERED, &ruip->rui_flags))
+       if (test_bit(XFS_LI_RECOVERED, &ruip->rui_item.li_flags))
                return 0;
 
        spin_unlock(&ailp->ail_lock);
index 48a77a6f5c94807835a3437ca4569bd5b6de0bf2..31e6cdfff71f49effbc9cc0c8e69c986c9507e91 100644 (file)
@@ -35,11 +35,6 @@ struct kmem_zone;
  */
 #define        XFS_RUI_MAX_FAST_EXTENTS        16
 
-/*
- * Define RUI flag bits. Manipulated by set/clear/test_bit operators.
- */
-#define        XFS_RUI_RECOVERED               1
-
 /*
  * This is the "rmap update intent" log item.  It is used to log the fact that
  * some reverse mappings need to change.  It is used in conjunction with the
@@ -52,7 +47,6 @@ struct xfs_rui_log_item {
        struct xfs_log_item             rui_item;
        atomic_t                        rui_refcount;
        atomic_t                        rui_next_extent;
-       unsigned long                   rui_flags;      /* misc flags */
        struct xfs_rui_log_format       rui_format;
 };
 
index 3e8808bb07c5971519c10d59352774f8bcd0de55..8308bf6d7e4041662a9964873139f2c6e804e966 100644 (file)
@@ -59,12 +59,14 @@ struct xfs_log_item {
 #define        XFS_LI_ABORTED  1
 #define        XFS_LI_FAILED   2
 #define        XFS_LI_DIRTY    3       /* log item dirty in transaction */
+#define        XFS_LI_RECOVERED 4      /* log intent item has been recovered */
 
 #define XFS_LI_FLAGS \
        { (1 << XFS_LI_IN_AIL),         "IN_AIL" }, \
        { (1 << XFS_LI_ABORTED),        "ABORTED" }, \
        { (1 << XFS_LI_FAILED),         "FAILED" }, \
-       { (1 << XFS_LI_DIRTY),          "DIRTY" }
+       { (1 << XFS_LI_DIRTY),          "DIRTY" }, \
+       { (1 << XFS_LI_RECOVERED),      "RECOVERED" }
 
 struct xfs_item_ops {
        unsigned flags;