diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2020-03-21 14:08:01 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2020-03-21 14:08:19 -0400 |
commit | 6de9b61b64b2bc0fbf677a062fdc8ffb3056e1c6 (patch) | |
tree | 76d948fa10716c0afdd24a84ecc8a44acf286625 | |
parent | 5696e6621c3e6cdf3b10f558f7c578a030c7d459 (diff) |
bcachefs: Fix count_iters_for_insert()
This fixes a transaction iterator overflow.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
-rw-r--r-- | fs/bcachefs/extent_update.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/bcachefs/extent_update.c b/fs/bcachefs/extent_update.c index beb3b694e33c..8e5070d5a39b 100644 --- a/fs/bcachefs/extent_update.c +++ b/fs/bcachefs/extent_update.c @@ -44,6 +44,10 @@ static int count_iters_for_insert(struct btree_trans *trans, * extent we're inserting and overwriting: */ *nr_iters += 1; + if (*nr_iters >= max_iters) { + *end = bpos_min(*end, k.k->p); + ret = 1; + } switch (k.k->type) { case KEY_TYPE_extent: |