<html><head><meta http-equiv="content-type" content="text/html; charset=GB2312"><style>body { line-height: 1.5; }p { margin-top: 0px; margin-bottom: 0px; }body { font-size: 10.5pt; font-family: Î¢ÈíÑźÚ; color: rgb(0, 0, 0); line-height: 1.5; }body { font-size: 10.5pt; font-family: Î¢ÈíÑźÚ; color: rgb(0, 0, 0); line-height: 1.5; }</style></head><body>
<div><span></span></div><div><span><div style="MARGIN: 10px; FONT-FAMILY: verdana; FONT-SIZE: 10pt"><div style="font-family: Î¢ÈíÑźÚ;">hi:</div><div style="font-family: Î¢ÈíÑźÚ;"><span style="background-color: rgba(0, 0, 0, 0);">    I have  some problems about multipath for EMC CX700,the EMC checker indicated "</span><span style="background-color: rgba(0, 0, 0, 0); font-size: 10pt; line-height: 1.5;">SG_INFO_OK_MASK</span><span style="background-color: rgba(0, 0, 0, 0); font-size: 10pt; line-height: 1.5;">".but there is no kernel info indicated that the status, driver status or host status was failed.And next checker will up the path immediately.So i think there should be a  "retry" checker to insure the path is really down.</span></div><div style="font-family: Î¢ÈíÑźÚ;"><span style="background-color: rgba(0, 0, 0, 0); font-size: 10pt; line-height: 1.5;"><br></span></div><div style="font-family: Î¢ÈíÑźÚ;"><span style="background-color: rgba(0, 0, 0, 0); font-size: 10pt; line-height: 1.5;"><br></span></div><div style="font-family: Î¢ÈíÑźÚ;"><span style="background-color: rgba(0, 0, 0, 0); font-size: 10pt; line-height: 1.5;">The  message:</span></div><div style="font-family: Î¢ÈíÑźÚ;"><span style="background-color: rgba(0, 0, 0, 0);">Mar 16 19:38:23 node7 sshd[19867]: Accepted password for root from 10.165.14.194 port 59421 ssh2
<br>Mar 16 19:46:14 node7 : error initializing: No module named up2date_client.up2dateAuth
<br>Mar 16 19:46:57 node7 multipathd: sdb: emc_clariion_checker: query command indicates error 
<br>Mar 16 19:46:57 node7 multipathd: checker failed path 8:16 in map mpath4 
<br>Mar 16 19:46:57 node7 kernel: [11120.924573] qla2xxx 0000:82:00.0: scsi(4:0:0): Abort command issued -- 1 4a1 2002.
<br>Mar 16 19:46:57 node7 kernel: [11120.925307] device-mapper: multipath: Failing path 8:16.
<br>Mar 16 19:46:57 node7 multipathd: mpath4: remaining active paths: 1
<br>Mar 16 19:46:57 node7 multipathd: mpath4: switch to path group #2
<br>Mar 16 19:47:02 node7 multipathd: sdb: emc_clariion_checker: Path healthy
<br>Mar 16 19:47:02 node7 multipathd: 8:16: reinstated
<br>Mar 16 19:47:02 node7 multipathd: mpath4: remaining active paths: 2
<br>Mar 16 19:47:02 node7 multipathd: mpath4: switch to path group #1</span></div><div style="font-family: Î¢ÈíÑźÚ;"><span style="background-color: rgba(0, 0, 0, 0);"><br></span></div><div style="font-family: Î¢ÈíÑźÚ;"><span style="background-color: rgba(0, 0, 0, 0);">The diff:</span></div><div style="font-family: Î¢ÈíÑźÚ;"><span style="background-color: rgba(0, 0, 0, 0);">--- libcheckers/emc_clariion.c.old      2015-04-13 09:31:04.000000000 +0800
<br>+++ libcheckers/emc_clariion.c  2015-04-13 09:34:47.000000000 +0800
<br>@@ -40,6 +40,8 @@
<br> 
<br> int emc_clariion(struct checker * c)
<br> {
<br>+       int retrytimes = 3;
<br>+
<br>        unsigned char sense_buffer[256] = { 0, };
<br>        unsigned char sb[128] = { 0, };
<br>        unsigned char inqCmdBlk[INQUIRY_CMDLEN] = {INQUIRY_CMD, 1, 0xC0, 0,
<br>@@ -59,12 +61,18 @@
<br>        io_hdr.sbp = sb;
<br>        io_hdr.timeout = DEF_TIMEOUT;
<br>        io_hdr.pack_id = 0;
<br>+
<br>+retry:
<br>        if (ioctl(c->fd, SG_IO, &io_hdr) < 0) {
<br>                MSG(c, "emc_clariion_checker: sending query command failed");
<br>                return PATH_DOWN;
<br>        }
<br>        if (io_hdr.info & SG_INFO_OK_MASK) {
<br>                MSG(c, "emc_clariion_checker: query command indicates error");
<br>+               if(retrytimes){</span></div><div style="font-family: Î¢ÈíÑźÚ;">+ retrytimes--; <span style="background-color: rgba(0, 0, 0, 0);"><br>+                       goto retry;
<br>+               }
<br>                return PATH_DOWN;
<br>        }
<br>        if (/* Verify the code page - right page & revision */</span></div><div style="font-family: Î¢ÈíÑźÚ;"><span style="background-color: rgba(0, 0, 0, 0);"><br></span></div><div style="font-family: Î¢ÈíÑźÚ;"><span style="background-color: rgba(0, 0, 0, 0);"><br></span></div><div style="font-family: Î¢ÈíÑźÚ;"><span style="background-color: rgba(0, 0, 0, 0);"><br></span></div><div style="font-family: Î¢ÈíÑźÚ;"><span style="background-color: rgba(0, 0, 0, 0);"><br></span></div><div style="font-family: Î¢ÈíÑźÚ;"><span style="background-color: rgba(0, 0, 0, 0);"><br></span></div><div style="font-family: Î¢ÈíÑźÚ;"><span style="background-color: rgba(0, 0, 0, 0);">I don`t think my modification is good enough,so i hope you can give me some useful ideas to make it better.</span></div><div><div style="position: static !important;"><div style="position: static !important;"><div style="position: static !important;"><div style="position: static !important;"><p class="MsoNormal" style="margin-top: 0px; margin-bottom: 0px;"><br></p></div></div></div></div></div></div></span></div>
</body></html>