From d1ca66cc9b8e58229bc89e92421a3d08d890807b Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Thu, 22 Jan 2004 16:41:04 -0800 Subject: [PATCH] [PATCH] md: Fix possible hang in raid shutdown. From: NeilBrown If a raid array was syncing on shutdown, it would hang on shutdown, constantly re-entering md_enter_safemade. This fixes it. --- drivers/md/md.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/md/md.c b/drivers/md/md.c index 07f8b76d88004..75e8eec116ed1 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -3106,7 +3106,8 @@ static inline void md_enter_safemode(mddev_t *mddev) { if (!mddev->safemode) return; if (mddev->safemode == 2 && - (atomic_read(&mddev->writes_pending) || mddev->in_sync)) + (atomic_read(&mddev->writes_pending) || mddev->in_sync || + mddev->recovery_cp != MaxSector)) return; /* avoid the lock */ mddev_lock_uninterruptible(mddev); if (mddev->safemode && !atomic_read(&mddev->writes_pending) && -- 2.53.0