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
