diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2022-03-30 13:47:07 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2022-04-02 16:02:56 -0400 |
commit | 2e5abacbe76d8db68155eaa2347b7cd390fdbe1d (patch) | |
tree | 9f26cb79704a2491bb630750f14b9c2bffb52a10 | |
parent | aa06b77da80be8fe96c0ff9386a0fdfb8bc32e0f (diff) |
bcachefs: btree_path_make_mut() clears should_be_locked
This fixes a bug where __bch2_btree_node_update_key() wasn't clearing
should_be_locked, leading to bch2_btree_path_traverse() always failing -
all callers of btree_path_make_mut() want should_be_locked cleared, so
do it there.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
-rw-r--r-- | fs/bcachefs/btree_iter.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/bcachefs/btree_iter.c b/fs/bcachefs/btree_iter.c index 9abf73b6b5b7..8c38b58050a5 100644 --- a/fs/bcachefs/btree_iter.c +++ b/fs/bcachefs/btree_iter.c @@ -1686,6 +1686,7 @@ bch2_btree_path_make_mut(struct btree_trans *trans, btree_trans_verify_sorted(trans); } + path->should_be_locked = false; return path; } @@ -1705,8 +1706,7 @@ bch2_btree_path_set_pos(struct btree_trans *trans, path = bch2_btree_path_make_mut(trans, path, intent, ip); - path->pos = new_pos; - path->should_be_locked = false; + path->pos = new_pos; bch2_btree_path_check_sort(trans, path, cmp); |