All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Christie <michaelc@cs.wisc.edu>
To: "goggin, edward" <egoggin@emc.com>
Cc: dm-devel@redhat.com, axboe@suse.de, linux-scsi@vger.kernel.org
Subject: Re: [RFC PATCH 4/4] convert scsi to blkerr error values
Date: Fri, 16 Sep 2005 15:26:25 -0500	[thread overview]
Message-ID: <432B2A71.6020305@cs.wisc.edu> (raw)
In-Reply-To: <C2EEB4E538D3DC48BF57F391F422779321ACB6@SRMANNING.eng.emc.com>

goggin, edward wrote:
> Mike,
> 
> I don't think it is reasonably possible to anticipate
> all possible parsing requirements for the asc and ascq
> portions of SCSI sense information across all device
> models.  I'm in favor of having a "small" framework in
> SCSI where a SCSI sense interpreter module (per
> vendor & model possibly) could be registered
> dynamically, by dm-emc.c for instance.

Yeah I agree, I mentioned this before in some other mails. I think a 
module versus some table that userspace could write to were discussed.

The BLKERR values were meant to be able to tell upper layer code whether 
a transport or device or driver error occured and whether the lower 
level thought it was retryable. But then I thought I could also wedge in 
the handling of the vendor specifcs by adding a vendor specific SCSI 
module that would map the their specific value to a BLKERR_* one. And as 
I said offlist it is not working perfectly becuase we are losing some 
information in the translations.

> 
> The extended error interpreter callout would be
> triggered indirectly by a call from
> __end_that_request_first to a extended error parser
> associated with the io request's queue whenever it
> sees a non-zero sense field of the io request.
> Perhaps the sense and sense_len fields in the
> request structure should be changed to not be
> SCSI specific.

So this just handles the sense type of error right? We still need 
something seperate for the transport and device etc errors correct?

> 
> Also, in order to allow for more variation and detail
> in the interpretation of device specific SCSI asc and
> ascq values, the results of the interpretation should
> not be required to be block layer generic, but instead
> are saved in something like a void *bi_extended_error
> field of the bio.  __end_that_request_first would push
> the results of the extended_error interpretation to the
> bi_extended_error field of each bio in the request,
> similar to how Jens's code currently works.
> 
> This extended error parsing approach should extend easily
> (without requiring a kernel revision for new BLKERR values)
> to new SCSI devices/models and their device specific asc
> and ascq values.  This design could also be extended to
> support the interpretation of extended error information
> for non-SCSI block devices like DASD.
> 

I am fine with such a thing. You basically described what we have been 
talking about for some time but sperated the BLKERR part from the vendor 
specific part (which solves the problem I was having in trying to use 
the BLKERR value for two things). I am not the decision maker though so.

  reply	other threads:[~2005-09-16 20:26 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-16 20:32 [RFC PATCH 4/4] convert scsi to blkerr error values goggin, edward
2005-09-16 20:26 ` Mike Christie [this message]
2005-09-16 20:53   ` Mike Christie
2005-09-29  2:28 ` [dm-devel] " Mike Christie
  -- strict thread matches above, loose matches on Subject: below --
2005-09-17 12:10 goggin, edward
2005-09-17 15:41 ` Mike Christie
2005-09-17 12:06 goggin, edward
2005-08-24  9:04 Mike Christie

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=432B2A71.6020305@cs.wisc.edu \
    --to=michaelc@cs.wisc.edu \
    --cc=axboe@suse.de \
    --cc=dm-devel@redhat.com \
    --cc=egoggin@emc.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.