Date: Tue, 10 Jan 2012 08:43:30 -0500 From: John Baldwin <jhb@freebsd.org> To: Andriy Gapon <avg@freebsd.org> Cc: freebsd-hackers@freebsd.org Subject: Re: RB_NOSYNC -> no device_shutdown ? Message-ID: <201201100843.30893.jhb@freebsd.org> In-Reply-To: <4F0C11B1.1070508@FreeBSD.org> References: <4EED20C7.1090704@FreeBSD.org> <201112200911.43880.jhb@freebsd.org> <4F0C11B1.1070508@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201201100843.30893.jhb>