From: Kent Overstreet Date: Fri, 8 Dec 2023 04:50:38 +0000 (-0500) Subject: bcachefs: Fix bch2_read_btree() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=be1fa63de867aa26f2f57e6f5db2a358f6da5ad1;p=linux.git bcachefs: Fix bch2_read_btree() In the debugfs code, we had an incorrect use of drop_locks_do(); on transaction restart we don't want to restart the current loop iteration, since we've already emitted the current key to the buffer for userspace. Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/debug.c b/fs/bcachefs/debug.c index 57c5128db173f..c45421a2f4085 100644 --- a/fs/bcachefs/debug.c +++ b/fs/bcachefs/debug.c @@ -385,7 +385,8 @@ static ssize_t bch2_read_btree(struct file *file, char __user *buf, BTREE_ITER_ALL_SNAPSHOTS, k, ({ bch2_bkey_val_to_text(&i->buf, i->c, k); prt_newline(&i->buf); - drop_locks_do(trans, flush_buf(i)); + bch2_trans_unlock(trans); + flush_buf(i); })); i->from = iter.pos; @@ -490,7 +491,8 @@ static ssize_t bch2_read_bfloat_failed(struct file *file, char __user *buf, } bch2_bfloat_to_text(&i->buf, l->b, _k); - drop_locks_do(trans, flush_buf(i)); + bch2_trans_unlock(trans); + flush_buf(i); })); i->from = iter.pos;