From: NeilBrown <neilb@cse.unsw.edu.au>
If a raid array was syncing on shutdown, it would hang on shutdown,
constantly re-entering md_enter_safemade. This fixes it.
{
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) &&