From patchwork Tue Jul 10 19:12:13 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: babu moger X-Patchwork-Id: 1178761 Return-Path: X-Original-To: patchwork-dm-devel@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from mx4-phx2.redhat.com (mx4-phx2.redhat.com [209.132.183.25]) by patchwork1.kernel.org (Postfix) with ESMTP id 0490A402D2 for ; Tue, 10 Jul 2012 19:15:00 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx4-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id q6AJCNaF013343; Tue, 10 Jul 2012 15:12:23 -0400 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id q6AJCLCT006825 for ; Tue, 10 Jul 2012 15:12:21 -0400 Received: from mx1.redhat.com (ext-mx16.extmail.prod.ext.phx2.redhat.com [10.5.110.21]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q6AJCGHi007417 for ; Tue, 10 Jul 2012 15:12:16 -0400 Received: from mx2.netapp.com (mx2.netapp.com [216.240.18.37]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q6AJCFLP002319 for ; Tue, 10 Jul 2012 15:12:15 -0400 X-IronPort-AV: E=Sophos;i="4.77,561,1336374000"; d="scan'208";a="661237851" Received: from smtp1.corp.netapp.com ([10.57.156.124]) by mx2-out.netapp.com with ESMTP; 10 Jul 2012 12:12:15 -0700 Received: from vmwexceht01-prd.hq.netapp.com (vmwexceht01-prd.hq.netapp.com [10.106.76.239]) by smtp1.corp.netapp.com (8.13.1/8.13.1/NTAP-1.6) with ESMTP id q6AJCFkg011084; Tue, 10 Jul 2012 12:12:15 -0700 (PDT) Received: from SACEXCMBX02-PRD.hq.netapp.com ([169.254.1.66]) by vmwexceht01-prd.hq.netapp.com ([10.106.76.239]) with mapi id 14.02.0298.004; Tue, 10 Jul 2012 12:12:14 -0700 From: "Moger, Babu" To: "device-mapper development (dm-devel@redhat.com)" Thread-Topic: [PATCH] multipath: retry the DID_SOFT_ERROR for rdac checker commands Thread-Index: Ac1ezvpqptOeN66/TdmpTvHMa4un4g== Date: Tue, 10 Jul 2012 19:12:13 +0000 Message-ID: <77471C95FAFD844C8CA02DD4F4C5FE2B07E5F4B9@SACEXCMBX02-PRD.hq.netapp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.106.53.53] MIME-Version: 1.0 X-RedHat-Spam-Score: -5.012 (RCVD_IN_DNSWL_HI, SPF_HELO_PASS, SPF_PASS, T_RP_MATCHES_RCVD) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-Scanned-By: MIMEDefang 2.68 on 10.5.110.21 X-MIME-Autoconverted: from quoted-printable to 8bit by lists01.pubmisc.prod.ext.phx2.redhat.com id q6AJCLCT006825 X-loop: dm-devel@redhat.com Cc: "christophe.varoqui@gmail.com" Subject: [dm-devel] [PATCH] multipath: retry the DID_SOFT_ERROR for rdac checker commands X-BeenThere: dm-devel@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk Reply-To: device-mapper development List-Id: device-mapper development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dm-devel-bounces@redhat.com Errors-To: dm-devel-bounces@redhat.com 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 --- -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel --- multipath-tools/libmultipath/checkers/rdac.c.orig 2012-07-10 13:35:34.000000000 -0500 +++ multipath-tools/libmultipath/checkers/rdac.c 2012-07-10 13:36:07.000000000 -0500 @@ -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)