From 034e33f5eda3c61edb838471f69ec42d64e1e94e Mon Sep 17 00:00:00 2001 From: Shaohua Li Date: Mon, 21 Nov 2016 10:29:19 -0800 Subject: [PATCH] md: stop write should stop journal reclaim __md_stop_writes currently doesn't stop raid5-cache reclaim thread. It's possible the reclaim thread is still running and doing write, which doesn't match what __md_stop_writes should do. The extra ->quiesce() call should not harm any raid types. For raid5-cache, this will guarantee we reclaim all caches before we update superblock. Signed-off-by: Shaohua Li Reviewed-by: NeilBrown Cc: Song Liu --- drivers/md/md.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/md/md.c b/drivers/md/md.c index 297757a0ec0c..c7894fbbd8e5 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -5517,6 +5517,10 @@ static void __md_stop_writes(struct mddev *mddev) del_timer_sync(&mddev->safemode_timer); + if (mddev->pers && mddev->pers->quiesce) { + mddev->pers->quiesce(mddev, 1); + mddev->pers->quiesce(mddev, 0); + } bitmap_flush(mddev); if (mddev->ro == 0 && -- 2.39.2