Fix queue_if_no_path when multiple bios fail together.
--- diff/drivers/md/dm-mpath.c	2005-01-12 19:18:50.000000000 +0000
+++ source/drivers/md/dm-mpath.c	2005-01-12 19:19:26.000000000 +0000
@@ -967,8 +967,13 @@
 
 	spin_lock(&m->lock);
 	if (!m->nr_valid_paths) {
-		spin_unlock(&m->lock);
-		return -EIO;
+		if (!m->queue_if_no_path) {
+			spin_unlock(&m->lock);
+			return -EIO;
+		} else {
+			spin_unlock(&m->lock);
+			goto requeue;
+		}
 	}
 	spin_unlock(&m->lock);
 
@@ -986,6 +991,7 @@
 	if (err_flags & MP_ERROR_IO)
 		return -EIO;
 
+      requeue:
 	dm_bio_restore(&mpio->details, bio);
 
 	/* queue for the daemon to resubmit or fail */
