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

Reply via email to