On Wed, 2008-02-13 at 19:18 +0200, Boaz Harrosh wrote: > On Wed, Feb 13 2008 at 19:03 +0200, James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> wrote: > > It needs to register a reboot notifier, which gdth does. > > > > However, the notifier is only called on reboot, so it also needs to > > clean up correctly on module exit as well. > > > > The alternative for GDTH would be to process the SCSI SYNCHRONIZE CACHE > > Why would we think that the controller does not support this command > is it not in the mandatory section of the standard? Um, because the controller isn't a SCSI device. It's an emulated device which means the SCSI comands are processed in the driver. It does look like the driver<->HBA communication is some sort of translated dialect of SCSI. > > command. That's done by a shutdown notifier from sd, so the correct > > thing would always get done; however it does mean the driver has to be > > in a condition to process the last sync cache command. > > Why would it not be ready? what do other drivers do? > The drivers is ready until the very last module's .exit. Is that good > enough? shutdown is called as part of device removal and module unload ... usually from scsi_remove_host(). So you can't tear down command processing before that point. > > > > For the quick fix, just keep the current infrastructure and put back the > > gdth_flush() command where it can be effective. > > > > Just did. But if needed I would prefer to emulate the SCSI SYNCHRONIZE CACHE > command and not that boot notifier thing. Please advise. I think such a change, though desirable, would be too large to count as a bug fix. James - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html