Nicolas Williams writes: > On Tue, Mar 06, 2007 at 02:52:11PM -0700, Tom Whitten wrote: > > I'm going to need some help from the more experienced members of the SMF > > team on that question. I don't know what happens if svc.configd cannot > > access the repository. David or Liane, can you help out? > > Using the source I find this in $SRC/cmd/svc/startd/fork.c: > > switch (WEXITSTATUS(exitstatus)) { > ... > case CONFIGD_EXIT_DATABASE_BAD: > errstr = "database corrupt"; > break; > ... > } > > /* > * Remedial actions for various configd failures. > */ > switch (WEXITSTATUS(exitstatus)) { > ... > default: > fork_sulogin(B_FALSE, "svc.configd exited " > "with status %d (%s)\n", > WEXITSTATUS(exitstatus), errstr); > goto retry; > } > ... > > > Losing the running repository seems to be rather Bad, and causes sulogin > to be started. I imagine that the only reasonable way to recover at > that point is to reboot, so perhaps that's what svc.startd ought to do. > > Nico > --
>From the sulogin the administrator can invoke /lib/svc/bin/restore_repository to restore one of the backup repositories or the seed repository. If the repository is corrupt/missing, rebooting will merely get back to the sulogin prompt I believe. tom