(Illustration by Gaich Muramatsu)
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. JanReceived on 2001-04-29 09:57:12