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