Re: [PATCH -next v2 5/6] md: wake up 'resync_wait' at last in md_reap_sync_thread()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




在 2023/5/29 下午9:20, Yu Kuai 写道:
From: Yu Kuai <yukuai3@xxxxxxxxxx>

md_reap_sync_thread() is just replaced with wait_event(resync_wait, ...)
from action_store(), just make sure action_store() will still wait for
everything to be done in md_reap_sync_thread().

Signed-off-by: Yu Kuai <yukuai3@xxxxxxxxxx>
---
  drivers/md/md.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/md/md.c b/drivers/md/md.c
index 7912de0e4d12..f90226e6ddf8 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -9531,7 +9531,6 @@ void md_reap_sync_thread(struct mddev *mddev)
  	if (mddev_is_clustered(mddev) && is_reshaped
  				      && !test_bit(MD_CLOSING, &mddev->flags))
  		md_cluster_ops->update_size(mddev, old_dev_sectors);
-	wake_up(&resync_wait);
  	/* flag recovery needed just to double check */
  	set_bit(MD_RECOVERY_NEEDED, &mddev->recovery);
  	sysfs_notify_dirent_safe(mddev->sysfs_completed);
@@ -9539,6 +9538,7 @@ void md_reap_sync_thread(struct mddev *mddev)
  	md_new_event();
  	if (mddev->event_work.func)
  		queue_work(md_misc_wq, &mddev->event_work);
+	wake_up(&resync_wait);
  }
  EXPORT_SYMBOL(md_reap_sync_thread);


Reviewd-by: Xiao Ni <xni@xxxxxxxxxx>




[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux