From: Kent Overstreet Date: Tue, 23 Jul 2019 22:56:28 +0000 (-0400) Subject: bcachefs: add missing bch2_trans_begin() call X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=a9058a223fd2168d96195df3b918e395be8869e3;p=linux.git bcachefs: add missing bch2_trans_begin() call for_each_btree_key() calls bch2_trans_get_iter() - we have to reset the transaction state before getting the iterator again, in the retry path Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/io.c b/fs/bcachefs/io.c index 8f16e252d2f1c..a539719661b85 100644 --- a/fs/bcachefs/io.c +++ b/fs/bcachefs/io.c @@ -1263,11 +1263,13 @@ static void bch2_read_retry(struct bch_fs *c, struct bch_read_bio *rbio, struct bkey_s_c k; int ret; - bch2_trans_init(&trans, c, 0, 0); - flags &= ~BCH_READ_LAST_FRAGMENT; flags |= BCH_READ_MUST_CLONE; + + bch2_trans_init(&trans, c, 0, 0); retry: + bch2_trans_begin(&trans); + for_each_btree_key(&trans, iter, BTREE_ID_EXTENTS, POS(inode, bvec_iter.bi_sector), BTREE_ITER_SLOTS, k, ret) {