diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2020-12-19 18:05:09 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2020-12-19 18:05:09 -0500 |
commit | 80846e9c28e76774daf7d2d46115d73f108b98db (patch) | |
tree | 625f8757948c81571e6678279ddedc3c392862a2 /libbcachefs/btree_iter.h | |
parent | db931a4571817d7d61be6bce306f1d42f7cd3398 (diff) |
Update bcachefs sources to 5241335413 bcachefs: Fix for spinning in journal reclaim on startup
Diffstat (limited to 'libbcachefs/btree_iter.h')
-rw-r--r-- | libbcachefs/btree_iter.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/libbcachefs/btree_iter.h b/libbcachefs/btree_iter.h index ee8c4346..9a7f8d01 100644 --- a/libbcachefs/btree_iter.h +++ b/libbcachefs/btree_iter.h @@ -51,11 +51,17 @@ static inline int btree_iter_err(const struct btree_iter *iter) static inline struct btree_iter * __trans_next_iter(struct btree_trans *trans, unsigned idx) { - u64 l = trans->iters_linked >> idx; + u64 l; + + if (idx == BTREE_ITER_MAX) + return NULL; + + l = trans->iters_linked >> idx; if (!l) return NULL; idx += __ffs64(l); + EBUG_ON(idx >= BTREE_ITER_MAX); EBUG_ON(trans->iters[idx].idx != idx); return &trans->iters[idx]; } |