Skip site navigation (1)Skip section navigation (2)
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>