dm mpath: stop queueing IO when no valid paths exist
'queue_io' is set so that IO is queued while paths are being initialized. Clear queue_io in __choose_pgpath if there are no valid paths, since there are obviously no paths that can be initialized. Otherwise IOs to the device will back up. Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
This commit is contained in:
parent
3d8aab2d2c
commit
1f27197247
1 changed files with 3 additions and 1 deletions
|
@ -317,8 +317,10 @@ static void __choose_pgpath(struct multipath *m, size_t nr_bytes)
|
||||||
struct priority_group *pg;
|
struct priority_group *pg;
|
||||||
unsigned bypassed = 1;
|
unsigned bypassed = 1;
|
||||||
|
|
||||||
if (!m->nr_valid_paths)
|
if (!m->nr_valid_paths) {
|
||||||
|
m->queue_io = 0;
|
||||||
goto failed;
|
goto failed;
|
||||||
|
}
|
||||||
|
|
||||||
/* Were we instructed to switch PG? */
|
/* Were we instructed to switch PG? */
|
||||||
if (m->next_pg) {
|
if (m->next_pg) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue