From: Alasdair G Kergon <agk@redhat.com>

Don't requeue I/O repeatedly if there are no paths left and the device is
in the process of being suspended, or else the suspend can never complete.

Reported-By: "goggin, edward" <egoggin@emc.com>
Signed-Off-By: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/drivers/md/dm-mpath.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN drivers/md/dm-mpath.c~device-mapper-multipath-fix drivers/md/dm-mpath.c
--- 25/drivers/md/dm-mpath.c~device-mapper-multipath-fix	2005-03-02 00:01:35.000000000 -0800
+++ 25-akpm/drivers/md/dm-mpath.c	2005-03-02 00:01:35.000000000 -0800
@@ -885,7 +885,7 @@ static int do_end_io(struct multipath *m
 
 	spin_lock(&m->lock);
 	if (!m->nr_valid_paths) {
-		if (!m->queue_if_no_path) {
+		if (!m->queue_if_no_path || m->suspended) {
 			spin_unlock(&m->lock);
 			return -EIO;
 		} else {
_