Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Oct 2010 16:50:13 -0500
From:      Kevin Day <kevin@your.org>
To:        Scott Long <scottl@samsco.org>
Cc:        freebsd-scsi@freebsd.org
Subject:   Re: mfi "unexpected sense" when using mfip/smartctl
Message-ID:  <A69E0D66-25DF-40FD-AA71-4D72260739E8@your.org>
In-Reply-To: <9B56BE59-38FD-46EF-89C3-0A5035BE324C@samsco.org>
References:  <911A3B60-559B-471E-90B2-3D7754AC8D17@your.org> <9B56BE59-38FD-46EF-89C3-0A5035BE324C@samsco.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On Oct 12, 2010, at 8:02 PM, Scott Long wrote:

> On Oct 12, 2010, at 3:15 PM, Kevin Day wrote:
>>=20
>> Hey, SCSI people!
>>=20
>> I'm trying to use smartctl (from smartmontools) with an mfi card. I =
can kldload mfip, and use smartctl to access SMART data on the member =
drives fine. The problem is that each time I do so, I get:
>>=20
>> mfi0: 13501 (340232122s/0x0002/info) - Unexpected sense: PD =
05(e0x04/s0) Path 50030480006deec4, CDB: 85 06 2c 00 da 00 00 00 00 00 =
4f 00 c2 00 b0 00, Sense: c/6d/00
>>=20
>> I'm assuming this shows up because the RAID controller isn't =
expecting the reply to the command that smartctl is sending behind it's =
back.
>>=20
>> If so, this is pretty harmless, but it looks very very similar to =
what happens when there's a serious problem with a drive. Is there a way =
this could be muted, or is this indicating that something is actually =
not working right?=20
>>=20
>=20
> You're exactly right about the controller firmware seeing a side =
effect of running smartctl.  You can cross-ref the sense codes at =
http://www.t10.org/lists/asc-num.txt if you're interested.  The reported =
code of "c/6d/00" doesn't make any sense to me, but I guess it's ok.  As =
long as it's not kicking the array into failover mode, it's harmless.  I =
think that there is an official way of doing SMART in-band with the =
controller that avoids this confusion, I'll look into it.  It likely =
means that smartctl will need learn how to talk to the /dev/mfi0 =
interface, or mfiutil will need to learn about SMART commands.  Neither =
option is terribly easy.
>=20
> Scott

I've been looking at this a bit more...

Smartctl on Linux uses a special ioctl to talk to the controller like a =
passthrough device, which makes the code path nearly identical to =
FreeBSD+smartctl+mfip. But on Linux, it's not generating any log entries =
on the controller. (I even checked to make sure they weren't somehow not =
being printed on the console, but they really aren't being generated at =
the card itself).=20

I don't see a great deal of differences between what Linux is doing and =
what happens here, but I also agree that the sense code being reported =
doesn't make sense. I'm kinda wondering if somehow we're not sending the =
controller a bad/additional/unhappy passthrough frame, which is making =
it send an additional command to the drive. Smartctl seems mostly =
functional, but requires turning off some sanity checks that aren't =
necessary on identical hardware/drives under Linux to make it work.

Before I dig much deeper, do you have any wild guesses? :)

-- Kevin




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A69E0D66-25DF-40FD-AA71-4D72260739E8>