* [snitzer:dm-buffered 7/17] drivers/md/dm-buffered-target.c:453:2: warning: label at end of compound statement is a C2x extension
@ 2024-04-14 20:55 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-04-14 20:55 UTC (permalink / raw)
To: Heinz Mauelshagen; +Cc: llvm, oe-kbuild-all, Mike Snitzer
tree: https://git.kernel.org/pub/scm/linux/kernel/git/snitzer/linux.git dm-buffered
head: 28cac58f710bee429b166b4afb5a6450f88ba036
commit: 92101d4f7a11082735b25b2f473fb6804f519460 [7/17] dm buffered: test target buffering all I/O through dm-bufio
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20240415/202404150402.CMiozTNP-lkp@intel.com/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240415/202404150402.CMiozTNP-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/202404150402.CMiozTNP-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/md/dm-buffered-target.c:453:2: warning: label at end of compound statement is a C2x extension [-Wc2x-extensions]
453 | }
| ^
1 warning generated.
vim +453 drivers/md/dm-buffered-target.c
408
409 /* Process I/O on a bio prefetching buffers on a single @bio in a worker. */
410 static void _process_bio(struct work_struct *work)
411 {
412 struct buffered_c *bc = container_of(work, struct buffered_c, buffered_ws);
413 struct bio *bio;
414 bool queue, write;
415 sector_t blocks, sectors, start, end;
416
417 spin_lock(&bc->lock);
418 bio = bio_list_pop(&bc->bios);
419 spin_unlock(&bc->lock);
420
421 if (!bio)
422 return;
423
424 write = false;
425 start = _to_block(bc, bio->bi_iter.bi_sector);
426
427 /* Prefetch read and partial write buffers */
428 switch (bio_op(bio)) {
429 case REQ_OP_READ:
430 sectors = bio_end_sector(bio) - _to_sector(bc, start);
431 blocks = _to_block(bc, sectors) + _sector_mod(bc, sectors) ? 1 : 0;
432 dm_bufio_prefetch(bc->bufio, start, blocks);
433 break;
434 case REQ_OP_WRITE:
435 write = true;
436 /* Beware of partial block updates. */
437 if (_sector_mod(bc, bio->bi_iter.bi_sector)) {
438 dm_bufio_prefetch(bc->bufio, start, 1);
439 atomic_inc(&bc->stats[S_PREFETCHED_WRITES]);
440 }
441 if (_sector_mod(bc, bio_end_sector(bio))) {
442 end = _to_block(bc, bio_end_sector(bio));
443 if (start != end) {
444 dm_bufio_prefetch(bc->bufio, start, 1);
445 atomic_inc(&bc->stats[S_PREFETCHED_WRITES]);
446 }
447 }
448 break;
449 case REQ_OP_WRITE_ZEROES:
450 write = true;
451 break;
452 default:
> 453 }
454
455 __process_bio(bc, bio);
456
457 /* Use spinlock here also as in map function to avoid any memory access reordering issues. */
458 spin_lock(&bc->lock);
459 queue = !bio_list_empty(&bc->bios);
460 spin_unlock(&bc->lock);
461
462 if (queue)
463 queue_work(bc->buffered_wq, &bc->buffered_ws);
464
465 /* Reschedule the flush thread in case of new write(s). */
466 if (write)
467 schedule_delayed_work(&bc->buffered_flush_ws, 2 * HZ);
468
469 cond_resched();
470 }
471
--
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:[~2024-04-14 20:56 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-14 20:55 [snitzer:dm-buffered 7/17] drivers/md/dm-buffered-target.c:453:2: warning: label at end of compound statement is a C2x extension 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