From 37dd783474d07f8aa210ecf5cc82fd900417eb8b Mon Sep 17 00:00:00 2001 From: Kent Overstreet <kent.overstreet@gmail.com> Date: Fri, 24 May 2019 14:33:16 -0400 Subject: [PATCH] bcachefs: Fix an error path in bch2_btree_iter_traverse() Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev> --- fs/bcachefs/btree_iter.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/fs/bcachefs/btree_iter.c b/fs/bcachefs/btree_iter.c index 2579944bb8c1..9e6faf7e2830 100644 --- a/fs/bcachefs/btree_iter.c +++ b/fs/bcachefs/btree_iter.c @@ -959,9 +959,10 @@ static void btree_iter_up(struct btree_iter *iter) int __must_check __bch2_btree_iter_traverse(struct btree_iter *); static int __btree_iter_traverse_all(struct btree_trans *trans, - struct btree_iter *iter, int ret) + struct btree_iter *orig_iter, int ret) { struct bch_fs *c = trans->c; + struct btree_iter *iter; u8 sorted[BTREE_ITER_MAX]; unsigned i, nr_sorted = 0; @@ -990,8 +991,8 @@ static int __btree_iter_traverse_all(struct btree_trans *trans, if (unlikely(ret == -EIO)) { trans->error = true; - iter->flags |= BTREE_ITER_ERROR; - iter->l[iter->level].b = BTREE_ITER_NO_NODE_ERROR; + orig_iter->flags |= BTREE_ITER_ERROR; + orig_iter->l[orig_iter->level].b = BTREE_ITER_NO_NODE_ERROR; goto out; } -- 2.30.9