Commit fa1944b
md/raid5: Wait sync io to finish before changing group cnt
One customer reports a bug: raid5 is hung when changing thread cnt
while resync is running. The stripes are all in conf->handle_list
and new threads can't handle them.
Commit b39f35e ("md: don't quiesce in mddev_suspend()") removes
pers->quiesce from mddev_suspend/resume. Before this patch, mddev_suspend
needs to wait for all ios including sync io to finish. Now it's used
to only wait normal io.
Fix this by calling raid5_quiesce from raid5_store_group_thread_cnt
directly to wait all sync requests to finish before changing the group
cnt.
Fixes: b39f35e ("md: don't quiesce in mddev_suspend()")
Cc: [email protected]
Signed-off-by: Xiao Ni <[email protected]>
Reviewed-by: Yu Kuai <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Song Liu <[email protected]>1 parent 4122fef commit fa1944b
1 file changed
+4
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7176 | 7176 | | |
7177 | 7177 | | |
7178 | 7178 | | |
| 7179 | + | |
| 7180 | + | |
7179 | 7181 | | |
7180 | 7182 | | |
7181 | 7183 | | |
| |||
7197 | 7199 | | |
7198 | 7200 | | |
7199 | 7201 | | |
| 7202 | + | |
| 7203 | + | |
7200 | 7204 | | |
7201 | 7205 | | |
7202 | 7206 | | |
| |||
0 commit comments