Date: Wed, 9 Nov 2016 09:06:29 -0700 From: Scott Long <scottl@samsco.org> To: Harry Schmalzbauer <freebsd@omnilan.de> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r308217 - in head/sys/dev: mpr mps Message-ID: <161EBBC5-F642-4A05-9361-179B74CDA50A@samsco.org> In-Reply-To: <581C5249.2060104@omnilan.de> References: <201611021513.uA2FDPk6062463@repo.freebsd.org> <581C5249.2060104@omnilan.de>
next in thread | previous in thread | raw e-mail | index | archive | help
> On Nov 4, 2016, at 3:18 AM, Harry Schmalzbauer <freebsd@omnilan.de> = wrote: >=20 > Bez=C3=BCglich Scott Long's Nachricht vom 02.11.2016 16:13 = (localtime): >> Author: scottl >> Date: Wed Nov 2 15:13:25 2016 >> New Revision: 308217 >> URL: https://svnweb.freebsd.org/changeset/base/308217 >>=20 >> Log: >> Add a fallback to the device mapper logic. We've seen systems in = the field >> that are apparently misconfigured by the manufacturer and cause the = mapping >> logic to fail. The fallback allows drive numbers to be assigned = based on the >> PHY number that they're attached to. Add sysctls and tunables to = overrid >> this new behavior, but they should be considered only necessary for = debugging. >=20 > Thanks a lot, this is welcome not only for debugging! >=20 > I had a hard time finding out how to get rid of static > driveserial-targetID assigning. > And more surprising, this affects only IT-fw. When using the same > controller in IR-mode, mapping is done (correctly) slot-based. > In IT-mode, every drive got a consecutive target ID which was static, > and even persistent over firmware updates. There's only one = possibility > with LSIUtil(1.71) to erase /"persitent non-manufacturing config = pages/". > But I guess this hard drive-targetID assigning is triggered by the > driver, namely the mps(4) in FreeBSD. > I did quick tests on windows and IT-mode, where I think I saw slot (or > Phy?) based assigning. >=20 > If it's really mps(4) who decides to store driveserial-targetID > numbering in the /"persitent non-manufacturing config pages/" of the > controller, mpsutil(8) should be able to reset. Otherwise replacing > failed drives, or - even mor confusing - rearranging drive/zpool = layouts > is very unsatisfying. >=20 > Maybe "-1" should be mentioned with sysctl decription, otherwise this = is > another very hard to find/influence behaviour. >=20 >=20 Thanks for the feedback. For the record, this problem happens on a Supermicro X10SDV-7TP4F motherboard. It appears that the support logic around the LSI controller is mis-configured to show the SAS ports being part of an enclosure with 0 slots, instead of 8. This confuses the device mapper logic in the driver that activates if the controller = NVRAM doesn=E2=80=99t specify a pre-existing mapping. Typically this is not = the default, the NVRAM persistent mappings are the default and are used by the = driver, so I considered this problem to be unique to our deployment. Maybe = it=E2=80=99s more of a problem than I estimated? Anyways, sounds like this new functionality should be properly documented in the driver. Scott
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?161EBBC5-F642-4A05-9361-179B74CDA50A>