From: Kent Overstreet Date: Tue, 24 Jan 2023 01:28:59 +0000 (-0500) Subject: bcachefs: Fix bch2_bucket_alloc_early() X-Git-Tag: io_uring-6.7-2023-11-10~119^2~589 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=db36c1477d1753f4d5bebaed074ca4e4477df3ea;p=linux-block.git bcachefs: Fix bch2_bucket_alloc_early() We were incorrectly retrying after a transaction restart. Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/alloc_foreground.c b/fs/bcachefs/alloc_foreground.c index 3219c37d9262..471ae15caa75 100644 --- a/fs/bcachefs/alloc_foreground.c +++ b/fs/bcachefs/alloc_foreground.c @@ -421,12 +421,15 @@ again: ca->alloc_cursor = alloc_cursor; + if (!ob && ret) + ob = ERR_PTR(ret); + if (!ob && alloc_cursor > alloc_start) { alloc_cursor = alloc_start; goto again; } - return ob ?: ERR_PTR(ret ?: -BCH_ERR_no_buckets_found); + return ob; } static struct open_bucket *bch2_bucket_alloc_freelist(struct btree_trans *trans,