amusing stumble for the 6 to 10 byte checking code
mjacob at freebsd.org
mjacob at freebsd.org
Thu Nov 16 18:09:12 UTC 2006
On Thu, 16 Nov 2006, Kenneth D. Merry wrote:
> On Thu, Nov 16, 2006 at 08:36:15 -0800, Matthew Jacob wrote:
>>> That shouldn't have happened in response to a unit attention. It should
>>> only happen if the SIM comes back with CAM_REQ_INVALID, or if the target
>>> comes back with an illegal request sense code. So there may have been
>>> another intervening error that caused the switchover.
>>
>> Yeah- but where?
>
> I dunno. I just took a quick look through CAM and the ISP driver for
> CAM_REQ_INVALID, and didn't see any obvious place that would return
> CAM_REQ_INVALID for a 6 byte write...
>
> Computers are causal, though, so I'm sure there's a reason in there
> *somewhere*...
>
>>>> (da0:isp1:0:0:0): WRITE(10). CDB: 2a 0 0 8 68 90 0 0 80 0
>>>> (da0:isp1:0:0:0): CAM Status: SCSI Status Error
>>>> (da0:isp1:0:0:0): SCSI Status: Check Condition
>>>> (da0:isp1:0:0:0): ILLEGAL REQUEST asc:24,0
>>>> (da0:isp1:0:0:0): Invalid field in CDB
>>>> (da0:isp1:0:0:0): Unretryable error
>>>
>>> Hmm. Illegal field, and not invalid command operation code? That's odd.
>>> What kind of drive is this? The CDB looks valid at first glance...
>>>
>>
>> Yeah, this is what's puzzling me. This is a normal FC drive. Puzzled...
>
> Yeah, definitely a weird error. I'd never expect a SCSI drive to reject a
> normal 10 byte write like that. There are no weird flags in the CDB, and
> the lba and length don't seem out of range at all... (Unless you've got a
> 200MB hard FC hard drive...)
Hmm- that might be lcue. It might have been one of my 50MB test virtual
luns which *might* have had a bad label. That gives me a clue of where
to go look for at least the second error- thanks!
More information about the freebsd-scsi
mailing list