From 4a67b94bd816b56768fe06d880f02ae0bf6ceade Mon Sep 17 00:00:00 2001 From: Alan Huang Date: Tue, 13 May 2025 02:44:26 +0800 Subject: [PATCH] bcachefs: Early return to avoid unnecessary lock Signed-off-by: Alan Huang Signed-off-by: Kent Overstreet --- fs/bcachefs/alloc_background.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/fs/bcachefs/alloc_background.c b/fs/bcachefs/alloc_background.c index 51dfd2f24c209..daf23d471d4f1 100644 --- a/fs/bcachefs/alloc_background.c +++ b/fs/bcachefs/alloc_background.c @@ -2576,19 +2576,18 @@ u64 bch2_min_rw_member_capacity(struct bch_fs *c) static bool bch2_dev_has_open_write_point(struct bch_fs *c, struct bch_dev *ca) { struct open_bucket *ob; - bool ret = false; for (ob = c->open_buckets; ob < c->open_buckets + ARRAY_SIZE(c->open_buckets); ob++) { - spin_lock(&ob->lock); - if (ob->valid && !ob->on_partial_list && - ob->dev == ca->dev_idx) - ret = true; - spin_unlock(&ob->lock); + scoped_guard(spinlock, &ob->lock) { + if (ob->valid && !ob->on_partial_list && + ob->dev == ca->dev_idx) + return true; + } } - return ret; + return false; } void bch2_dev_allocator_set_rw(struct bch_fs *c, struct bch_dev *ca, bool rw) -- 2.47.2