diff options
author | Kent Overstreet <[email protected]> | 2022-02-24 13:27:31 -0500 |
---|---|---|
committer | Kent Overstreet <[email protected]> | 2023-10-22 17:09:25 -0400 |
commit | 25a7723182ee62a8e74b204acbd117e4d6c12341 (patch) | |
tree | 081a46edc601a7feefe3de3f1cf3f7741429129b | |
parent | 0c10cf852551edca80a2b711de1c84fd001ffd02 (diff) |
bcachefs: Always clear should_be_locked in bch2_trans_begin()
bch2_trans_begin() invalidates all iterators, until they're revalidated
by calling peek() or traverse().
Signed-off-by: Kent Overstreet <[email protected]>
-rw-r--r-- | fs/bcachefs/btree_iter.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/bcachefs/btree_iter.c b/fs/bcachefs/btree_iter.c index 1015e89d2d68..8aacaa05fc14 100644 --- a/fs/bcachefs/btree_iter.c +++ b/fs/bcachefs/btree_iter.c @@ -2988,6 +2988,8 @@ void bch2_trans_begin(struct btree_trans *trans) } trans_for_each_path(trans, path) { + path->should_be_locked = false; + /* * XXX: we probably shouldn't be doing this if the transaction * was restarted, but currently we still overflow transaction @@ -2996,7 +2998,7 @@ void bch2_trans_begin(struct btree_trans *trans) if (!path->ref && !path->preserve) __bch2_path_free(trans, path); else - path->preserve = path->should_be_locked = false; + path->preserve = false; } bch2_trans_cond_resched(trans); |