From: Kent Overstreet Date: Sat, 21 Mar 2020 18:08:01 +0000 (-0400) Subject: bcachefs: Fix count_iters_for_insert() X-Git-Tag: io_uring-6.7-2023-11-10~119^2~2141 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=fa4dc3987b8e75ec1bfd327bb05755d153c276d6;p=linux-block.git bcachefs: Fix count_iters_for_insert() This fixes a transaction iterator overflow. Signed-off-by: Kent Overstreet Signed-off-by: Kent Overstreet --- 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: