From mboxrd@z Thu Jan 1 00:00:00 1970 From: "wuyi@inspur.com" Subject: the multipath for EMC CX700 Date: Mon, 13 Apr 2015 09:48:37 +0800 Message-ID: <2015041309483678622826@inspur.com> References: <9205a8130740845778fe0e86bffb13f0@g.corp-email.com> Reply-To: device-mapper development Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============3312698923488977470==" Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dm-devel-bounces@redhat.com Errors-To: dm-devel-bounces@redhat.com To: dm-devel List-Id: dm-devel.ids --===============3312698923488977470== Content-Type: multipart/alternative; boundary="----=_001_NextPart840542030146_=----" ------=_001_NextPart840542030146_=---- Content-Type: text/plain; charset="GB2312" Content-Transfer-Encoding: base64 aGk6DQogICAgSSBoYXZlICBzb21lIHByb2JsZW1zIGFib3V0IG11bHRpcGF0aCBmb3IgRU1DIENY NzAwLHRoZSBFTUMgY2hlY2tlciBpbmRpY2F0ZWQgIlNHX0lORk9fT0tfTUFTSyIuYnV0IHRoZXJl IGlzIG5vIGtlcm5lbCBpbmZvIGluZGljYXRlZCB0aGF0IHRoZSBzdGF0dXMsIGRyaXZlciBzdGF0 dXMgb3IgaG9zdCBzdGF0dXMgd2FzIGZhaWxlZC5BbmQgbmV4dCBjaGVja2VyIHdpbGwgdXAgdGhl IHBhdGggaW1tZWRpYXRlbHkuU28gaSB0aGluayB0aGVyZSBzaG91bGQgYmUgYSAgInJldHJ5IiBj aGVja2VyIHRvIGluc3VyZSB0aGUgcGF0aCBpcyByZWFsbHkgZG93bi4NCg0KDQpUaGUgIG1lc3Nh Z2U6DQpNYXIgMTYgMTk6Mzg6MjMgbm9kZTcgc3NoZFsxOTg2N106IEFjY2VwdGVkIHBhc3N3b3Jk IGZvciByb290IGZyb20gMTAuMTY1LjE0LjE5NCBwb3J0IDU5NDIxIHNzaDIgDQpNYXIgMTYgMTk6 NDY6MTQgbm9kZTcgOiBlcnJvciBpbml0aWFsaXppbmc6IE5vIG1vZHVsZSBuYW1lZCB1cDJkYXRl X2NsaWVudC51cDJkYXRlQXV0aCANCk1hciAxNiAxOTo0Njo1NyBub2RlNyBtdWx0aXBhdGhkOiBz ZGI6IGVtY19jbGFyaWlvbl9jaGVja2VyOiBxdWVyeSBjb21tYW5kIGluZGljYXRlcyBlcnJvciAN Ck1hciAxNiAxOTo0Njo1NyBub2RlNyBtdWx0aXBhdGhkOiBjaGVja2VyIGZhaWxlZCBwYXRoIDg6 MTYgaW4gbWFwIG1wYXRoNCANCk1hciAxNiAxOTo0Njo1NyBub2RlNyBrZXJuZWw6IFsxMTEyMC45 MjQ1NzNdIHFsYTJ4eHggMDAwMDo4MjowMC4wOiBzY3NpKDQ6MDowKTogQWJvcnQgY29tbWFuZCBp c3N1ZWQgLS0gMSA0YTEgMjAwMi4gDQpNYXIgMTYgMTk6NDY6NTcgbm9kZTcga2VybmVsOiBbMTEx MjAuOTI1MzA3XSBkZXZpY2UtbWFwcGVyOiBtdWx0aXBhdGg6IEZhaWxpbmcgcGF0aCA4OjE2LiAN Ck1hciAxNiAxOTo0Njo1NyBub2RlNyBtdWx0aXBhdGhkOiBtcGF0aDQ6IHJlbWFpbmluZyBhY3Rp dmUgcGF0aHM6IDEgDQpNYXIgMTYgMTk6NDY6NTcgbm9kZTcgbXVsdGlwYXRoZDogbXBhdGg0OiBz d2l0Y2ggdG8gcGF0aCBncm91cCAjMiANCk1hciAxNiAxOTo0NzowMiBub2RlNyBtdWx0aXBhdGhk OiBzZGI6IGVtY19jbGFyaWlvbl9jaGVja2VyOiBQYXRoIGhlYWx0aHkgDQpNYXIgMTYgMTk6NDc6 MDIgbm9kZTcgbXVsdGlwYXRoZDogODoxNjogcmVpbnN0YXRlZCANCk1hciAxNiAxOTo0NzowMiBu b2RlNyBtdWx0aXBhdGhkOiBtcGF0aDQ6IHJlbWFpbmluZyBhY3RpdmUgcGF0aHM6IDIgDQpNYXIg MTYgMTk6NDc6MDIgbm9kZTcgbXVsdGlwYXRoZDogbXBhdGg0OiBzd2l0Y2ggdG8gcGF0aCBncm91 cCAjMQ0KDQpUaGUgZGlmZjoNCi0tLSBsaWJjaGVja2Vycy9lbWNfY2xhcmlpb24uYy5vbGQgMjAx NS0wNC0xMyAwOTozMTowNC4wMDAwMDAwMDAgKzA4MDAgDQorKysgbGliY2hlY2tlcnMvZW1jX2Ns YXJpaW9uLmMgMjAxNS0wNC0xMyAwOTozNDo0Ny4wMDAwMDAwMDAgKzA4MDAgDQpAQCAtNDAsNiAr NDAsOCBAQCANCg0KaW50IGVtY19jbGFyaWlvbihzdHJ1Y3QgY2hlY2tlciAqIGMpIA0KeyANCisg aW50IHJldHJ5dGltZXMgPSAzOyANCisgDQp1bnNpZ25lZCBjaGFyIHNlbnNlX2J1ZmZlclsyNTZd ID0geyAwLCB9OyANCnVuc2lnbmVkIGNoYXIgc2JbMTI4XSA9IHsgMCwgfTsgDQp1bnNpZ25lZCBj aGFyIGlucUNtZEJsa1tJTlFVSVJZX0NNRExFTl0gPSB7SU5RVUlSWV9DTUQsIDEsIDB4QzAsIDAs IA0KQEAgLTU5LDEyICs2MSwxOCBAQCANCmlvX2hkci5zYnAgPSBzYjsgDQppb19oZHIudGltZW91 dCA9IERFRl9USU1FT1VUOyANCmlvX2hkci5wYWNrX2lkID0gMDsgDQorIA0KK3JldHJ5OiANCmlm IChpb2N0bChjLT5mZCwgU0dfSU8sICZpb19oZHIpIDwgMCkgeyANCk1TRyhjLCAiZW1jX2NsYXJp aW9uX2NoZWNrZXI6IHNlbmRpbmcgcXVlcnkgY29tbWFuZCBmYWlsZWQiKTsgDQpyZXR1cm4gUEFU SF9ET1dOOyANCn0gDQppZiAoaW9faGRyLmluZm8gJiBTR19JTkZPX09LX01BU0spIHsgDQpNU0co YywgImVtY19jbGFyaWlvbl9jaGVja2VyOiBxdWVyeSBjb21tYW5kIGluZGljYXRlcyBlcnJvciIp OyANCisgaWYocmV0cnl0aW1lcyl7DQorIHJldHJ5dGltZXMtLTsgDQorIGdvdG8gcmV0cnk7IA0K KyB9IA0KcmV0dXJuIFBBVEhfRE9XTjsgDQp9IA0KaWYgKC8qIFZlcmlmeSB0aGUgY29kZSBwYWdl IC0gcmlnaHQgcGFnZSAmIHJldmlzaW9uICovDQoNCg0KDQoNCg0KSSBkb25gdCB0aGluayBteSBt b2RpZmljYXRpb24gaXMgZ29vZCBlbm91Z2gsc28gaSBob3BlIHlvdSBjYW4gZ2l2ZSBtZSBzb21l IHVzZWZ1bCBpZGVhcyB0byBtYWtlIGl0IGJldHRlci4NCg0K ------=_001_NextPart840542030146_=---- Content-Type: text/html; charset="GB2312" Content-Transfer-Encoding: quoted-printable =0A
hi:
SG_INFO_OK_MASK".but there is no kernel info indicated that the status, driver sta= tus or host status was failed.And next checker will up the path immediatel= y.So i think there should be a  "retry" checker to insure the path is= really down.


The  message:
Mar 16 19:38:23 node7 sshd[19867]: Accepted = password for root from 10.165.14.194 port 59421 ssh2=0A
Mar 16 19:46:14= node7 : error initializing: No module named up2date_client.up2dateAuth=0A=
Mar 16 19:46:57 node7 multipathd: sdb: emc_clariion_checker: query com= mand indicates error =0A
Mar 16 19:46:57 node7 multipathd: checker fail= ed path 8:16 in map mpath4 =0A
Mar 16 19:46:57 node7 kernel: [11120.924= 573] qla2xxx 0000:82:00.0: scsi(4:0:0): Abort command issued -- 1 4a1 2002= .=0A
Mar 16 19:46:57 node7 kernel: [11120.925307] device-mapper: multip= ath: Failing path 8:16.=0A
Mar 16 19:46:57 node7 multipathd: mpath4: re= maining active paths: 1=0A
Mar 16 19:46:57 node7 multipathd: mpath4: sw= itch to path group #2=0A
Mar 16 19:47:02 node7 multipathd: sdb: emc_cla= riion_checker: Path healthy=0A
Mar 16 19:47:02 node7 multipathd: 8:16: = reinstated=0A
Mar 16 19:47:02 node7 multipathd: mpath4: remaining activ= e paths: 2=0A
Mar 16 19:47:02 node7 multipathd: mpath4: switch to path = group #1

The diff:
--- libcheckers/emc_clariion.c.old 2015-04-13 09:31:04.000000= 000 +0800=0A
+++ libcheckers/emc_clariion.c 2015-04-13 09:34:47.000000= 000 +0800=0A
@@ -40,6 +40,8 @@=0A
=0A
int emc_clariion(struct c= hecker * c)=0A
{=0A
+ int retrytimes =3D 3;=0A
+=0A
= unsigned char sense_buffer[256] =3D { 0, };=0A
unsigned ch= ar sb[128] =3D { 0, };=0A
unsigned char inqCmdBlk[INQUIRY_CMDLE= N] =3D {INQUIRY_CMD, 1, 0xC0, 0,=0A
@@ -59,12 +61,18 @@=0A
i= o_hdr.sbp =3D sb;=0A
io_hdr.timeout =3D DEF_TIMEOUT;=0A
= io_hdr.pack_id =3D 0;=0A
+=0A
+retry:=0A
if (ioctl(c-= >fd, SG_IO, &io_hdr) < 0) {=0A
MSG(c, "emc_cl= ariion_checker: sending query command failed");=0A
retu= rn PATH_DOWN;=0A
}=0A
if (io_hdr.info & SG_INFO_= OK_MASK) {=0A
MSG(c, "emc_clariion_checker: query comma= nd indicates error");=0A
+ if(retrytimes){
+ retrytimes--; <= span style=3D"background-color: rgba(0, 0, 0, 0);">
+ = goto retry;=0A
+ }=0A
return PATH= _DOWN;=0A
}=0A
if (/* Verify the code page - right p= age & revision */





I don`t think my modification is good enough,so i hope yo= u can give me some useful ideas to make it better.


=0A ------=_001_NextPart840542030146_=------ --===============3312698923488977470== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --===============3312698923488977470==--