Re: ata_ram driver

From: James Bottomley
Date: Thu Mar 06 2008 - 19:22:59 EST


On Fri, 2008-03-07 at 09:13 +0900, Tejun Heo wrote:
> James Bottomley wrote:
> >> * Driver unload: Dealt the same way as hot unplugging.
> >
> > This is the problem case: driver unloading should have a
> > scsi_remove_host() in its path. This is the trigger that sends out the
> > flushes/stops and calls slave_destroy. scsi_remove_host() doesn't
> > actually return until all the destroys are completed, so it makes module
> > unloading wait until everything is properly shut down.
> >
> >> Making driver unload like explicit unplug request is possible but it
> >> will mean that drives will be spun down on driver unload, which can be
> >> annoying to developers.
> >
> > You have a sysfs flag to prevent that, don't you?
>
> 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.

James


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/