Re: [BUGFIX 2/2] gdth: bugfix for the Timer at exit crash

From: James Bottomley
Date: Wed Feb 13 2008 - 12:34:38 EST


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-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/