diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2023-12-07 13:11:44 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2024-01-01 11:47:40 -0500 |
commit | f8fd5871becf3beb7dff84c4608140a8c571c9a9 (patch) | |
tree | 83e1b5fb2918be8a633282c501408233f3906f53 /fs/bcachefs/btree_iter.c | |
parent | 5028b9078ccb02ead012056dcbcc4f27f963b212 (diff) | |
download | linux-stable-f8fd5871becf3beb7dff84c4608140a8c571c9a9.tar.gz linux-stable-f8fd5871becf3beb7dff84c4608140a8c571c9a9.tar.bz2 linux-stable-f8fd5871becf3beb7dff84c4608140a8c571c9a9.zip |
bcachefs: reserve path idx 0 for sentinal
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/btree_iter.c')
-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 59815c0d0db6..e2f010564ceb 100644 --- a/fs/bcachefs/btree_iter.c +++ b/fs/bcachefs/btree_iter.c @@ -2515,7 +2515,7 @@ static void btree_trans_verify_sorted_refs(struct btree_trans *trans) struct btree_path *path; unsigned i; - BUG_ON(trans->nr_sorted != bitmap_weight(trans->paths_allocated, BTREE_ITER_MAX)); + BUG_ON(trans->nr_sorted != bitmap_weight(trans->paths_allocated, BTREE_ITER_MAX) - 1); trans_for_each_path(trans, path) { BUG_ON(path->sorted_idx >= trans->nr_sorted); @@ -2896,6 +2896,8 @@ struct btree_trans *__bch2_trans_get(struct bch_fs *c, unsigned fn_idx) atomic_inc_not_zero(&c->journal_keys.ref); closure_init_stack(&trans->ref); + trans->paths_allocated[0] = 1; + s = btree_trans_stats(trans); if (s && s->max_mem) { unsigned expected_mem_bytes = roundup_pow_of_two(s->max_mem); |