From owner-freebsd-scsi@FreeBSD.ORG Fri Feb 17 19:57:43 2012 Return-Path: Delivered-To: freebsd-scsi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5075B106566C for ; Fri, 17 Feb 2012 19:57:43 +0000 (UTC) (envelope-from Kashyap.Desai@lsi.com) Received: from na3sys009aog113.obsmtp.com (na3sys009aog113.obsmtp.com [74.125.149.209]) by mx1.freebsd.org (Postfix) with ESMTP id B5ECD8FC08 for ; Fri, 17 Feb 2012 19:57:42 +0000 (UTC) Received: from paledge01.lsi.com ([192.19.193.42]) (using TLSv1) by na3sys009aob113.postini.com ([74.125.148.12]) with SMTP ID DSNKTz6xNfQ0ExIXgjxHdc8XnTY592M3fAkA@postini.com; Fri, 17 Feb 2012 11:57:42 PST Received: from PALHUB01.lsi.com (128.94.213.114) by PALEDGE01.lsi.com (192.19.193.42) with Microsoft SMTP Server (TLS) id 8.3.213.0; Fri, 17 Feb 2012 15:02:39 -0500 Received: from inbexch01.lsi.com (135.36.98.37) by PALHUB01.lsi.com (128.94.213.114) with Microsoft SMTP Server (TLS) id 8.3.213.0; Fri, 17 Feb 2012 14:57:40 -0500 Received: from inbmail01.lsi.com ([135.36.98.64]) by inbexch01.lsi.com ([135.36.98.37]) with mapi; Sat, 18 Feb 2012 01:27:38 +0530 From: "Desai, Kashyap" To: Jason Wolfe Date: Sat, 18 Feb 2012 01:27:36 +0530 Thread-Topic: LSI2008 controller clobbers first disk with new LSI mps driver Thread-Index: Acztqn2415mfunTpRMadRDFpf4pBqQAAv5SQ Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Cc: "freebsd-scsi@freebsd.org" , "McConnell, Stephen" Subject: RE: LSI2008 controller clobbers first disk with new LSI mps driver X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Feb 2012 19:57:43 -0000 Jason, Thanks for the data. Now, I am able to understand real issue. See below de= tails from debug logs. See my comment with << marks. mps0: SAS Address from SAS device page0 =3D 5000c50033f5cdb5 mps0: Found device <401,End Device> <6.0Gbps> <0x000a> <2/0> mps0: Target id 0x8 added <<------------------------------------->> Here suppose to be a boot device and it is device connected to slot-0, dete= cted=20 Very well as first device at driver. Assigned Target id =3D 8.=20 This is as expected.=20 <<------------------------------------->> mps0: SAS Address from SAS device page0 =3D 5000c50033f49c01 mps0: Found device <401,End Device> <6.0Gbps> <0x000b> <2/1> mps0: Target id 0x9 added mps0: SAS Address from SAS device page0 =3D 5000c50033f6c799 mps0: Found device <401,End Device> <6.0Gbps> <0x000c> <2/2> mps0: Target id 0xa added mps0: SAS Address from SAS device page0 =3D 5000c50033e562f5 mps0: Found device <401,End Device> <6.0Gbps> <0x000d> <2/3> mps0: Target id 0xb added mps0: SAS Address from SAS device page0 =3D 5000c50033f49a41 mps0: Found device <401,End Device> <6.0Gbps> <0x000e> <2/4> mps0: Target id 0xc added mps0: SAS Address from SAS device page0 =3D 5000c50033f5efe9 mps0: Found device <401,End Device> <6.0Gbps> <0x000f> <2/5> mps0: Target id 0xd added mps0: SAS Address from SAS device page0 =3D 5000c50033f49a11 mps0: Found device <401,End Device> <6.0Gbps> <0x0010> <2/6> mps0: Target id 0xe added mps0: SAS Address from SAS device page0 =3D 5000c50033f49c71 mps0: Found device <401,End Device> <6.0Gbps> <0x0011> <2/7> mps0: Target id 0xf added mps0: SAS Address from SAS device page0 =3D 5000c50033f40fb1 mps0: Found device <401,End Device> <6.0Gbps> <0x0012> <2/8> mps0: Target id 0x10 added mps0: SAS Address from SAS device page0 =3D 5000c50033f6cba9 mps0: Found device <401,End Device> <6.0Gbps> <0x0013> <2/9> mps0: Target id 0x11 added mps0: (13)->(mpssas_fw_work) Event Free: [1c] mps0: (13)->(mpssas_fw_work) Working on Event: [1c] mps0: SAS Address from SAS device page0 =3D 5000c50033f650cd mps0: Found device <401,End Device> <6.0Gbps> <0x0014> <2/10> mps0: Target id 0x12 added mps0: SAS Address from SAS device page0 =3D 5000c50033f29109 mps0: Found device <401,End Device> <6.0Gbps> <0x0015> <2/11> mps0: Target id 0x13 added <<-- Now Driver detects SES devices. -->> _But_ unfortunetly driver assign Target-id =3D 8 to the SES device. This will override device mapping table of Drive and Target-id =3D 8 is no = more your boot device which was detected very first. This needs to be fix in driver. I am currently not in office. (Working at A= sia pacific time zone) I will have a look of this and provide you some solution. <<------------------------------------->> mps0: SAS Address from SAS device page0 =3D 500304800126e3fd mps0: Found device <4451,End Device> <6.0Gb= ps> <0x0016> <2/0> mps0: Target id 0x8 added mps0: mpssas_startup_decrement releasing simq mps0: Queueing rescan for (xpt0:mps0:0:-1:-1): ~ Kashyap > -----Original Message----- > From: Jason Wolfe [mailto:nitroboost@gmail.com] > Sent: Saturday, February 18, 2012 1:00 AM > To: Desai, Kashyap > Cc: Maksim Yevmenkin; freebsd-scsi@freebsd.org > Subject: Re: LSI2008 controller clobbers first disk with new LSI mps > driver >=20 > Kashyap, >=20 > The boot drive is always the first disk, enclosure 0, and should be da0. > It is the same model as the other 11 disks also. >=20 > PCI ENCL LUN VENDOR PRODUCT PRODUCT SIZE \ > SLOT SLOT NUM NAME IDENTIFIER REVISION NVDATA > ---- ---- --- -------- ---------------- ----------- --------- > 5 LSI SAS2008-IT 10.00.02.00 0A:02:00:04 > 5 0 0 SEAGATE ST91000640SS 0001 953 GB > <-------- boot drive/wanted da0/masked by ses device > 5 1 0 SEAGATE ST91000640SS 0001 953 GB > 5 2 0 SEAGATE ST91000640SS 0001 953 GB > 5 3 0 SEAGATE ST91000640SS 0001 953 GB > 5 4 0 SEAGATE ST91000640SS 0001 953 GB > 5 5 0 SEAGATE ST91000640SS 0001 953 GB > 5 6 0 SEAGATE ST91000640SS 0001 953 GB > 5 7 0 SEAGATE ST91000640SS 0001 953 GB > 5 8 0 SEAGATE ST91000640SS 0001 953 GB > 5 9 0 SEAGATE ST91000640SS 0001 953 GB > 5 10 0 SEAGATE ST91000640SS 0001 953 GB > 5 11 0 SEAGATE ST91000640SS 0001 953 GB >=20 > Attached is the verbose dmesg with the mps.debuglevel set. >=20 > Jason >=20 > On Fri, Feb 17, 2012 at 11:54 AM, Desai, Kashyap > wrote: > > > > > > OK, So you have your / partion on da0. (this drive is attached to > > which phy ?) Since all Drive are from same manufacture and Same > variant, it is difficult to collect data from this dmesg log. > > > > Can you put the following in /boot/loader.conf: > > > > hw.mps.debug_level=3D0xd > > > > Here is some context of the target id generation logic in > > > > Older driver available in FreeBSD-8 Stable, will not have any logic in > driver to generate Target id mapping. > > So it will give da0 device name to the drive which is detected First > by FW. > > > > With newer driver story is little different. Drive will find the DPM > > page in FW for particular drive detected by FW and it will do mapping > Either by Enclosure slot mapping / Device mapping. > > > > I am trying to see how best I can solve your issue. > > > > Also, In this case which device has actually you wants to be da0 ? ( I > > mean boot driver has got which device name ? ) > > > > Let me see your another dmesg output. > > > > ` Kashyap