From: Kent Overstreet Date: Sat, 21 Mar 2020 18:08:01 +0000 (-0400) Subject: bcachefs: Fix count_iters_for_insert() X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=fa4dc3987b8e75ec1bfd327bb05755d153c276d6;p=linux.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: