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 1e9bc8d..8a5ac8c 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 44d06e6..b9be62f 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 99c4643..ffa15bc 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 4b2c2c5..cd2860c 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 a9c5133..c7d584b 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 cfaa857..f4f2e83 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 ee0be43..45cc7bf 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 48a77a6..31e6cdf 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 3e8808b..8308bf6 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;