* [koverstreet-bcachefs:master 216/223] fs/bcachefs/data/ec/trigger.c:378 bch2_trigger_stripe() error: we previously assumed 'new_s' could be null (see line 356)
@ 2026-01-20 6:04 ` Dan Carpenter
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-01-19 12:45 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp, Dan Carpenter
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: Kent Overstreet <kent.overstreet@linux.dev>
tree: https://github.com/koverstreet/bcachefs master
head: 1c240e59948ecca320c96b94db4ffae87581d477
commit: bde39b90107558a6e5c84934716bf171ced1cef5 [216/223] bcachefs: Split up data/ec.c
:::::: branch date: 6 hours ago
:::::: commit date: 2 days ago
config: arm64-randconfig-r073-20260119 (https://download.01.org/0day-ci/archive/20260119/202601192049.4ACBGS97-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 8.5.0
smatch version: v0.5.0-8985-g2614ff1a
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>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202601192049.4ACBGS97-lkp@intel.com/
smatch warnings:
fs/bcachefs/data/ec/trigger.c:378 bch2_trigger_stripe() error: we previously assumed 'new_s' could be null (see line 356)
vim +/new_s +378 fs/bcachefs/data/ec/trigger.c
bde39b90107558 Kent Overstreet 2026-01-17 314
bde39b90107558 Kent Overstreet 2026-01-17 315 int bch2_trigger_stripe(struct btree_trans *trans,
bde39b90107558 Kent Overstreet 2026-01-17 316 enum btree_id btree, unsigned level,
bde39b90107558 Kent Overstreet 2026-01-17 317 struct bkey_s_c old, struct bkey_s _new,
bde39b90107558 Kent Overstreet 2026-01-17 318 enum btree_iter_update_trigger_flags flags)
bde39b90107558 Kent Overstreet 2026-01-17 319 {
bde39b90107558 Kent Overstreet 2026-01-17 320 struct bkey_s_c new = _new.s_c;
bde39b90107558 Kent Overstreet 2026-01-17 321 struct bch_fs *c = trans->c;
bde39b90107558 Kent Overstreet 2026-01-17 322 u64 idx = new.k->p.offset;
bde39b90107558 Kent Overstreet 2026-01-17 323 const struct bch_stripe *old_s = old.k->type == KEY_TYPE_stripe
bde39b90107558 Kent Overstreet 2026-01-17 324 ? bkey_s_c_to_stripe(old).v : NULL;
bde39b90107558 Kent Overstreet 2026-01-17 325 const struct bch_stripe *new_s = new.k->type == KEY_TYPE_stripe
bde39b90107558 Kent Overstreet 2026-01-17 326 ? bkey_s_c_to_stripe(new).v : NULL;
bde39b90107558 Kent Overstreet 2026-01-17 327
bde39b90107558 Kent Overstreet 2026-01-17 328 if (unlikely(flags & BTREE_TRIGGER_check_repair))
bde39b90107558 Kent Overstreet 2026-01-17 329 return bch2_check_fix_ptrs(trans, btree, level, _new.s_c, flags);
bde39b90107558 Kent Overstreet 2026-01-17 330
bde39b90107558 Kent Overstreet 2026-01-17 331 BUG_ON(new_s && old_s &&
bde39b90107558 Kent Overstreet 2026-01-17 332 (new_s->nr_blocks != old_s->nr_blocks ||
bde39b90107558 Kent Overstreet 2026-01-17 333 new_s->nr_redundant != old_s->nr_redundant));
bde39b90107558 Kent Overstreet 2026-01-17 334
bde39b90107558 Kent Overstreet 2026-01-17 335 if (flags & BTREE_TRIGGER_transactional) {
bde39b90107558 Kent Overstreet 2026-01-17 336 u64 old_lru_pos = stripe_lru_pos(old_s);
bde39b90107558 Kent Overstreet 2026-01-17 337 u64 new_lru_pos = stripe_lru_pos(new_s);
bde39b90107558 Kent Overstreet 2026-01-17 338
bde39b90107558 Kent Overstreet 2026-01-17 339 if (new_lru_pos == STRIPE_LRU_POS_EMPTY &&
bde39b90107558 Kent Overstreet 2026-01-17 340 !bch2_stripe_is_open(c, idx)) {
bde39b90107558 Kent Overstreet 2026-01-17 341 _new.k->type = KEY_TYPE_deleted;
bde39b90107558 Kent Overstreet 2026-01-17 342 set_bkey_val_u64s(_new.k, 0);
bde39b90107558 Kent Overstreet 2026-01-17 343 new_s = NULL;
bde39b90107558 Kent Overstreet 2026-01-17 344 new_lru_pos = 0;
bde39b90107558 Kent Overstreet 2026-01-17 345 }
bde39b90107558 Kent Overstreet 2026-01-17 346
bde39b90107558 Kent Overstreet 2026-01-17 347 try(bch2_lru_change(trans,
bde39b90107558 Kent Overstreet 2026-01-17 348 BCH_LRU_STRIPE_FRAGMENTATION, idx,
bde39b90107558 Kent Overstreet 2026-01-17 349 old_lru_pos, new_lru_pos));
bde39b90107558 Kent Overstreet 2026-01-17 350 }
bde39b90107558 Kent Overstreet 2026-01-17 351
bde39b90107558 Kent Overstreet 2026-01-17 352 if (flags & (BTREE_TRIGGER_transactional|BTREE_TRIGGER_gc)) {
bde39b90107558 Kent Overstreet 2026-01-17 353 /*
bde39b90107558 Kent Overstreet 2026-01-17 354 * If the pointers aren't changing, we don't need to do anything:
bde39b90107558 Kent Overstreet 2026-01-17 355 */
bde39b90107558 Kent Overstreet 2026-01-17 @356 if (new_s && old_s &&
bde39b90107558 Kent Overstreet 2026-01-17 357 new_s->nr_blocks == old_s->nr_blocks &&
bde39b90107558 Kent Overstreet 2026-01-17 358 new_s->nr_redundant == old_s->nr_redundant &&
bde39b90107558 Kent Overstreet 2026-01-17 359 !memcmp(old_s->ptrs, new_s->ptrs,
bde39b90107558 Kent Overstreet 2026-01-17 360 new_s->nr_blocks * sizeof(struct bch_extent_ptr)))
bde39b90107558 Kent Overstreet 2026-01-17 361 return 0;
bde39b90107558 Kent Overstreet 2026-01-17 362
bde39b90107558 Kent Overstreet 2026-01-17 363 struct gc_stripe *gc = NULL;
bde39b90107558 Kent Overstreet 2026-01-17 364 if (flags & BTREE_TRIGGER_gc) {
bde39b90107558 Kent Overstreet 2026-01-17 365 gc = genradix_ptr_alloc(&c->ec.gc_stripes, idx, GFP_KERNEL);
bde39b90107558 Kent Overstreet 2026-01-17 366 if (!gc) {
bde39b90107558 Kent Overstreet 2026-01-17 367 bch_err(c, "error allocating memory for gc_stripes, idx %llu", idx);
bde39b90107558 Kent Overstreet 2026-01-17 368 return bch_err_throw(c, ENOMEM_mark_stripe);
bde39b90107558 Kent Overstreet 2026-01-17 369 }
bde39b90107558 Kent Overstreet 2026-01-17 370
bde39b90107558 Kent Overstreet 2026-01-17 371 /*
bde39b90107558 Kent Overstreet 2026-01-17 372 * This will be wrong when we bring back runtime gc: we should
bde39b90107558 Kent Overstreet 2026-01-17 373 * be unmarking the old key and then marking the new key
bde39b90107558 Kent Overstreet 2026-01-17 374 *
bde39b90107558 Kent Overstreet 2026-01-17 375 * Also: when we bring back runtime gc, locking
bde39b90107558 Kent Overstreet 2026-01-17 376 */
bde39b90107558 Kent Overstreet 2026-01-17 377 gc->alive = true;
bde39b90107558 Kent Overstreet 2026-01-17 @378 gc->sectors = le16_to_cpu(new_s->sectors);
bde39b90107558 Kent Overstreet 2026-01-17 379 gc->nr_blocks = new_s->nr_blocks;
bde39b90107558 Kent Overstreet 2026-01-17 380 gc->nr_redundant = new_s->nr_redundant;
bde39b90107558 Kent Overstreet 2026-01-17 381
bde39b90107558 Kent Overstreet 2026-01-17 382 for (unsigned i = 0; i < new_s->nr_blocks; i++)
bde39b90107558 Kent Overstreet 2026-01-17 383 gc->ptrs[i] = new_s->ptrs[i];
bde39b90107558 Kent Overstreet 2026-01-17 384
bde39b90107558 Kent Overstreet 2026-01-17 385 /*
bde39b90107558 Kent Overstreet 2026-01-17 386 * gc recalculates this field from stripe ptr
bde39b90107558 Kent Overstreet 2026-01-17 387 * references:
bde39b90107558 Kent Overstreet 2026-01-17 388 */
bde39b90107558 Kent Overstreet 2026-01-17 389 memset(gc->block_sectors, 0, sizeof(gc->block_sectors));
bde39b90107558 Kent Overstreet 2026-01-17 390 }
bde39b90107558 Kent Overstreet 2026-01-17 391
bde39b90107558 Kent Overstreet 2026-01-17 392 if (new_s) {
bde39b90107558 Kent Overstreet 2026-01-17 393 s64 sectors = (u64) le16_to_cpu(new_s->sectors) * new_s->nr_redundant;
bde39b90107558 Kent Overstreet 2026-01-17 394
bde39b90107558 Kent Overstreet 2026-01-17 395 struct disk_accounting_pos acc;
bde39b90107558 Kent Overstreet 2026-01-17 396 memset(&acc, 0, sizeof(acc));
bde39b90107558 Kent Overstreet 2026-01-17 397 acc.type = BCH_DISK_ACCOUNTING_replicas;
bde39b90107558 Kent Overstreet 2026-01-17 398 bch2_bkey_to_replicas(c, &acc.replicas, new);
bde39b90107558 Kent Overstreet 2026-01-17 399 try(bch2_disk_accounting_mod(trans, &acc, §ors, 1, gc));
bde39b90107558 Kent Overstreet 2026-01-17 400
bde39b90107558 Kent Overstreet 2026-01-17 401 if (gc)
bde39b90107558 Kent Overstreet 2026-01-17 402 unsafe_memcpy(&gc->r.e, &acc.replicas,
bde39b90107558 Kent Overstreet 2026-01-17 403 replicas_entry_bytes(&acc.replicas), "VLA");
bde39b90107558 Kent Overstreet 2026-01-17 404 }
bde39b90107558 Kent Overstreet 2026-01-17 405
bde39b90107558 Kent Overstreet 2026-01-17 406 if (old_s) {
bde39b90107558 Kent Overstreet 2026-01-17 407 s64 sectors = -((s64) le16_to_cpu(old_s->sectors)) * old_s->nr_redundant;
bde39b90107558 Kent Overstreet 2026-01-17 408
bde39b90107558 Kent Overstreet 2026-01-17 409 struct disk_accounting_pos acc;
bde39b90107558 Kent Overstreet 2026-01-17 410 memset(&acc, 0, sizeof(acc));
bde39b90107558 Kent Overstreet 2026-01-17 411 acc.type = BCH_DISK_ACCOUNTING_replicas;
bde39b90107558 Kent Overstreet 2026-01-17 412 bch2_bkey_to_replicas(c, &acc.replicas, old);
bde39b90107558 Kent Overstreet 2026-01-17 413 try(bch2_disk_accounting_mod(trans, &acc, §ors, 1, gc));
bde39b90107558 Kent Overstreet 2026-01-17 414 }
bde39b90107558 Kent Overstreet 2026-01-17 415
bde39b90107558 Kent Overstreet 2026-01-17 416 try(mark_stripe_buckets(trans, old, new, flags));
bde39b90107558 Kent Overstreet 2026-01-17 417 }
bde39b90107558 Kent Overstreet 2026-01-17 418
bde39b90107558 Kent Overstreet 2026-01-17 419 if ((flags & (BTREE_TRIGGER_atomic|BTREE_TRIGGER_gc)) == BTREE_TRIGGER_atomic) {
bde39b90107558 Kent Overstreet 2026-01-17 420 if (new_s && stripe_lru_pos(new_s) == 1)
bde39b90107558 Kent Overstreet 2026-01-17 421 bch2_do_stripe_deletes(c);
bde39b90107558 Kent Overstreet 2026-01-17 422 }
bde39b90107558 Kent Overstreet 2026-01-17 423
bde39b90107558 Kent Overstreet 2026-01-17 424 return 0;
bde39b90107558 Kent Overstreet 2026-01-17 425 }
bde39b90107558 Kent Overstreet 2026-01-17 426
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
* [koverstreet-bcachefs:master 216/223] fs/bcachefs/data/ec/trigger.c:378 bch2_trigger_stripe() error: we previously assumed 'new_s' could be null (see line 356)
@ 2026-01-20 6:04 ` Dan Carpenter
0 siblings, 0 replies; 2+ messages in thread
From: Dan Carpenter @ 2026-01-20 6:04 UTC (permalink / raw)
To: oe-kbuild, Kent Overstreet; +Cc: lkp, oe-kbuild-all
tree: https://github.com/koverstreet/bcachefs master
head: 1c240e59948ecca320c96b94db4ffae87581d477
commit: bde39b90107558a6e5c84934716bf171ced1cef5 [216/223] bcachefs: Split up data/ec.c
config: arm64-randconfig-r073-20260119 (https://download.01.org/0day-ci/archive/20260119/202601192049.4ACBGS97-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 8.5.0
smatch version: v0.5.0-8985-g2614ff1a
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>
| Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
| Closes: https://lore.kernel.org/r/202601192049.4ACBGS97-lkp@intel.com/
smatch warnings:
fs/bcachefs/data/ec/trigger.c:378 bch2_trigger_stripe() error: we previously assumed 'new_s' could be null (see line 356)
vim +/new_s +378 fs/bcachefs/data/ec/trigger.c
bde39b90107558 Kent Overstreet 2026-01-17 315 int bch2_trigger_stripe(struct btree_trans *trans,
bde39b90107558 Kent Overstreet 2026-01-17 316 enum btree_id btree, unsigned level,
bde39b90107558 Kent Overstreet 2026-01-17 317 struct bkey_s_c old, struct bkey_s _new,
bde39b90107558 Kent Overstreet 2026-01-17 318 enum btree_iter_update_trigger_flags flags)
bde39b90107558 Kent Overstreet 2026-01-17 319 {
bde39b90107558 Kent Overstreet 2026-01-17 320 struct bkey_s_c new = _new.s_c;
bde39b90107558 Kent Overstreet 2026-01-17 321 struct bch_fs *c = trans->c;
bde39b90107558 Kent Overstreet 2026-01-17 322 u64 idx = new.k->p.offset;
bde39b90107558 Kent Overstreet 2026-01-17 323 const struct bch_stripe *old_s = old.k->type == KEY_TYPE_stripe
bde39b90107558 Kent Overstreet 2026-01-17 324 ? bkey_s_c_to_stripe(old).v : NULL;
bde39b90107558 Kent Overstreet 2026-01-17 325 const struct bch_stripe *new_s = new.k->type == KEY_TYPE_stripe
bde39b90107558 Kent Overstreet 2026-01-17 326 ? bkey_s_c_to_stripe(new).v : NULL;
bde39b90107558 Kent Overstreet 2026-01-17 327
bde39b90107558 Kent Overstreet 2026-01-17 328 if (unlikely(flags & BTREE_TRIGGER_check_repair))
bde39b90107558 Kent Overstreet 2026-01-17 329 return bch2_check_fix_ptrs(trans, btree, level, _new.s_c, flags);
bde39b90107558 Kent Overstreet 2026-01-17 330
bde39b90107558 Kent Overstreet 2026-01-17 331 BUG_ON(new_s && old_s &&
bde39b90107558 Kent Overstreet 2026-01-17 332 (new_s->nr_blocks != old_s->nr_blocks ||
bde39b90107558 Kent Overstreet 2026-01-17 333 new_s->nr_redundant != old_s->nr_redundant));
bde39b90107558 Kent Overstreet 2026-01-17 334
bde39b90107558 Kent Overstreet 2026-01-17 335 if (flags & BTREE_TRIGGER_transactional) {
bde39b90107558 Kent Overstreet 2026-01-17 336 u64 old_lru_pos = stripe_lru_pos(old_s);
bde39b90107558 Kent Overstreet 2026-01-17 337 u64 new_lru_pos = stripe_lru_pos(new_s);
bde39b90107558 Kent Overstreet 2026-01-17 338
bde39b90107558 Kent Overstreet 2026-01-17 339 if (new_lru_pos == STRIPE_LRU_POS_EMPTY &&
bde39b90107558 Kent Overstreet 2026-01-17 340 !bch2_stripe_is_open(c, idx)) {
bde39b90107558 Kent Overstreet 2026-01-17 341 _new.k->type = KEY_TYPE_deleted;
bde39b90107558 Kent Overstreet 2026-01-17 342 set_bkey_val_u64s(_new.k, 0);
bde39b90107558 Kent Overstreet 2026-01-17 343 new_s = NULL;
bde39b90107558 Kent Overstreet 2026-01-17 344 new_lru_pos = 0;
bde39b90107558 Kent Overstreet 2026-01-17 345 }
bde39b90107558 Kent Overstreet 2026-01-17 346
bde39b90107558 Kent Overstreet 2026-01-17 347 try(bch2_lru_change(trans,
bde39b90107558 Kent Overstreet 2026-01-17 348 BCH_LRU_STRIPE_FRAGMENTATION, idx,
bde39b90107558 Kent Overstreet 2026-01-17 349 old_lru_pos, new_lru_pos));
bde39b90107558 Kent Overstreet 2026-01-17 350 }
bde39b90107558 Kent Overstreet 2026-01-17 351
bde39b90107558 Kent Overstreet 2026-01-17 352 if (flags & (BTREE_TRIGGER_transactional|BTREE_TRIGGER_gc)) {
bde39b90107558 Kent Overstreet 2026-01-17 353 /*
bde39b90107558 Kent Overstreet 2026-01-17 354 * If the pointers aren't changing, we don't need to do anything:
bde39b90107558 Kent Overstreet 2026-01-17 355 */
bde39b90107558 Kent Overstreet 2026-01-17 @356 if (new_s && old_s &&
NULL check
bde39b90107558 Kent Overstreet 2026-01-17 357 new_s->nr_blocks == old_s->nr_blocks &&
bde39b90107558 Kent Overstreet 2026-01-17 358 new_s->nr_redundant == old_s->nr_redundant &&
bde39b90107558 Kent Overstreet 2026-01-17 359 !memcmp(old_s->ptrs, new_s->ptrs,
bde39b90107558 Kent Overstreet 2026-01-17 360 new_s->nr_blocks * sizeof(struct bch_extent_ptr)))
bde39b90107558 Kent Overstreet 2026-01-17 361 return 0;
bde39b90107558 Kent Overstreet 2026-01-17 362
bde39b90107558 Kent Overstreet 2026-01-17 363 struct gc_stripe *gc = NULL;
bde39b90107558 Kent Overstreet 2026-01-17 364 if (flags & BTREE_TRIGGER_gc) {
bde39b90107558 Kent Overstreet 2026-01-17 365 gc = genradix_ptr_alloc(&c->ec.gc_stripes, idx, GFP_KERNEL);
bde39b90107558 Kent Overstreet 2026-01-17 366 if (!gc) {
bde39b90107558 Kent Overstreet 2026-01-17 367 bch_err(c, "error allocating memory for gc_stripes, idx %llu", idx);
bde39b90107558 Kent Overstreet 2026-01-17 368 return bch_err_throw(c, ENOMEM_mark_stripe);
bde39b90107558 Kent Overstreet 2026-01-17 369 }
bde39b90107558 Kent Overstreet 2026-01-17 370
bde39b90107558 Kent Overstreet 2026-01-17 371 /*
bde39b90107558 Kent Overstreet 2026-01-17 372 * This will be wrong when we bring back runtime gc: we should
bde39b90107558 Kent Overstreet 2026-01-17 373 * be unmarking the old key and then marking the new key
bde39b90107558 Kent Overstreet 2026-01-17 374 *
bde39b90107558 Kent Overstreet 2026-01-17 375 * Also: when we bring back runtime gc, locking
bde39b90107558 Kent Overstreet 2026-01-17 376 */
bde39b90107558 Kent Overstreet 2026-01-17 377 gc->alive = true;
bde39b90107558 Kent Overstreet 2026-01-17 @378 gc->sectors = le16_to_cpu(new_s->sectors);
Unchecked dereferences
bde39b90107558 Kent Overstreet 2026-01-17 379 gc->nr_blocks = new_s->nr_blocks;
bde39b90107558 Kent Overstreet 2026-01-17 380 gc->nr_redundant = new_s->nr_redundant;
bde39b90107558 Kent Overstreet 2026-01-17 381
bde39b90107558 Kent Overstreet 2026-01-17 382 for (unsigned i = 0; i < new_s->nr_blocks; i++)
bde39b90107558 Kent Overstreet 2026-01-17 383 gc->ptrs[i] = new_s->ptrs[i];
bde39b90107558 Kent Overstreet 2026-01-17 384
bde39b90107558 Kent Overstreet 2026-01-17 385 /*
bde39b90107558 Kent Overstreet 2026-01-17 386 * gc recalculates this field from stripe ptr
bde39b90107558 Kent Overstreet 2026-01-17 387 * references:
bde39b90107558 Kent Overstreet 2026-01-17 388 */
bde39b90107558 Kent Overstreet 2026-01-17 389 memset(gc->block_sectors, 0, sizeof(gc->block_sectors));
bde39b90107558 Kent Overstreet 2026-01-17 390 }
bde39b90107558 Kent Overstreet 2026-01-17 391
bde39b90107558 Kent Overstreet 2026-01-17 392 if (new_s) {
bde39b90107558 Kent Overstreet 2026-01-17 393 s64 sectors = (u64) le16_to_cpu(new_s->sectors) * new_s->nr_redundant;
bde39b90107558 Kent Overstreet 2026-01-17 394
bde39b90107558 Kent Overstreet 2026-01-17 395 struct disk_accounting_pos acc;
bde39b90107558 Kent Overstreet 2026-01-17 396 memset(&acc, 0, sizeof(acc));
bde39b90107558 Kent Overstreet 2026-01-17 397 acc.type = BCH_DISK_ACCOUNTING_replicas;
bde39b90107558 Kent Overstreet 2026-01-17 398 bch2_bkey_to_replicas(c, &acc.replicas, new);
bde39b90107558 Kent Overstreet 2026-01-17 399 try(bch2_disk_accounting_mod(trans, &acc, §ors, 1, gc));
bde39b90107558 Kent Overstreet 2026-01-17 400
bde39b90107558 Kent Overstreet 2026-01-17 401 if (gc)
bde39b90107558 Kent Overstreet 2026-01-17 402 unsafe_memcpy(&gc->r.e, &acc.replicas,
bde39b90107558 Kent Overstreet 2026-01-17 403 replicas_entry_bytes(&acc.replicas), "VLA");
bde39b90107558 Kent Overstreet 2026-01-17 404 }
bde39b90107558 Kent Overstreet 2026-01-17 405
bde39b90107558 Kent Overstreet 2026-01-17 406 if (old_s) {
bde39b90107558 Kent Overstreet 2026-01-17 407 s64 sectors = -((s64) le16_to_cpu(old_s->sectors)) * old_s->nr_redundant;
bde39b90107558 Kent Overstreet 2026-01-17 408
bde39b90107558 Kent Overstreet 2026-01-17 409 struct disk_accounting_pos acc;
bde39b90107558 Kent Overstreet 2026-01-17 410 memset(&acc, 0, sizeof(acc));
bde39b90107558 Kent Overstreet 2026-01-17 411 acc.type = BCH_DISK_ACCOUNTING_replicas;
bde39b90107558 Kent Overstreet 2026-01-17 412 bch2_bkey_to_replicas(c, &acc.replicas, old);
bde39b90107558 Kent Overstreet 2026-01-17 413 try(bch2_disk_accounting_mod(trans, &acc, §ors, 1, gc));
bde39b90107558 Kent Overstreet 2026-01-17 414 }
bde39b90107558 Kent Overstreet 2026-01-17 415
bde39b90107558 Kent Overstreet 2026-01-17 416 try(mark_stripe_buckets(trans, old, new, flags));
bde39b90107558 Kent Overstreet 2026-01-17 417 }
bde39b90107558 Kent Overstreet 2026-01-17 418
bde39b90107558 Kent Overstreet 2026-01-17 419 if ((flags & (BTREE_TRIGGER_atomic|BTREE_TRIGGER_gc)) == BTREE_TRIGGER_atomic) {
bde39b90107558 Kent Overstreet 2026-01-17 420 if (new_s && stripe_lru_pos(new_s) == 1)
bde39b90107558 Kent Overstreet 2026-01-17 421 bch2_do_stripe_deletes(c);
bde39b90107558 Kent Overstreet 2026-01-17 422 }
bde39b90107558 Kent Overstreet 2026-01-17 423
bde39b90107558 Kent Overstreet 2026-01-17 424 return 0;
bde39b90107558 Kent Overstreet 2026-01-17 425 }
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-01-20 6:04 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-19 12:45 [koverstreet-bcachefs:master 216/223] fs/bcachefs/data/ec/trigger.c:378 bch2_trigger_stripe() error: we previously assumed 'new_s' could be null (see line 356) kernel test robot
2026-01-20 6:04 ` Dan Carpenter
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.