+4
drivers/md/md.c
+4
drivers/md/md.c
···
5121
5121
printk("md: %s still in use.\n",mdname(mddev));
5122
5122
if (did_freeze) {
5123
5123
clear_bit(MD_RECOVERY_FROZEN, &mddev->recovery);
5124
+
set_bit(MD_RECOVERY_NEEDED, &mddev->recovery);
5124
5125
md_wakeup_thread(mddev->thread);
5125
5126
}
5126
5127
err = -EBUSY;
···
5136
5135
mddev->ro = 1;
5137
5136
set_disk_ro(mddev->gendisk, 1);
5138
5137
clear_bit(MD_RECOVERY_FROZEN, &mddev->recovery);
5138
+
set_bit(MD_RECOVERY_NEEDED, &mddev->recovery);
5139
+
md_wakeup_thread(mddev->thread);
5139
5140
sysfs_notify_dirent_safe(mddev->sysfs_state);
5140
5141
err = 0;
5141
5142
}
···
5181
5178
mutex_unlock(&mddev->open_mutex);
5182
5179
if (did_freeze) {
5183
5180
clear_bit(MD_RECOVERY_FROZEN, &mddev->recovery);
5181
+
set_bit(MD_RECOVERY_NEEDED, &mddev->recovery);
5184
5182
md_wakeup_thread(mddev->thread);
5185
5183
}
5186
5184
return -EBUSY;