Commit 0fbae13642fc35ba6a774e9f76d0c1946e8f5c35
Exists in
ti-lsk-linux-4.1.y
and in
10 other branches
Merge tag 'md/3.18-fix' of git://neil.brown.name/md
Pull md bugfix from Neil Brown: "One fix for md for 3.18. This fixes a regression introduced in 3.13" * tag 'md/3.18-fix' of git://neil.brown.name/md: md: Always set RECOVERY_NEEDED when clearing RECOVERY_FROZEN
Showing 1 changed file Side-by-side Diff
drivers/md/md.c
... | ... | @@ -5121,6 +5121,7 @@ |
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; |
... | ... | @@ -5135,6 +5136,8 @@ |
5135 | 5136 | mddev->ro = 1; |
5136 | 5137 | set_disk_ro(mddev->gendisk, 1); |
5137 | 5138 | clear_bit(MD_RECOVERY_FROZEN, &mddev->recovery); |
5139 | + set_bit(MD_RECOVERY_NEEDED, &mddev->recovery); | |
5140 | + md_wakeup_thread(mddev->thread); | |
5138 | 5141 | sysfs_notify_dirent_safe(mddev->sysfs_state); |
5139 | 5142 | err = 0; |
5140 | 5143 | } |
... | ... | @@ -5178,6 +5181,7 @@ |
5178 | 5181 | mutex_unlock(&mddev->open_mutex); |
5179 | 5182 | if (did_freeze) { |
5180 | 5183 | clear_bit(MD_RECOVERY_FROZEN, &mddev->recovery); |
5184 | + set_bit(MD_RECOVERY_NEEDED, &mddev->recovery); | |
5181 | 5185 | md_wakeup_thread(mddev->thread); |
5182 | 5186 | } |
5183 | 5187 | return -EBUSY; |