diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/md/dm-mpath.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c index 1e97b3c12bd5..0c1b8520ef86 100644 --- a/drivers/md/dm-mpath.c +++ b/drivers/md/dm-mpath.c | |||
@@ -985,6 +985,9 @@ static int do_end_io(struct multipath *m, struct bio *bio, | |||
985 | if (!error) | 985 | if (!error) |
986 | return 0; /* I/O complete */ | 986 | return 0; /* I/O complete */ |
987 | 987 | ||
988 | if ((error == -EWOULDBLOCK) && bio_rw_ahead(bio)) | ||
989 | return error; | ||
990 | |||
988 | spin_lock(&m->lock); | 991 | spin_lock(&m->lock); |
989 | if (!m->nr_valid_paths) { | 992 | if (!m->nr_valid_paths) { |
990 | if (!m->queue_if_no_path || m->suspended) { | 993 | if (!m->queue_if_no_path || m->suspended) { |