All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHSET 03/03] add hotplug support, take 5
@ 2006-05-31 11:25 Tejun Heo
  2006-05-31 11:25 ` [PATCH 03/13] libata-hp: implement SCSI part of hotplug Tejun Heo
                   ` (12 more replies)
  0 siblings, 13 replies; 19+ messages in thread
From: Tejun Heo @ 2006-05-31 11:25 UTC (permalink / raw)
  To: jgarzik, mlord, albertcc, alan, axboe, forrest.zhao, linux-ide,
	htejun

Hello,

This is part of patchset series described in [T].

This is the fifth take of add-hotplug-support patchset.  Changes from
the last take[L] are.

* ata_scsi_hotplug() requeue condition check has been updated such
  that SCSI devices are guaranteed to be attached to ATA devices.  No
  race window anymore.

* boot probing reimplemented using ata_port_wait_eh().

* ata_port_detach() reimplemented using ata_port_wait_eh().  New
  implementation is much more robust and survives PCI unplugging under
  all circumstances.  EH part of unloading is also reimplemented in
  simpler and more robust way.

* UNLOADING check added to ata_scsi_hotplug().  hotplug task flushing
  is reliable now.

* s/FIS34/D2H FIS/g

One thing to note about unload handling is that, if EH is scheduled
after ata_port_detach() is complete but before SCSI host is actually
released, it can oops accessing ap->host_set.  The problem is that, as
SCSI doesn't supply host release callback, host_set is released before
all ports are released.

However, this condition is unlikely to occur - to trigger the bug,
either the driver has to schedule EH while frozen during that window,
or the user has to hold reference to scan/delete node and issue warm
plug request, again, during the window.

This patchset is against

  upstream (ef2824073fba9def3cf122e89cc485f66dd71f70)
  + [1] set-PIO-0-after-successful-EH-reset
  + [2] shift-host-flag-constants
  + [3] implement-ata_eh_wait
  + [4] prep-for-hotplug-support patchset
  + [5] prep-LLDDs-for-hotplug-support patchset

Thanks.

--
tejun

[T] http://article.gmane.org/gmane.linux.ide/11012
[L] http://article.gmane.org/gmane.linux.ide/10892
[1] http://article.gmane.org/gmane.linux.ide/10890
[2] http://article.gmane.org/gmane.linux.ide/11010
[3] http://article.gmane.org/gmane.linux.ide/11011
[4] http://article.gmane.org/gmane.linux.ide/11014
[5] http://article.gmane.org/gmane.linux.ide/11028



^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2006-06-09  2:58 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-05-31 11:25 [PATCHSET 03/03] add hotplug support, take 5 Tejun Heo
2006-05-31 11:25 ` [PATCH 03/13] libata-hp: implement SCSI part of hotplug Tejun Heo
2006-06-08 20:56   ` Jeff Garzik
2006-06-09  2:58     ` Tejun Heo
2006-05-31 11:25 ` [PATCH 01/13] libata-hp: implement ata_eh_detach_dev() Tejun Heo
2006-05-31 11:25 ` [PATCH 02/13] libata-hp: implement hotplug Tejun Heo
2006-05-31 11:25 ` [PATCH 09/13] sata_sil: convert to new probing mechanism and add hotplug support Tejun Heo
2006-05-31 11:25 ` [PATCH 10/13] ahci: " Tejun Heo
2006-05-31 11:25 ` [PATCH 07/13] libata-hp: update unload-unplug Tejun Heo
2006-05-31 11:25 ` [PATCH 05/13] libata-hp: hook warmplug Tejun Heo
2006-05-31 11:25 ` [PATCH 06/13] libata-hp: implement bootplug Tejun Heo
2006-05-31 11:25 ` [PATCH 04/13] libata-hp: implement warmplug Tejun Heo
2006-05-31 11:25 ` [PATCH 08/13] ata_piix: convert ata_piix to new probing mechanism Tejun Heo
2006-05-31 11:25 ` [PATCH 13/13] libata-hp: move ata_do_reset() to libata-eh.c Tejun Heo
2006-06-08 20:58   ` Jeff Garzik
2006-06-09  2:38     ` Jeff Garzik
2006-06-09  2:56       ` Tejun Heo
2006-05-31 11:25 ` [PATCH 12/13] libata-hp: killl ops->probe_reset Tejun Heo
2006-05-31 11:25 ` [PATCH 11/13] sata_sil24: convert to new probing mechanism and add hotplug support Tejun Heo

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.