projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
61274e9
)
bcachefs: fix btree iterator bug when using depth > 0
author
Kent Overstreet
<kent.overstreet@gmail.com>
Wed, 21 Nov 2018 07:59:07 +0000
(
02:59
-0500)
committer
Kent Overstreet
<kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:12 +0000
(17:08 -0400)
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/btree_iter.c
patch
|
blob
|
history
diff --git
a/fs/bcachefs/btree_iter.c
b/fs/bcachefs/btree_iter.c
index ea37fa21ed6ed584086ad4ecd758697f4bfdc085..a50a6a51a3a5482d8ebfcb67908a0ccd3c7fc2cf 100644
(file)
--- a/
fs/bcachefs/btree_iter.c
+++ b/
fs/bcachefs/btree_iter.c
@@
-818,7
+818,7
@@
static inline int btree_iter_lock_root(struct btree_iter *iter,
*/
iter->level = depth_want;
iter->l[iter->level].b = NULL;
- return
0
;
+ return
1
;
}
lock_type = __btree_lock_want(iter, iter->level);
@@
-1045,6
+1045,9
@@
int __must_check __bch2_btree_iter_traverse(struct btree_iter *iter)
? btree_iter_down(iter)
: btree_iter_lock_root(iter, depth_want);
if (unlikely(ret)) {
+ if (ret == 1)
+ return 0;
+
iter->level = depth_want;
iter->l[iter->level].b = BTREE_ITER_NOT_END;
return ret;