* [linux-next:master 4403/5501] drivers/md/md.c:620:21-22: Unneeded semicolon
@ 2024-06-17 20:48 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-06-17 20:48 UTC (permalink / raw)
To: Li Nan; +Cc: oe-kbuild-all, Linux Memory Management List, Song Liu
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 6906a84c482f098d31486df8dc98cead21cce2d0
commit: 611d5cbc0b35a752e657a83eebadf40d814d006b [4403/5501] md: fix deadlock between mddev_suspend and flush bio
config: x86_64-randconfig-101-20240618 (https://download.01.org/0day-ci/archive/20240618/202406180407.xZHCKGBJ-lkp@intel.com/config)
compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0
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/202406180407.xZHCKGBJ-lkp@intel.com/
cocci warnings: (new ones prefixed by >>)
>> drivers/md/md.c:620:21-22: Unneeded semicolon
vim +620 drivers/md/md.c
588
589 static void md_submit_flush_data(struct work_struct *ws)
590 {
591 struct mddev *mddev = container_of(ws, struct mddev, flush_work);
592 struct bio *bio = mddev->flush_bio;
593
594 /*
595 * must reset flush_bio before calling into md_handle_request to avoid a
596 * deadlock, because other bios passed md_handle_request suspend check
597 * could wait for this and below md_handle_request could wait for those
598 * bios because of suspend check
599 */
600 spin_lock_irq(&mddev->lock);
601 mddev->prev_flush_start = mddev->start_flush;
602 mddev->flush_bio = NULL;
603 spin_unlock_irq(&mddev->lock);
604 wake_up(&mddev->sb_wait);
605
606 if (bio->bi_iter.bi_size == 0) {
607 /* an empty barrier - all done */
608 bio_endio(bio);
609 } else {
610 bio->bi_opf &= ~REQ_PREFLUSH;
611
612 /*
613 * make_requst() will never return error here, it only
614 * returns error in raid5_make_request() by dm-raid.
615 * Since dm always splits data and flush operation into
616 * two separate io, io size of flush submitted by dm
617 * always is 0, make_request() will not be called here.
618 */
619 if (WARN_ON_ONCE(!mddev->pers->make_request(mddev, bio)))
> 620 bio_io_error(bio);;
621 }
622
623 /* The pair is percpu_ref_get() from md_flush_request() */
624 percpu_ref_put(&mddev->active_io);
625 }
626
--
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-06-17 20:49 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-06-17 20:48 [linux-next:master 4403/5501] drivers/md/md.c:620:21-22: Unneeded semicolon 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