From: Boaz Harrosh <bharrosh@panasas.com>
To: Kai Makisara <Kai.Makisara@kolumbus.fi>
Cc: Arne Wiebalck <arne.wiebalck@cern.ch>, linux-scsi@vger.kernel.org
Subject: Re: SG_IO problem on tape devices
Date: Tue, 03 Jun 2008 20:37:50 +0300 [thread overview]
Message-ID: <4845816E.50104@panasas.com> (raw)
In-Reply-To: <alpine.LSU.1.10.0806031937410.7948@kai.makisara.local>
Kai Makisara wrote:
> On Tue, 3 Jun 2008, Arne Wiebalck wrote:
>
>> Hi all,
>>
>> I got a problem using the SG_IO ioctl with our tape drives.
>> In order to examine errors on our drives in more detail, I
>> would like to make the sense bytes available to the
>> application using the REQUEST_SENSE command.
>>
>> However, there's a discrepancy between the kernel output in
>> /var/log/messages and what I see using SG_IO within my
>> application: while the kernel sees
>>
>> kernel: st0: Error with sense data: scsi1 : destination target 0, lun 0
>> kernel: command = Space 01 00 0d d5 00
>> kernel: Info fld=0x1, Current st0: sense key Medium Error
>> kernel: Additional sense: Read retries exhausted
>> kernel: Raw sense data:0xf0 0x00 0x03 0x00 0x00 0x00 0x01 0x12 0x00 0x00
>> 0x00 0x00 0x11 0x01 0x00 0x00 0x00 0x00 0x37 0xf7 0x10 0x01 0x00 0x00
>> 0xf7 0x37
>>
>> (which is realistic) the ioctl reports something like
>>
>> 70 00 00 00 00 00 00 12 00 00 00 00 00 00 00 00
>> 00 00 00 00 00 00 00 00 10 02
>>
>> (since the first bit is not set, the sense bytes are not even valid,
>> as far as I understand).
>>
>> So, could it be that the sense bytes are already cleared when I request
>> them? They cleared/set by the next SCSI cmd, I assume? But shouldn't
>> they be valid even then?
>>
> Yes, the standard says that the sense data after CHECK CONDITION shall be
> preserved until it is transferred and cleared after that. This means that,
> in this case, the st driver only sees the sense data. The subsequent
> REQUEST SENSE commands receive the NO SENSE key, which is what you get.
>
> The st driver should return more error information that fits into struct
> mtget. The problem is what should be there? I don't have a clear idea what
> kind of definition would be general enough for the future but not too
> complicated. User input here is needed.
>
> One of the ideas I have had has been to provide the sense data from the
> latest command that provided it. This would be easy to implement and could
> use a sysfs file. (But should this be a general SCSI feature and not a st
> feature?)
>
You might want to look into using bsg ULD, if it is at all possible for you,
as it has a facility to return the actual sense information of the executed
command, into a user supplied buffer. But that means redoing st in user mode.
($0.017)
Boaz
next prev parent reply other threads:[~2008-06-03 17:38 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-03 7:59 SG_IO problem on tape devices Arne Wiebalck
2008-06-03 16:52 ` Kai Makisara
2008-06-03 17:37 ` Boaz Harrosh [this message]
2008-06-03 20:15 ` James Bottomley
2008-06-04 2:06 ` Douglas Gilbert
2008-06-04 16:46 ` AW: " Arne Wiebalck
2008-06-30 8:43 ` Arne Wiebalck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4845816E.50104@panasas.com \
--to=bharrosh@panasas.com \
--cc=Kai.Makisara@kolumbus.fi \
--cc=arne.wiebalck@cern.ch \
--cc=linux-scsi@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox