From 8f6b7cdf74af7fcdecb9eac53d573474a7fea268 Mon Sep 17 00:00:00 2001 From: "Moger, Babu" Date: Tue, 10 Jul 2012 19:12:13 +0000 Subject: [PATCH] multipath: retry the DID_SOFT_ERROR for rdac checker commands Sometimes we have seen immediate path failures for DID_SOFT_ERROR status. Just add a retry as other statuses. It will basically add 5 retries. Here are the messages. Jun 4 17:46:42 ictc-billy kernel: mpt2sas0: log_info(0x31120100): originator(PL), code(0x12), sub_code(0x0100) Jun 4 17:46:42 ictc-billy kernel: sd 1:0:0:47: [sdn] Unhandled error code Jun 4 17:46:42 ictc-billy kernel: sd 1:0:0:47: [sdn] Result: hostbyte=DID_SOFT_ERROR driverbyte=DRIVER_OK Jun 4 17:46:42 ictc-billy kernel: sd 1:0:0:47: [sdn] CDB: Write(10): 2a 00 00 06 e4 a0 00 00 20 00 Jun 4 17:46:42 ictc-billy kernel: device-mapper: multipath: Failing path 8:208. Jun 4 17:46:42 ictc-billy multipathd: 8:208: mark as failed Jun 4 17:46:42 ictc-billy multipathd: mpathat: remaining active paths: 1 Signed-off-by: Babu Moger --- libmultipath/checkers/rdac.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libmultipath/checkers/rdac.c b/libmultipath/checkers/rdac.c index cf782e3..5f24f55 100644 --- a/libmultipath/checkers/rdac.c +++ b/libmultipath/checkers/rdac.c @@ -166,6 +166,7 @@ retry: switch (io_hdr.host_status) { case DID_BUS_BUSY: case DID_ERROR: + case DID_SOFT_ERROR: case DID_TRANSPORT_DISRUPTED: /* Transport error, retry */ if (--retry_rdac) -- 2.34.1