]> git.sesse.net Git - bcachefs-tools-debian/commitdiff
Update bcachefs sources to 7a06c01fa3 bcachefs: Fix for getting stuck in journal...
authorKent Overstreet <kent.overstreet@gmail.com>
Tue, 12 Apr 2022 16:52:50 +0000 (12:52 -0400)
committerKent Overstreet <kent.overstreet@gmail.com>
Tue, 12 Apr 2022 16:52:50 +0000 (12:52 -0400)
.bcachefs_revision
libbcachefs/recovery.c

index 14d539bb46dae9c9dc084911762ab4812d23da81..b5e5e7184bddadde71f7ead88fed20f772f30105 100644 (file)
@@ -1 +1 @@
-de2fbf8b875fd8e61cc9a583d073f5527e3cb8e7
+7a06c01fa30b52389bb050244ecfae48026efaa1
index 80acbc7d3efa90847fb32e95a6539742b625488d..a9b4ad17705175ce171cefc9facd6f59fc1ef0bf 100644 (file)
@@ -556,7 +556,8 @@ static int journal_keys_sort(struct bch_fs *c)
 static void replay_now_at(struct journal *j, u64 seq)
 {
        BUG_ON(seq < j->replay_journal_seq);
-       BUG_ON(seq > j->replay_journal_seq_end);
+
+       seq = min(seq, j->replay_journal_seq_end);
 
        while (j->replay_journal_seq < seq)
                bch2_journal_pin_put(j, j->replay_journal_seq++);
@@ -629,8 +630,7 @@ static int bch2_journal_replay(struct bch_fs *c)
 
                cond_resched();
 
-               if (!k->allocated)
-                       replay_now_at(j, keys->journal_seq_base + k->journal_seq);
+               replay_now_at(j, keys->journal_seq_base + k->journal_seq);
 
                ret = bch2_trans_do(c, NULL, NULL,
                                    BTREE_INSERT_LAZY_RW|