|
@@ -3483,7 +3483,7 @@ static void md_safemode_timeout(unsigned long data)
|
|
|
if (!atomic_read(&mddev->writes_pending)) {
|
|
|
mddev->safemode = 1;
|
|
|
if (mddev->external)
|
|
|
- sysfs_notify(&mddev->kobj, NULL, "array_state");
|
|
|
+ set_bit(MD_NOTIFY_ARRAY_STATE, &mddev->flags);
|
|
|
}
|
|
|
md_wakeup_thread(mddev->thread);
|
|
|
}
|
|
@@ -6051,6 +6051,9 @@ void md_check_recovery(mddev_t *mddev)
|
|
|
if (mddev->bitmap)
|
|
|
bitmap_daemon_work(mddev->bitmap);
|
|
|
|
|
|
+ if (test_and_clear_bit(MD_NOTIFY_ARRAY_STATE, &mddev->flags))
|
|
|
+ sysfs_notify(&mddev->kobj, NULL, "array_state");
|
|
|
+
|
|
|
if (mddev->ro)
|
|
|
return;
|
|
|
|