On Tuesday, January 10, 2012 5:23:45 am Andriy Gapon wrote: > on 20/12/2011 16:11 John Baldwin said the following: > > On Saturday, December 17, 2011 6:07:51 pm Andriy Gapon wrote: > [snip] > >> and wonder why RB_NOSYNC is overloaded to mean that no > >> MOD_SHUTDOWN/device_shutdown cleanup should be done? > > > > Presumably most device_shutdown handlers were used for syncing storage when > > the module stuff was first added. I'm not sure how you would fix this now > > since you can't easily pass the 'arg2' flags down to each handler so that > > the > > appropriate ones could skip their shutdown actions. > > I see what you are saying. > Couple of thoughts: > - maybe MOD_EVENT interface could/should be extended to pass another argument > along with the event type > - maybe various sync-ing stuff should be done in shutdown_post_sync event > handlers, or even via a new dedicated event > > Hmm, it looks like the latter might actually already be the case.
I almost think the best way (ugh) is to have a global variable similar to boothowto that device_shutdown methods can use to skip behavior if needed. It may only be a fairly small number of devices that need to skip their shutdown routine (or portions thereof) during a nosync shutdown. > And another tangentially related idea: maybe we should inhibit device/module > shutdown for the RB_HALT case given that it is a quite special case where the > system actually stays up and at least the keyboard is expected to be still > operational. I think we still want to do device_shutdown in that case. The mfi(4) driver sends a specific command to note a clean shutdown that then affects how the event log behaves on the next boot, for example. -- John Baldwin _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"