[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
[dm-devel] [RFC PATCH v2 2/3] dm mpath: propagate target errors immediately
- From: Mike Snitzer <snitzer redhat com>
- To: Hannes Reinecke <hare suse de>
- Cc: k-ueda ct jp nec com, michaelc cs wisc edu, tytso mit edu, sshtylyov mvista com, linux-scsi vger kernel org, jaxboe fusionio com, vst vlnb net, linux-kernel vger kernel org, hch lst de, linux-raid vger kernel org, linux-ide vger kernel org, dm-devel redhat com, James Bottomley suse de, konishi ryusuke lab ntt co jp, linux-fsdevel vger kernel org, jack suse cz, j-nomura ce jp nec com, rwheeler redhat com, swhiteho redhat com, chris mason oracle com, tj kernel org
- Subject: [dm-devel] [RFC PATCH v2 2/3] dm mpath: propagate target errors immediately
- Date: Tue, 7 Dec 2010 18:16:41 -0500
DM now has more information about the nature of the underlying storage
failure. Path failure is avoided if a request failed due to a target
error. Instead the target error is immediately passed up the stack.
Discard requests that fail due to non-target errors may now be retried.
Signed-off-by: Mike Snitzer <snitzer redhat com>
---
drivers/md/dm-mpath.c | 11 +----------
1 files changed, 1 insertions(+), 10 deletions(-)
diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c
index 487ecda..071529a 100644
--- a/drivers/md/dm-mpath.c
+++ b/drivers/md/dm-mpath.c
@@ -1270,16 +1270,7 @@ static int do_end_io(struct multipath *m, struct request *clone,
if (!error && !clone->errors)
return 0; /* I/O complete */
- if (error == -EOPNOTSUPP)
- return error;
-
- if (clone->cmd_flags & REQ_DISCARD)
- /*
- * Pass all discard request failures up.
- * FIXME: only fail_path if the discard failed due to a
- * transport problem. This requires precise understanding
- * of the underlying failure (e.g. the SCSI sense).
- */
+ if (error == -EOPNOTSUPP || error == -EREMOTEIO)
return error;
if (mpio->pgpath)
--
1.7.2.3
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]