]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - libbcachefs/btree_gc.c
Update bcachefs sources to cd779e0cc5 bcachefs: Skip inode unpack/pack in bch2_extent...
[bcachefs-tools-debian] / libbcachefs / btree_gc.c
index 5b7f7cd3252a6db4a68089b275a07633645aea9b..801a09f6fc1141f595cfc89b2cc4b151fbb85978 100644 (file)
@@ -318,7 +318,7 @@ static int btree_repair_node_boundaries(struct bch_fs *c, struct btree *b,
                                "  node %s",
                                bch2_btree_ids[b->c.btree_id], b->c.level,
                                buf1.buf, buf2.buf))
-                   ret = set_node_min(c, cur, expected_start);
+                       ret = set_node_min(c, cur, expected_start);
        }
 out:
 fsck_err:
@@ -1966,7 +1966,7 @@ int bch2_gc_gens(struct bch_fs *c)
        }
 
        for (i = 0; i < BTREE_ID_NR; i++)
-               if ((1 << i) & BTREE_ID_HAS_PTRS) {
+               if (btree_type_has_ptrs(i)) {
                        struct btree_iter iter;
                        struct bkey_s_c k;
 
@@ -1979,10 +1979,10 @@ int bch2_gc_gens(struct bch_fs *c)
                                        NULL, NULL,
                                        BTREE_INSERT_NOFAIL,
                                gc_btree_gens_key(&trans, &iter, k));
-                       if (ret) {
+                       if (ret && ret != -EROFS)
                                bch_err(c, "error recalculating oldest_gen: %s", bch2_err_str(ret));
+                       if (ret)
                                goto err;
-                       }
                }
 
        ret = for_each_btree_key_commit(&trans, iter, BTREE_ID_alloc,
@@ -1992,10 +1992,10 @@ int bch2_gc_gens(struct bch_fs *c)
                        NULL, NULL,
                        BTREE_INSERT_NOFAIL,
                bch2_alloc_write_oldest_gen(&trans, &iter, k));
-       if (ret) {
+       if (ret && ret != -EROFS)
                bch_err(c, "error writing oldest_gen: %s", bch2_err_str(ret));
+       if (ret)
                goto err;
-       }
 
        c->gc_gens_btree        = 0;
        c->gc_gens_pos          = POS_MIN;