All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Garzik <jeff@garzik.org>
To: James Bottomley <James.Bottomley@SteelEye.com>
Cc: SCSI Mailing List <linux-scsi@vger.kernel.org>,
	"linux-ide@vger.kernel.org" <linux-ide@vger.kernel.org>,
	Tejun Heo <htejun@gmail.com>, Andrew Morton <akpm@osdl.org>,
	Linus Torvalds <torvalds@osdl.org>
Subject: Re: [Fwd: [RFT] major libata update]
Date: Tue, 16 May 2006 12:12:43 -0400	[thread overview]
Message-ID: <4469F9FB.7020807@garzik.org> (raw)
In-Reply-To: <1147794708.3505.30.camel@mulgrave.il.steeleye.com>

James Bottomley wrote:
> On Tue, 2006-05-16 at 11:41 -0400, Jeff Garzik wrote:
>> I can't see a case _in libata operation_ where a set of circumstances 
>> arises that causes missed wakeups, can you elaborate?
> 
> This is scsi_eh_wakeup():
> 
> void scsi_eh_wakeup(struct Scsi_Host *shost)
> {
> 	if (shost->host_busy == shost->host_failed) {
> 		wake_up_process(shost->ehandler);
> 
> so if you try a wakeup with no failed commands and the host still busy,
> nothing happens.

Clearly.  And where in the code do you see that this condition will strike?

If we are talking about impossible runtime conditions, then the 
objection is academic.


>>> move the prototype out of scsi_priv.h ... it should only be used by
>>> transport classes, anyway.
>> We're talking about all ->eh_strategy_handler() users, which is a valid 
>> EH API for an LLDD to choose.  Granted libata is really the only one 
>> right now.
> 
> We're busy revoking the LLDD driver, so in future it will be transport
> classes only.
> 
>> Long term, ->eh_strategy_handler and transport classes are block layer 
>> not SCSI level anyway, so scsi_priv.h is clearly inappropriate.
> 
> That can be sorted out if someone actually gets around to moving error
> handling to the block level.  In the meantime, it's SCSI that we're
> discussing.

Its an API-which-only-libata-uses that we're discussing.  And because 
its moving to the block layer, its also a 
temporary-API-which-only-libata-uses.

	Jeff



  parent reply	other threads:[~2006-05-16 16:12 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-15 17:08 [Fwd: [RFT] major libata update] Jeff Garzik
2006-05-16 14:18 ` James Bottomley
2006-05-16 15:41   ` Jeff Garzik
2006-05-16 15:51     ` James Bottomley
2006-05-16 16:06       ` Jeff Garzik
2006-05-16 16:30         ` James Bottomley
2006-05-16 16:39           ` Jeff Garzik
2006-05-16 21:55             ` Luben Tuikov
2006-05-16 21:32           ` Luben Tuikov
2006-05-16 16:08       ` Tejun Heo
2006-05-16 16:13         ` Tejun Heo
2006-05-16 16:29         ` James Bottomley
2006-05-16 16:37           ` Jeff Garzik
2006-05-16 16:39           ` Tejun Heo
2006-05-16 16:50             ` James Bottomley
2006-05-16 17:07               ` Tejun Heo
2006-05-16 17:09                 ` Jeff Garzik
2006-05-16 19:58                 ` Christoph Hellwig
2006-05-16 20:02                   ` Jeff Garzik
2006-05-16 21:28                   ` James Bottomley
2006-05-18  3:27                     ` Tejun Heo
2006-05-19 12:07                       ` [PATCH] SCSI: make scsi_implement_eh() generic API for SCSI transports Tejun Heo
2006-05-16 16:12       ` Jeff Garzik [this message]
2006-05-16 16:38         ` [Fwd: [RFT] major libata update] James Bottomley
2006-05-16 16:57           ` Jeff Garzik
2006-05-17  7:37             ` Jens Axboe
2006-05-17 15:06               ` Jeff Garzik
2006-05-17 15:50                 ` James Bottomley
2006-05-17 15:58                   ` James Smart
2006-05-17 16:17                   ` Jeff Garzik
2006-05-17 17:53                     ` James Bottomley
2006-05-17 22:08                       ` Jeff Garzik
2006-05-17 22:15                         ` Jeff Garzik
2006-05-17 17:47                   ` Linus Torvalds
2006-05-17 17:55                     ` Jens Axboe
2006-05-17 22:04                       ` Linus Torvalds
2006-05-17 22:12                         ` Jeff Garzik
2006-05-17 21:41                     ` Jeff Garzik
2006-05-17 21:52                     ` Douglas Gilbert
2006-05-17 22:20                       ` Linus Torvalds
2006-05-18  3:04                     ` Luben Tuikov
2006-05-17 16:05                 ` Douglas Gilbert
2006-05-17 17:37                 ` Jens Axboe
2006-05-17 21:58                   ` Jeff Garzik
2006-05-18  7:21                     ` Jens Axboe
2006-05-16 18:28       ` Luben Tuikov
2006-05-16 18:15     ` Luben Tuikov
2006-05-16 18:05   ` Luben Tuikov
2006-05-16 18:38     ` James Bottomley
2006-05-16 22:24       ` Luben Tuikov
2006-05-16 22:29         ` James Bottomley
2006-05-16 23:02           ` Luben Tuikov
2006-05-16 23:12             ` James Bottomley
2006-05-17  0:25               ` Luben Tuikov
2006-05-17 14:09                 ` James Bottomley
2006-05-18  2:39                   ` Luben Tuikov
2006-05-18 13:57                     ` James Bottomley
2006-05-19  3:28                       ` Luben Tuikov
2006-05-17 14:02               ` missed patch: Block I/O while SG reset operation in progress James Smart

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=4469F9FB.7020807@garzik.org \
    --to=jeff@garzik.org \
    --cc=James.Bottomley@SteelEye.com \
    --cc=akpm@osdl.org \
    --cc=htejun@gmail.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=torvalds@osdl.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.