From: Yu Kuai Date: Mon, 29 May 2023 13:20:36 +0000 (+0800) Subject: md: wake up 'resync_wait' at last in md_reap_sync_thread() X-Git-Tag: for-6.6/block-2023-08-28~40^2~31 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=753260ed0b46d2ba0d3d6f68a6a49187bff443e4;p=linux-block.git md: wake up 'resync_wait' at last in md_reap_sync_thread() 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 Reviewd-by: Xiao Ni Signed-off-by: Song Liu Link: https://lore.kernel.org/r/20230529132037.2124527-6-yukuai1@huaweicloud.com --- diff --git a/drivers/md/md.c b/drivers/md/md.c index 920701ab9505..e0d8e751a782 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -9522,7 +9522,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); @@ -9530,6 +9529,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);