LSI2008 controller clobbers first disk with new LSI mps driver
Desai, Kashyap
Kashyap.Desai at lsi.com
Wed Feb 29 16:38:35 UTC 2012
Hi Jason,
I have started discussion with LSI internal folks to get better clarity on this issue. Since our key person is on vacation, we may get clarity on this next week.
I cannot provide some temporary workaround in upstream(because this is against our design), but if you want to use for your environment, I can provide you some temporary patch.
Doug,
Thanks for providing your view and I have convey this to our architect.
~ Kashyap
> -----Original Message-----
> From: Douglas Gilbert [mailto:dgilbert at interlog.com]
> Sent: Tuesday, February 28, 2012 5:11 AM
> To: Jason Wolfe
> Cc: Desai, Kashyap; freebsd-scsi at freebsd.org; McConnell, Stephen
> Subject: Re: LSI2008 controller clobbers first disk with new LSI mps
> driver
>
> On 12-02-27 02:59 PM, Jason Wolfe wrote:
> > On Wed, Feb 22, 2012 at 9:11 AM, Desai, Kashyap<Kashyap.Desai at lsi.com>
> wrote:
> >>
> >>
> >>> -----Original Message-----
> >>> From: Douglas Gilbert [mailto:dgilbert at interlog.com]
> >>> Sent: Wednesday, February 22, 2012 8:52 PM
> >>> To: Desai, Kashyap
> >>> Cc: Jason Wolfe; freebsd-scsi at freebsd.org; McConnell, Stephen
> >>> Subject: Re: LSI2008 controller clobbers first disk with new LSI mps
> >>> driver
> >>>
> >>> On 12-02-22 03:39 AM, Desai, Kashyap wrote:
> >>>> Here is a possible root cause of this issue.
> >>>>
> >>>> Enclosure which you are using in your setup (might be) not
> configured
> >>> properly.
> >>>>
> >>>> You have Enclosure with 12 Slots + 1 SES Device.
> >>>> See below detail from the log.
> >>>>
> >>>> EventDataLength: 5
> >>>> AckRequired: 0
> >>>> Event: SasEnclDeviceStatusChange (0x1d)
> >>>> EventContext: 0x0
> >>>> EnclosureHandle: 0x2
> >>>> ReasonCode: Added
> >>>> PhysicalPort: 0
> >>>> NumSlots: 13
> >>>> StartSlot: 0
> >>>> PhyBits: 0xff
> >>>>
> >>>> StartSlot is 0 in this case.
> >>>> Correct behavior should be each device on your enclosure must have
> >>> different slot number starting from 0 till 12.
> >>>> I have doubt that SES device has not configured well and it is
> using
> >>> slot-0 as default. This can create issue for actual device which is
> >>> connected to slot-0.
> >>>> So In your setup you will have slot-0 till slot-11 assigned for
> actual
> >>> Phys of your enclosures and again slot-0 is assigned for SES device
> >>> instead of Slot-12.
> >>>
> >>> No. SAS-2 expanders typically have an integral SES device on an
> >>> expander _virtual_ phy (see SMP DISCOVER (LIST) response). Once
> >>> you see that virtual phy flag the slot number is irrelevant.
> >>
> >> Doug,
> >>
> >> I need some more info so that I can understand your point better.
> >>
> >> I have one Enclosure setup on FreeBSD. Here is smp_discover output.
> (smp_discover_list is failing for me)
> >>
> >> phy 0: inaccessible (phy vacant)
> >> phy 1: inaccessible (phy vacant)
> >> phy 2: inaccessible (phy vacant)
> >> phy 3: inaccessible (phy vacant)
> >> phy 4:S:attached:[500605b012345888:03 i(SSP+STP+SMP)] 6 Gbps
> >> phy 5:S:attached:[500605b012345888:02 i(SSP+STP+SMP)] 6 Gbps
> >> phy 6:S:attached:[500605b012345888:01 i(SSP+STP+SMP)] 6 Gbps
> >> phy 7:S:attached:[500605b012345888:00 i(SSP+STP+SMP)] 6 Gbps
> >> phy 12:D:attached:[5000c5003bc2c389:00 t(SSP)] 6 Gbps
> >> phy 13:D:attached:[500000e116ee91e2:00 t(SSP)] 6 Gbps
> >> phy 14:D:attached:[5000c5003bc308e5:00 t(SSP)] 6 Gbps
> >> phy 15:D:attached:[5000c5003bc2f0d1:00 t(SSP)] 6 Gbps
> >> phy 16:D:attached:[5000c5003bc2ff3d:00 t(SSP)] 6 Gbps
> >> phy 17:D:attached:[5000c5003bae5fdd:00 t(SSP)] 6 Gbps
> >> phy 18:D:attached:[5000c5003bae5eb1:00 t(SSP)] 6 Gbps
> >> phy 19:D:attached:[5000c5003bc2d135:00 t(SSP)] 6 Gbps
> >> phy 20:D:attached:[5000c5003baea36d:00 t(SSP)] 6 Gbps
> >> phy 21:D:attached:[5000c5003bc2a8c9:00 t(SSP)] 6 Gbps
> >> phy 22:D:attached:[5000c5003bc237a9:00 t(SSP)] 6 Gbps
> >> phy 23:D:attached:[5000c5003bc2cec1:00 t(SSP)] 6 Gbps
> >> phy 24:D:attached:[500000e01d92cb52:00 t(SSP)] 3 Gbps
> >> phy 25:D:attached:[500000e01d74cfb2:00 t(SSP)] 3 Gbps
> >> phy 26:D:attached:[500000e01d656052:00 t(SSP)] 3 Gbps
> >> phy 27:D:attached:[500000e01d7cad52:00 t(SSP)] 3 Gbps
> >> phy 28:D:attached:[500c04f2b64cdd1c:00 t(SATA)] 3 Gbps
> >> phy 29:D:attached:[500c04f2b64cdd1d:00 t(SATA)] 3 Gbps
> >> phy 30:D:attached:[500000e01d73c262:00 t(SSP)] 3 Gbps
> >> phy 31:D:attached:[500000e01d536b22:00 t(SSP)] 3 Gbps
> >> phy 32:D:attached:[500000e01d92cab2:00 t(SSP)] 3 Gbps
> >> phy 33:D:attached:[500000e01afd8792:00 t(SSP)] 3 Gbps
> >> phy 34:D:attached:[5000c5003bc30301:00 t(SSP)] 6 Gbps
> >> phy 35:D:attached:[5000c5003bb09a69:00 t(SSP)] 6 Gbps
> >> phy 36:D:attached:[500c04f2b64cdd3d:00 V i(SSP) t(SSP)] 6 Gbps<-
> -- This has virtual phy set.
> >>
> >> What I understood from your explanation is if we have virt_phy field
> set, we should not trust slot for that entry.
> >> You are suggesting to use phy index instead of slot. Just for info:
> But how to see Slot details mapping with phy ?
>
> Kashyap,
> I haven't written a SAS discover algorithm but there
> must be plenty of examples out there. One way to do it
> is to find all the phy_ids attached to targets, in this
> case there are SAS (SSP) and SATA targets. Each SATA
> target phy_id will correspond to one SATA disk (or could be an
> ATAPI device (e.g. DVD/BD player)). The SSP targets are a
> bit trickier because two (or more) phys could be connected
> to the same target (either a wide port or multiple (target)
> ports). With a wide port each component phy has the same
> attached SAS address (so above you have a wide initiator
> port (phy ids 4,5,6,7) but no wide target ports). If a
> SAS disk has multiple target ports connected, FreeBSD
> probably has a device node for each. So for each SCSI (SSP)
> target port you need a REPORT LUNS command issued on LUN 0
> (or the REPORT LUNS well known logical unit) to find the
> LUs it contains. A device node is created for each LU.
>
> Anyway I'm sure many folks in LSI know the SAS discover
> process better than I do. Ask them :-) Surely most of
> the above is already done in your HBA's firmware.
>
>
> BTW I don't think slot numbers are reliable and don't apply
> to things on virtual phys so they will just cause you
> problems when used in the discover process, as this thread
> attests. The BIOS on LSI's HBAs does a discover process
> but is only interested in bootable devices so SES devices
> don't appear.
>
>
> Doug Gilbert
>
> > Kashyap,
> >
> > Let me know if there are any changes agreed upon, I'm happy to test
> > out patches as this is affecting a large number of our machines. I
> > can only imagine the same for others as they start to upgrade, as this
> > is standard SuperMicro hardware.
> >
> > Thanks,
> > Jason
> >
More information about the freebsd-scsi
mailing list