linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ankit Jain <jankit@suse.de>
To: Rob Evers <revers@redhat.com>
Cc: linux-scsi@vger.kernel.org
Subject: Re: [PATCH] scsi_io_completion: extend description of default host-byte handling
Date: Fri, 14 Oct 2011 03:38:52 +0530	[thread overview]
Message-ID: <4E976174.5050403@suse.de> (raw)
In-Reply-To: <1318541476-27243-1-git-send-email-revers@redhat.com>

On 10/14/2011 03:01 AM, Rob Evers wrote:
> replace "unhandled error code" message in scsi_io_completion default
> host-byte condition with a descriptive message of what the host-byte
> indicates.  The descriptive messages for the host bytes were derived
> from the corresponding comments for the DID_HOST_ definitions in scsi.h.
> 
> Also softened the corresponding default sense code message.
> 
> Signed-off-by: Rob Evers <revers@redhat.com>
> ---
>  drivers/scsi/constants.c |   45 ++++++++++++++++++++++++++++++++++++++++++++-
>  drivers/scsi/scsi_lib.c  |    4 ++--
>  include/scsi/scsi_dbg.h  |    1 +
>  3 files changed, 47 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/scsi/constants.c b/drivers/scsi/constants.c
> index 450e011..900333c 100644
> --- a/drivers/scsi/constants.c
> +++ b/drivers/scsi/constants.c
> @@ -1422,9 +1422,52 @@ static const char * const hostbyte_table[]={
>  "DID_OK", "DID_NO_CONNECT", "DID_BUS_BUSY", "DID_TIME_OUT", "DID_BAD_TARGET",
>  "DID_ABORT", "DID_PARITY", "DID_ERROR", "DID_RESET", "DID_BAD_INTR",
>  "DID_PASSTHROUGH", "DID_SOFT_ERROR", "DID_IMM_RETRY", "DID_REQUEUE",
> -"DID_TRANSPORT_DISRUPTED", "DID_TRANSPORT_FAILFAST" };
> +"DID_TRANSPORT_DISRUPTED", "DID_TRANSPORT_FAILFAST", "DID_TARGET_FAILURE",
> +"DID_NEXUS_FAILURE" };
>  #define NUM_HOSTBYTE_STRS ARRAY_SIZE(hostbyte_table)
>  
> +/*
> + * derived from comments following 'Host byte codes' in scsi.h
> + */
> +static char *hostbyte_table_ext_msg[] = {
> +	"No Error",
> +	"Couldn't connect before timeout period",
> +	"Bus stayed busy through timeout period",
> +	"Timed out for other reason",
> +	"Bad target",
> +	"Abort for some other reason",
> +	"Parity Error",
> +	"Internal Error",
> +	"Reset",
> +	"Interrupt that is not expected",
> +	"Force command past mid-layer",
> +	"Low level driver requests a retry",
> +	"Retry immediately, don't decrement retry count",
> +	"Requeue command, not immediate, don't decrement retry count",
> +	"Transport disrupted, driver blocked port to recover link, transport class will retry or fail the IO",
> +	"Transport class fastfailed the IO",
> +	"Permanent target failure, don't retry other paths",
> +	"Permanent nexus failure, retry on other paths may yield different results"
> +};
> +#define NUM_HOSTBYTE_EXT_MSG_STRS ARRAY_SIZE(hostbyte_table_ext_msg)
> +
> +#endif
> +
> +char *
> +scsi_ext_host_byte_msg(unsigned char index)
> +{
> +#ifdef CONFIG_SCSI_CONSTANTS
> +	if (index < NUM_HOSTBYTE_EXT_MSG_STRS)
> +		return hostbyte_table_ext_msg[index];
> +	else
> +		return NULL;

Some message, rather than nothing(NULL) would be more useful, IMHO.

> +#else
> +	return NULL;
> +#endif

Wouldn't it be better to fallback to "Unhandled error code" in case
CONFIG_SCSI_CONSTANTS is not defined? Maybe same for the earlier comment?

-- 
Ankit Jain
SUSE Labs

  reply	other threads:[~2011-10-13 22:06 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-13 21:31 [PATCH] scsi_io_completion: extend description of default host-byte handling Rob Evers
2011-10-13 22:08 ` Ankit Jain [this message]
2011-10-14  1:48   ` Rob Evers

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=4E976174.5050403@suse.de \
    --to=jankit@suse.de \
    --cc=linux-scsi@vger.kernel.org \
    --cc=revers@redhat.com \
    /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;
as well as URLs for NNTP newsgroup(s).