Clang warns (or errors with CONFIG_WERROR=y):

  fs/bcachefs/fsck.c:2325:2: error: label followed by a declaration is a C23 
extension [-Werror,-Wc23-extensions]
   2325 |         int ret = bch2_trans_run(c,
        |         ^

On clang-17 and older, this is an unconditional error:

  fs/bcachefs/fsck.c:2325:2: error: expected expression
   2325 |         int ret = bch2_trans_run(c,
        |         ^

Move the declaration of ret to the top of the function to resolve both
ways this issue manifests.

Fixes: c72def523799 ("bcachefs: Run check_dirents second time if required")
Signed-off-by: Nathan Chancellor <[email protected]>
---
 fs/bcachefs/fsck.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/bcachefs/fsck.c b/fs/bcachefs/fsck.c
index 40d6110c3671..68ed69a255e1 100644
--- a/fs/bcachefs/fsck.c
+++ b/fs/bcachefs/fsck.c
@@ -2319,10 +2319,11 @@ int bch2_check_dirents(struct bch_fs *c)
        struct snapshots_seen s;
        struct bch_hash_info hash_info;
        bool need_second_pass = false, did_second_pass = false;
+       int ret;
 
        snapshots_seen_init(&s);
 again:
-       int ret = bch2_trans_run(c,
+       ret = bch2_trans_run(c,
                for_each_btree_key_commit(trans, iter, BTREE_ID_dirents,
                                POS(BCACHEFS_ROOT_INO, 0),
                                BTREE_ITER_prefetch|BTREE_ITER_all_snapshots, k,

---
base-commit: c1af8a9222e641dbcb722a1d033f6aed4fbcfc34
change-id: 
20250604-bcachefs-fix-clang-label-followed-by-declaration-faca94ac08dd

Best regards,
-- 
Nathan Chancellor <[email protected]>


Reply via email to