* [koverstreet-bcachefs:bcachefs-testing 851/875] fs/bcachefs/data/reconcile.c:317:6: error: cannot jump from this goto statement to its label
@ 2025-11-14 8:02 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-11-14 8:02 UTC (permalink / raw)
To: Kent Overstreet; +Cc: llvm, oe-kbuild-all
tree: https://github.com/koverstreet/bcachefs bcachefs-testing
head: ab3c04679170b0e63c55680f725ceb4218b2b04c
commit: 08209c1a245fe1ca0b78b31747565a552670f76e [851/875] bcachefs: bch_extent_rebalance_bp
config: s390-defconfig (https://download.01.org/0day-ci/archive/20251114/202511141510.PFNhwbDi-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 0bba1e76581bad04e7d7f09f5115ae5e2989e0d9)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251114/202511141510.PFNhwbDi-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202511141510.PFNhwbDi-lkp@intel.com/
Note: the koverstreet-bcachefs/bcachefs-testing HEAD ab3c04679170b0e63c55680f725ceb4218b2b04c builds fine.
It only hurts bisectability.
All errors (new ones prefixed by >>):
>> fs/bcachefs/data/reconcile.c:317:6: error: cannot jump from this goto statement to its label
317 | if (fsck_err_on(!bp.v->level,
| ^
fs/bcachefs/init/error.h:143:2: note: expanded from macro 'fsck_err_on'
143 | __fsck_err_on(cond, c, FSCK_CAN_FIX|FSCK_CAN_IGNORE, _err_type, __VA_ARGS__)
| ^
fs/bcachefs/init/error.h:130:20: note: expanded from macro '__fsck_err_on'
130 | (unlikely(cond) ? __fsck_err(c, _flags, _err_type, __VA_ARGS__) : false);\
| ^
fs/bcachefs/init/error.h:117:26: note: expanded from macro '__fsck_err'
117 | #define __fsck_err(...) fsck_err_wrap(bch2_fsck_err(__VA_ARGS__))
| ^
fs/bcachefs/init/error.h:111:3: note: expanded from macro 'fsck_err_wrap'
111 | goto fsck_err; \
| ^
fs/bcachefs/data/reconcile.c:342:25: note: jump bypasses initialization of variable with __attribute__((cleanup))
342 | CLASS(btree_node_iter, iter2)(trans, bp.v->btree_id, bp.v->pos, 0, bp.v->level - 1, 0);
| ^
1 error generated.
vim +317 fs/bcachefs/data/reconcile.c
307
308 static struct bkey_s_c rebalance_bp_get_key(struct btree_trans *trans,
309 struct btree_iter *iter,
310 struct bkey_s_c_backpointer bp)
311 {
312 struct bch_fs *c = trans->c;
313 int ret = 0;
314 CLASS(printbuf, buf)();
315
316 /* don't allow bps to non btree nodes: */
> 317 if (fsck_err_on(!bp.v->level,
318 trans, reconcile_bp_to_leaf_node_key,
319 "reconcile bp to leaf node key\n%s",
320 (bch2_bkey_val_to_text(&buf, c, bp.s_c), buf.buf))) {
321 ret = bch2_btree_delete(trans, BTREE_ID_reconcile_scan, bp.k->p, 0) ?:
322 bch2_trans_commit(trans, NULL, NULL, BCH_TRANS_COMMIT_no_enospc);
323 return ret ? bkey_s_c_err(ret) : bkey_s_c_null;
324 }
325
326 bch2_trans_node_iter_init(trans, iter, bp.v->btree_id, bp.v->pos, 0, bp.v->level, 0);
327 struct bkey_s_c k = bch2_btree_iter_peek_slot(iter);
328 if (bkey_err(k))
329 return k;
330
331 /*
332 * peek_slot() doesn't normally return NULL - except when we ask for a
333 * key at a btree level that doesn't exist.
334 *
335 * We may want to revisit this and change peek_slot():
336 */
337 if (k.k && bch2_bkey_get_rebalance_bp(c, k) == bp.k->p.offset)
338 return k;
339
340 /* walk down a level, check for btree_node_will_make_reachable(b)) */
341
342 CLASS(btree_node_iter, iter2)(trans, bp.v->btree_id, bp.v->pos, 0, bp.v->level - 1, 0);
343 struct btree *b = bch2_btree_iter_peek_node(&iter2);
344 if (IS_ERR(b))
345 return bkey_s_c_err(PTR_ERR(b));
346
347 if (b) {
348 if (btree_node_will_make_reachable(b))
349 return bkey_s_c_null;
350
351 k = bkey_i_to_s_c(&b->key);
352 if (bch2_bkey_get_rebalance_bp(c, k) == bp.k->p.offset)
353 return k;
354 }
355
356 prt_printf(&buf, "reconcile backpointer to missing/incorrect btree ptr\n");
357 bch2_bkey_val_to_text(&buf, c, bp.s_c);
358 prt_newline(&buf);
359 if (k.k)
360 bch2_bkey_val_to_text(&buf, c, k);
361 else
362 prt_str(&buf, "(no key)");
363
364 if (b) {
365 prt_newline(&buf);
366 bch2_bkey_val_to_text(&buf, c, bkey_i_to_s_c(&b->key));
367 }
368
369 if (fsck_err(trans, reconcile_bp_to_missing_btree_ptr, "%s", buf.buf))
370 ret = bch2_btree_delete(trans, BTREE_ID_reconcile_scan, bp.k->p, 0) ?:
371 bch2_trans_commit(trans, NULL, NULL, BCH_TRANS_COMMIT_no_enospc);
372 fsck_err:
373 return ret ? bkey_s_c_err(ret) : bkey_s_c_null;
374 }
375
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-11-14 8:03 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-14 8:02 [koverstreet-bcachefs:bcachefs-testing 851/875] fs/bcachefs/data/reconcile.c:317:6: error: cannot jump from this goto statement to its label kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).