summaryrefslogtreecommitdiff
path: root/libbcachefs/journal.c
diff options
context:
space:
mode:
Diffstat (limited to 'libbcachefs/journal.c')
-rw-r--r--libbcachefs/journal.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/libbcachefs/journal.c b/libbcachefs/journal.c
index 510066a2..92364fea 100644
--- a/libbcachefs/journal.c
+++ b/libbcachefs/journal.c
@@ -164,21 +164,15 @@ static void journal_seq_blacklist_flush(struct journal *j,
mutex_unlock(&j->blacklist_lock);
__bch2_btree_iter_init(&iter, c, n.btree_id, n.pos, 0, 0, 0);
-redo_peek:
+
b = bch2_btree_iter_peek_node(&iter);
/* The node might have already been rewritten: */
if (b->data->keys.seq == n.seq) {
- ret = bch2_btree_node_rewrite(&iter, b, &cl);
+ ret = bch2_btree_node_rewrite(c, &iter, n.seq, 0);
if (ret) {
bch2_btree_iter_unlock(&iter);
- closure_sync(&cl);
-
- if (ret == -EAGAIN ||
- ret == -EINTR)
- goto redo_peek;
-
bch2_fs_fatal_error(c,
"error %i rewriting btree node with blacklisted journal seq",
ret);
@@ -190,8 +184,6 @@ redo_peek:
bch2_btree_iter_unlock(&iter);
}
- closure_sync(&cl);
-
for (i = 0;; i++) {
struct btree_interior_update *as;
struct pending_btree_node_free *d;