On Fri, 2008-03-07 at 09:28 +0900, Tejun Heo wrote: > 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. Basically what scsi_scan.c:scsi_forget_host() does? It's used internally at the moment, but I suppose we could export it. James -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html