Mike Gerdts wrote: > On Wed, Jul 2, 2008 at 9:19 PM, Jordan Brown <Jordan.Brown at sun.com> wrote: > >> Mike Gerdts wrote: >> >>> Sometimes a runonce service needs to trigger a reboot. It looks to me >>> as though all runonce services will be running at the same time - >>> making such a thing somewhat risky. Is this something that you are >>> intending to support? >>> >> First, note that this is something I just threw together this afternoon... >> it hasn't been deeply designed. >> >> If a particular run-once had additional dependencies, presumably they could >> be specified for its instance. Whether that'd let it reboot safely... >> maybe. You'd really like to single-thread something that wants to reboot >> the system, so that nothing else is in the middle of doing its work. >> > > Perhaps a special exit code for "reboot required" would cause run-once > to trigger a dependent service to initiate a reboot after all the > run-once services had completed. >
This is how we implemented Mudskipper (RIP). But our primary need for it was for boot disk mirroring systems which had PITA installation requirements. We should not need that in the brave new world of ZFS boot :-) Are there any other cases where this is needed? NB. Mudskipper implemented as rc scripts, which were serialized. There are/were relatively few services started up which ran stuff in parallel that could cause problems if interrupted. I'm not sure that is the case going forward, though. -- richard