bcachefs: LRU repair tweaks
authorKent Overstreet <kent.overstreet@gmail.com>
Sat, 14 May 2022 10:58:51 +0000 (06:58 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:09:32 +0000 (17:09 -0400)
 - Drop old unneeded parameter for whether we're in initial GC - which
   was from when btree updates had to be done differently before we
   went RW.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
fs/bcachefs/lru.c
fs/bcachefs/lru.h
fs/bcachefs/recovery.c

index ce23b38382f5270a94cb93f1ef01971fab4ffb92..d278331776dd9158ecce67ae25072854dda915bc 100644 (file)
@@ -130,7 +130,7 @@ int bch2_lru_change(struct btree_trans *trans, u64 id, u64 idx,
 }
 
 static int bch2_check_lru_key(struct btree_trans *trans,
-                             struct btree_iter *lru_iter, bool initial)
+                             struct btree_iter *lru_iter)
 {
        struct bch_fs *c = trans->c;
        struct btree_iter iter;
@@ -193,7 +193,7 @@ fsck_err:
        return ret;
 }
 
-int bch2_check_lrus(struct bch_fs *c, bool initial)
+int bch2_check_lrus(struct bch_fs *c)
 {
        struct btree_trans trans;
        struct btree_iter iter;
@@ -207,7 +207,7 @@ int bch2_check_lrus(struct bch_fs *c, bool initial)
                ret = __bch2_trans_do(&trans, NULL, NULL,
                                      BTREE_INSERT_NOFAIL|
                                      BTREE_INSERT_LAZY_RW,
-                       bch2_check_lru_key(&trans, &iter, initial));
+                       bch2_check_lru_key(&trans, &iter));
                if (ret)
                        break;
        }
index bfe38a67e5858445e8f3ca8e74db66051ddb7e14..3decb7b1dde23b9ac4cfa2e26af4fdd73f03e67d 100644 (file)
@@ -14,6 +14,6 @@ int bch2_lru_delete(struct btree_trans *, u64, u64, u64, struct bkey_s_c);
 int bch2_lru_set(struct btree_trans *, u64, u64, u64 *);
 int bch2_lru_change(struct btree_trans *, u64, u64, u64, u64 *, struct bkey_s_c);
 
-int bch2_check_lrus(struct bch_fs *, bool);
+int bch2_check_lrus(struct bch_fs *);
 
 #endif /* _BCACHEFS_LRU_H */
index f54859b49416101b1b236a99ba0d80825adeecb6..87a4bced853a8db1f6913fee8fe549c311253cc9 100644 (file)
@@ -1256,24 +1256,19 @@ use_clean:
 
                bch_info(c, "checking lrus");
                err = "error checking lrus";
-               ret = bch2_check_lrus(c, true);
+               ret = bch2_check_lrus(c);
                if (ret)
                        goto err;
                bch_verbose(c, "done checking lrus");
-
                set_bit(BCH_FS_CHECK_LRUS_DONE, &c->flags);
 
                bch_info(c, "checking alloc to lru refs");
                err = "error checking alloc to lru refs";
                ret = bch2_check_alloc_to_lru_refs(c);
-               if (ret)
-                       goto err;
-               set_bit(BCH_FS_CHECK_ALLOC_TO_LRU_REFS_DONE, &c->flags);
-
-               ret = bch2_check_lrus(c, true);
                if (ret)
                        goto err;
                bch_verbose(c, "done checking alloc to lru refs");
+               set_bit(BCH_FS_CHECK_ALLOC_TO_LRU_REFS_DONE, &c->flags);
        } else {
                set_bit(BCH_FS_MAY_GO_RW, &c->flags);
                set_bit(BCH_FS_INITIAL_GC_DONE, &c->flags);