I'm looking at this trace and things are weird alright. First, you
asked in your original email about the sense data. You thought the
initiator after receiving a check condition should perform a request
sense. That's old school. ;-) Everything is enabled with auto_sense
such that on a check condition the target automatically return the
sense data. In the SCSI Response packet you'll see that the data
length is set to 0x16. What you don't see is the the actual sense data
and that's because it's in the following two packets. [Side note:
Something that I meant to change quite some time ago when I worked at
Sun on this project was to switch the code over to using writev() so
that header and data would go out on the wire as one ethernet packet].
So, I have decoded the sense data and I found the strangest error. The
sense key is set to HARDWARE_ERROR. I need to dig through the code to
find that one. I seem to remember only using that sense key when the
underlying hardware returned an error during I/O. A SCSI INQUIRY
command doesn't perform any I/O and I looked through that portion of
the and didn't find anything. It must be buried within the framework.

On Thu, Jan 22, 2009 at 2:17 PM, Eric Sproul <[email protected]> wrote:
> Rick McNeal wrote:
>> Send me your trace file and I'll take a quick peek.
>
> Attached.
>
> Thanks,
> Eric
>



-- 
Rick McNeal

"Democracy is two wolves and a sheep voting on what to have for lunch.
Liberty is a well armed sheep contesting the vote."

Benjamin Franklin
_______________________________________________
storage-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/storage-discuss

Reply via email to