Coda File System

Re: Help! Server crash, and assert failed on restart

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Sun, 29 Apr 2001 09:56:43 -0400
On Fri, Apr 27, 2001 at 07:29:33PM -0500, Andrew Bernat wrote:
> I just had a file server go down fairly hard (power loss). When I try and
> restart Coda, the server process aborts. /vice/srv/SrvLog has
>   <date> Setting Rvm Truncate Threshold to 5.
> as the last message, and SrvErr has
>   codasrv: rvm_logrecovr.c:2001: build_tree: Assertion `(long)log_buf->ptr
> >= 0' failed.
> 
> Coda server version 5.3.13.
> 
> Is there anything I can do to recover the data on the server?

I don't know whether your server hit a bug, or whether the RVM log is in
fact corrupted.

You can try to force the changes in the rvm log using the rvmutl
program, although that might just as well crash in the same spot. I'm at
home so I can't give you the exact commands to pass to rvmutl, but it is
something like "open <rvm-log>", "status", and there might even be a
useable "help".

If there aren't a lot of updates in the rvm log, it is possible that the
server can restart with an empty log. The rvm data will in that case be
a bit outdated, so there will be a slight discrepancy which might block
some volumes from validation. If that happens some of the volumes can be
taken out of the 'salvage list' by adding them to the skipsalvage file.

/vice/vol/skipsalvage, first line is number of volumes, followed by a
volumeid to skip on each line.

Throwing away the contents of the log can be done by reinitializing the
logfile/partition with rvmutl.

Jan
Received on 2001-04-29 09:57:12