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"

Reply via email to