On 02/06/13 23:31, Joe Lawrence wrote:
On Tue, 5 Feb 2013, Bart Van Assche wrote:
Fix a few race conditions that can be triggered by removing a device:
- Fix a race between starved list processing and device removal.
- Avoid that a SCSI LLD callback can get invoked after
   scsi_remove_host() finished.
- Speed up device removal by stopping error handling as soon as
   the SHOST_DEL or SHOST_DEL_RECOVERY state has been reached.
- Save and restore the host_scribble field during error handling

These patches have been tested on top of kernel v3.8-rc6 and are also
available here: http://github.com/bvanassche/linux/tree/device-removal-fixes.

Hi Bart,

I gave your patchset a spin on our ftServer, which supports hotplug of PCI
devices.  Before attempting a surprise HW removal of an LSI Fusion SAS-2
SCSI controller, I issued an orderly removal through our hotplug driver.
The device removal appeared to hang (this does not occur with vanilla
3.8.0-rc6).

Hello Joe,

Thanks for running this test. I have had a quick look at the mpt2sas _scsih_remove() implementation but I have not yet had the time to analyze that function entirely. My proposal is to defer further analysis of the interaction between the two patches that make scsi_remove_host() wait and the mpt2sas driver until a later time. It would be appreciated if you could run the following test:
* Revert the two patches that make scsi_remove_host() wait (these
  two patches should revert cleanly).
* Repeat your device removal test.
If that test runs fine, I will retest and repost this patch series without the two patches that make scsi_remove_host() wait.

Thanks,

Bart.

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to