Re: [Fwd: [RFT] major libata update]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


-
: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux