linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Garzik <jgarzik@pobox.com>
To: Tejun Heo <htejun@gmail.com>
Cc: alan@lxorguk.ukuu.org.uk, axboe@suse.de, albertcc@tw.ibm.com,
	lkosewsk@gmail.com, linux-ide@vger.kernel.org
Subject: Re: [PATCH 05/15] libata-hp: implement ata_scsi_slave_destroy()
Date: Wed, 12 Apr 2006 18:32:47 -0400	[thread overview]
Message-ID: <443D800F.2070608@pobox.com> (raw)
In-Reply-To: <20060412052742.GA25726@htj.dyndns.org>

Tejun Heo wrote:
> On Tue, Apr 11, 2006 at 11:14:07PM +0900, Tejun Heo wrote:
>> This function is called during sdev removal by SCSI midlayer.  For
>> user-initiated removals, this is the only indication we get from SCSI
>> midlayer that the sdev is going away.  In such cases, schedule ATA
>> detach and invoke EH.  For libata-initiated removal, nothing needs to
>> be done.
>>
> 
> User initiated warm unplugging has a race condition.  If user
> initiated warm unplug kicks int after ata_scsi_remove_dev() fetched
> dev->sdev but before it actually removes the device, the sdev will go
> away while ata_scsi_remove_dev() is still trying to remove it.  This
> can be solved by doing scsi_device_get() in ata_scsi_remove_dev()
> after fetching dev->sdev.
> 
> I'll post the fixed version in the next round.  The #upstream change
> breaks all EH/NCQ/hotplug patchsets anyway.  My repo currently
> contains the following changes from the posted version.
> 
> * above mentioned sdev removal race fix
> * scsi_eh_schedule_* are updated to reflect ->eh_strategy_handler
>   relocation
> * duplicate .can_queue initialization removed from sil24-NCQ patch
>   removed (why doesn't compiler complian about this?)
> * updated to use ata_shost_to_port()
> 
> I think above changes shouldn't hinder reviewing process too much.
> Though, if you want me to post the updated version, just let me know.

Actually, you have so many patches now, it would make the process go 
faster to post them in cascading git branches somewhere.

tejun.git#p5	== libata-dev.git#upstream + new EH framework
tejun.git#p6	== #p5 + new EH implementation
tejun.git#p7	== #p6 + add new NCQ support
etc.

That way, if I approve through patchset #7, I can just pull 
tejun.git#p7, and get all patchsets through patchset 7.  If some patches 
need to be revised, a script should be able to reconstitute these sets 
of branches.

git is recommended for high volume submittors :)

	Jeff




  reply	other threads:[~2006-04-12 22:32 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-11 14:14 [PATCHSET 9/9] add hotplug support Tejun Heo
2006-04-11 14:14 ` [PATCH 08/15] libata-hp: add hotplug hooks into regular EH Tejun Heo
2006-04-11 14:14 ` [PATCH 04/15] libata-hp: connect ATA hotplug events to SCSI hotplug Tejun Heo
2006-04-11 14:14 ` [PATCH 09/15] libata-hp: activate hotplug by adding a call to ata_eh_hotplug() from EH Tejun Heo
2006-04-13  8:18   ` zhao, forrest
2006-04-13  8:45     ` Tejun Heo
2006-04-13  9:00       ` zhao, forrest
2006-04-13  9:30         ` Tejun Heo
2006-04-11 14:14 ` [PATCH 02/15] libata-hp: implement ata_eh_hotplug() Tejun Heo
2006-04-11 14:14 ` [PATCH 01/15] libata-hp: implement ata_eh_detach_dev() Tejun Heo
2006-04-11 14:14 ` [PATCH 05/15] libata-hp: implement ata_scsi_slave_destroy() Tejun Heo
2006-04-12  5:27   ` Tejun Heo
2006-04-12 22:32     ` Jeff Garzik [this message]
2006-04-13  3:46       ` Tejun Heo
2006-04-11 14:14 ` [PATCH 07/15] libata-hp: implement transportt->user_scan Tejun Heo
2006-04-11 14:14 ` [PATCH 03/15] libata-hp: implement ata_eh_scsi_hotplug() Tejun Heo
2006-04-11 14:14 ` [PATCH 06/15] libata-hp: use ata_scsi_slave_destroy() in low level drivers Tejun Heo
2006-04-11 14:14 ` [PATCH 11/15] sata_sil: add new constants in preparation for new interrupt handler Tejun Heo
2006-04-11 14:14 ` [PATCH 14/15] ahci: add hotplug support Tejun Heo
2006-04-11 14:14 ` [PATCH 13/15] sata_sil: " Tejun Heo
2006-04-11 14:14 ` [PATCH 12/15] sata_sil: new interrupt handler Tejun Heo
2006-04-11 14:14 ` [PATCH 15/15] sata_sil24: add hotplug support Tejun Heo
2006-04-11 14:14 ` [PATCH 10/15] libata-hp: skip EH reset if no device to recover and hotplug pending Tejun Heo
2006-04-12  1:49 ` [PATCHSET 9/9] add hotplug support Tejun Heo
2006-04-13  7:53 ` zhao, forrest
2006-04-13  8:49   ` Tejun Heo
2006-04-13 16:07     ` Jeff Garzik
2006-04-13 16:50       ` Tejun Heo
2006-04-27  9:29 ` Jeff Garzik
2006-04-27 10:53   ` Tejun Heo
2006-04-27 11:29     ` Jeff Garzik
2006-04-27 12:38       ` Tejun Heo

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=443D800F.2070608@pobox.com \
    --to=jgarzik@pobox.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=albertcc@tw.ibm.com \
    --cc=axboe@suse.de \
    --cc=htejun@gmail.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=lkosewsk@gmail.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).