public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Edward Goggin <egoggin@vmware.com>
To: James Bottomley <James.Bottomley@SteelEye.com>
Cc: linux-scsi@vger.kernel.org, Adam Zimman <azimman@vmware.com>,
	Petr Vandrovec <petr@vmware.com>,
	dgreen@vmware.com, Manon Goo <manon@manon.de>,
	Michael Reed <mdr@sgi.com>, "Moore, Eric" <Eric.Moore@lsi.com>,
	David Berghoff <david@dg-i.net>, Vicky Xu <vgxu@vmware.com>,
	"Shirron, Stephen" <Stephen.Shirron@lsi.com>
Subject: Re: [PATCH 2/5] fusion: vmware bug fix prevent inifinite retries
Date: Wed, 10 Jan 2007 11:44:23 -0500	[thread overview]
Message-ID: <1168447463.8850.110.camel@egoggin-devd.eng.vmware.com> (raw)
In-Reply-To: <1168445431.10693.3.camel@mulgrave.il.steeleye.com>

On Wed, 2007-01-10 at 08:10 -0800, James Bottomley wrote:
> On Tue, 2007-01-09 at 16:32 -0500, Edward Goggin wrote:
> > The attached (untested) patch shows a VMware and scsi transport agnostic
> > approach which introduces a new host status (DID_QUALIFIED_REQUEUE) to
> > be used by mptscsih.c (and other LLDs) instead of DID_BUS_BUSY.  A host
> > status of DID_QUALIFIED_REQUEUE will return ADD_TO_MLQUEUE from
> > scsi_decide_disposition IFF the REQ_FAILFAST bit is not set in the
> > cmd_flags field of the SCSI command's request structure.
> > 
> > The approach depends on both VMware Linux guests not setting
> > REQ_FAILFAST and non-VMware Linux hosts with an IBM RDAC/MPP multi-
> > pathing driver doing so.  This requirement is not a problem for VMware
> > since its guest operating systems have no need to configure block device
> > multi-pathing.  This requirement shouldn't be a problem for the IBM
> > RDAC/MPP driver either since it should already be setting the
> > REQ_FAILFAST attribute of I/Os for which it is providing multi-pathing,
> > similar to what the Linux dm-multipath driver already does.
> 
> Not in the driver, please ...
> 
> the SAM status BUSY is a well known one for array controllers to return
> while contemplating a failover.  Thus, if we think this is the issue,
> the mid-layer should be the entity to pass the status through on
> REQ_FAILFAST not the driver (i.e. pass SAM_STAT_BUSY through unmodified
> and alter the mid-layer).  However, I'd be unhappy about doing this:
> BUSY is a standard return for a lot of controllers for transient
> resource conditions, which wouldn't necessarily be alleviated on path
> failover.
> 
> James
> 

I share your concern about affecting the semantics of SAM_STAT_BUSY.
This is why the patch introduces a new host status instead of simply
changing the code for BUSY in scsi_decide_disposition to requeue only if
not REQ_FAILFAST.

The new host status is meant to provide the option for LLDs to enact
conditional requeuing of the cmd (conditional based on the REQ_FAILFAST
setting) which is not throttled by the cmd's retry count -- a capability
which is not there currently.

> 

  reply	other threads:[~2007-01-10 16:45 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-09 18:14 [PATCH 2/5] fusion: vmware bug fix prevent inifinite retries Adam Zimman
2007-01-09 20:55 ` Petr Vandrovec
2007-01-09 21:32   ` Edward Goggin
2007-01-10 16:10     ` James Bottomley
2007-01-10 16:44       ` Edward Goggin [this message]
  -- strict thread matches above, loose matches on Subject: below --
2007-01-10  5:44 Moore, Eric
2007-01-09  1:37 Moore, Eric
2007-01-09 16:17 ` Michael Reed
2007-01-09 17:49   ` Manon Goo
2007-01-08 22:03 Moore, Eric
2007-01-08 22:24 ` James Bottomley
2007-01-05  3:46 Eric Moore
2007-01-06 15:30 ` James Bottomley
2007-01-06 16:10   ` Matthew Wilcox
2007-01-06 16:28     ` James Bottomley

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=1168447463.8850.110.camel@egoggin-devd.eng.vmware.com \
    --to=egoggin@vmware.com \
    --cc=Eric.Moore@lsi.com \
    --cc=James.Bottomley@SteelEye.com \
    --cc=Stephen.Shirron@lsi.com \
    --cc=azimman@vmware.com \
    --cc=david@dg-i.net \
    --cc=dgreen@vmware.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=manon@manon.de \
    --cc=mdr@sgi.com \
    --cc=petr@vmware.com \
    --cc=vgxu@vmware.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