Messages in this thread | | | Date | Fri, 07 Mar 2008 09:28:34 +0900 | From | Tejun Heo <> | Subject | Re: ata_ram driver |
| |
James Bottomley wrote: >> Yeap, sure. It's the combination of things that always made me put this >> off. Is there a function I can call to just shutdown the host instead >> of destroying it? > > Not really ... the process of unbinding the ULDs causes their remove > methods to call shudown. It is possible to separate this in the ULDS; > but the original design was to make remove and shutdown be similar for > the very reason that if you're removing the driver with unflushed data > in the cache, we'd really like it flushed (flush is called from > shutdown) because you have no way to talk to the device after this > without reinserting the driver.
The problem is that libata EH and other stuff aren't ready to let go of the SCSI host up until the last moment and that last moment can't be moved before SCSI host destruction because shutdown sequence (flush and spindown) requires live EH. I think this can be solved by shooting down individual sdev's instead of destroying the scsi_host.
Thanks.
-- tejun
| |