linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hannes Reinecke <hare@suse.de>
To: Christoph Hellwig <hch@infradead.org>
Cc: linux-scsi@vger.kernel.org, Ewan Milne <emilne@redhat.com>,
	James Smart <james.smart@emulex.com>,
	Bryn Reeves <bmr@redhat.com>,
	Roland Dreier <roland@purestorage.com>
Subject: Re: [PATCH 4/4] scsi_transport_fc: FC timeout handler
Date: Sat, 25 May 2013 11:55:58 +0200	[thread overview]
Message-ID: <51A08AAE.1060501@suse.de> (raw)
In-Reply-To: <20130525084222.GA27576@infradead.org>

On 05/25/2013 10:42 AM, Christoph Hellwig wrote:
> On Sat, May 25, 2013 at 11:38:55AM +0200, Hannes Reinecke wrote:
>> On 05/25/2013 07:08 AM, Christoph Hellwig wrote:
>>> This looks like a good start, but why would we make this FC specific?
>>>
>> Because James B. said so :-)
>
> I can't remember that at all, but I'll happily let him speak.
>
>> No, seriously:
>> You would need to revisit the good old SCSI parallel LLDDs to figure
>> out if this approach works for them.
>> Eg aic7xxx basically has to stop the entire HBA even for an abort as
>> it has to look through its internal queues etc to locate the
>> command.
>> So for them it wouldn't make much difference.
>> Plus no-one has the knowledge nor the equipment to check _all_ SPI
>> LLDDs to ensure this will work for them.
>
> This is not what I suggested.  But by making the new code a common
> library we can also make other modern transports like SAS or iSCSI
> benefit from the saner error handling.   With motivated enough
> maintainers even modern SPI adapters - basically make it the same kind
> of transition from the old "old" EH to the current "new" EH back in the
> 2.2 days.
>
> With a bit of luck 10 years down the road all drivers requiring current
> EH will have faded away.
>
It should be possible to move the code into scsi_lib and just have small 
hooks for the individual transports to use this.

The main reason I didn't do this atm is that I'm still working on the 
remaining bits:
- Use 'ABORT TASK SET' instead of 'LUN RESET'
- Do not stop the host when issuing 'ABORT TASK SET'; it should be
   sufficient to set the sdev to 'QUIESCE' and let the other LUNs
   unaffected.
- Use 'reset I_T nexus' instead of 'TARGET RESET'
- Similarly, do not stop the host when running 'reset I_T nexus',
   but use existing transport mechanisms (eg setting the rport
   to 'BLOCKED' for FC) to block I/O to the affected target.

So the plan is to implement the above for FC, then see how much can be 
leveraged for other transports, and then move these bits to the common 
layer.

Cheers,

Hannes


  reply	other threads:[~2013-05-25  8:56 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-24  9:50 [PATCH 0/4] New FC timeout handler Hannes Reinecke
2013-05-24  9:50 ` [PATCH 1/4] scsi: move initialization of scmd->eh_entry Hannes Reinecke
2013-05-24 16:57   ` Jörn Engel
2013-05-25  8:47     ` Christoph Hellwig
2013-05-24  9:50 ` [PATCH 2/4] blk-timeout: add BLK_EH_SCHEDULED return code Hannes Reinecke
2013-05-24  9:50 ` [PATCH 3/4] scsi: export functions for new fc timeout handler Hannes Reinecke
2013-05-24  9:50 ` [PATCH 4/4] scsi_transport_fc: FC " Hannes Reinecke
2013-05-25  5:08   ` Christoph Hellwig
2013-05-25  9:38     ` Hannes Reinecke
2013-05-25  8:42       ` Christoph Hellwig
2013-05-25  9:55         ` Hannes Reinecke [this message]
2013-06-05 21:55           ` Jörn Engel
2013-05-30  8:37 ` [PATCH 0/4] New " Ren Mingxin
2013-05-30 12:01   ` Hannes Reinecke

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=51A08AAE.1060501@suse.de \
    --to=hare@suse.de \
    --cc=bmr@redhat.com \
    --cc=emilne@redhat.com \
    --cc=hch@infradead.org \
    --cc=james.smart@emulex.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=roland@purestorage.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).