All of lore.kernel.org
 help / color / mirror / Atom feed
* [android-common:android15-6.6 0/4] drivers/md/md.c:564:21-22: Unneeded semicolon
@ 2025-05-27  2:47 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-05-27  2:47 UTC (permalink / raw)
  To: cros-kernel-buildreports; +Cc: oe-kbuild-all

tree:   https://android.googlesource.com/kernel/common android15-6.6
head:   9f62a273a8443aa2d97898c5c473974ec3ea77d1
commit: 2d0738a8322bf4e5bfe693d16b3111928a9ccfbf [0/4] md: fix deadlock between mddev_suspend and flush bio
config: i386-randconfig-054-20250527 (https://download.01.org/0day-ci/archive/20250527/202505271000.MjXIdIck-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.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/202505271000.MjXIdIck-lkp@intel.com/

cocci warnings: (new ones prefixed by >>)
>> drivers/md/md.c:564:21-22: Unneeded semicolon

vim +564 drivers/md/md.c

   532	
   533	static void md_submit_flush_data(struct work_struct *ws)
   534	{
   535		struct mddev *mddev = container_of(ws, struct mddev, flush_work);
   536		struct bio *bio = mddev->flush_bio;
   537	
   538		/*
   539		 * must reset flush_bio before calling into md_handle_request to avoid a
   540		 * deadlock, because other bios passed md_handle_request suspend check
   541		 * could wait for this and below md_handle_request could wait for those
   542		 * bios because of suspend check
   543		 */
   544		spin_lock_irq(&mddev->lock);
   545		mddev->prev_flush_start = mddev->start_flush;
   546		mddev->flush_bio = NULL;
   547		spin_unlock_irq(&mddev->lock);
   548		wake_up(&mddev->sb_wait);
   549	
   550		if (bio->bi_iter.bi_size == 0) {
   551			/* an empty barrier - all done */
   552			bio_endio(bio);
   553		} else {
   554			bio->bi_opf &= ~REQ_PREFLUSH;
   555	
   556			/*
   557			 * make_requst() will never return error here, it only
   558			 * returns error in raid5_make_request() by dm-raid.
   559			 * Since dm always splits data and flush operation into
   560			 * two separate io, io size of flush submitted by dm
   561			 * always is 0, make_request() will not be called here.
   562			 */
   563			if (WARN_ON_ONCE(!mddev->pers->make_request(mddev, bio)))
 > 564				bio_io_error(bio);;
   565		}
   566	
   567		/* The pair is percpu_ref_get() from md_flush_request() */
   568		percpu_ref_put(&mddev->active_io);
   569	}
   570	

-- 
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-05-27  2:48 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-27  2:47 [android-common:android15-6.6 0/4] drivers/md/md.c:564:21-22: Unneeded semicolon kernel test robot

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.