Coda File System

Re: server starting but venus dies

From: LEE, Yui-wah <clement_at_cse.cuhk.edu.hk>
Date: Wed, 21 Jul 1999 11:19:04 +0800 (CST)
Ben Woodard <ben_at_valinux.com> wrote:
> Jan Harkes wrote:
> > Btw. venus seems to try to get access to a volume that doesn't exists.
> > 
> > Did you create the rootvolume (with the same name as in /vice/db/ROOTVOLUME).
> > It could be that when venus cannot get the rootvolume information, it
> > passed some bad info to the child that attempts to mount /coda.
> > 
> 
> What do you want me to check? /vice/db/ROOTVOLUME is simply "rootvol1" 
> which is what I expect it to be.
> 
> /vice/vol/VolumeList is:
> P/vicepa Hwythe.su.varesearch.com T3cc674 F3cb4dc
> 
> and /vice/vol/AllVolumes is:
> rootvol1.0 1 wythe.su.varesearch.com /vicepa 2 0 0 W 928509191 928509191 0
> 
> Are those the right files to look at? Do they look sane?

If you have re-run vice-setup-rvm, your server's rvm has already been
re-initalized (i.e. brain wiped), so you need to set up the root 
volume again.

Since the codasrv is, at this moment, relatively difficult to setup.
I would suggest you to, more or less, strictly follow the steps in
the Coda HOWTO (Section 3.4 Codasrv -- the file server).  If your
setup failed, you might want to start over again from the very begining;
alternatively, you could try to understand the script vice-setup, by so
doing, you probably could skip re-doing some steps.  (The latest version
of the howto, just in case someone have missed it, can be found from
http://coda.cs.cmu.edu/doc/html/coda-howto.html)

However, I am not sure whether the reason of your venus crash is that
the root volume has not be re-created.  Is it possible to get a backtrace
of the crashed venus ?  (For example, you might want to start venus
in a gdb.)

Also, I noticed you once asked the following question and I was
too busy to offer an answer at that time:

Ben Woodard <ben_at_valinux.com> wrote:
> I know that you can use fuser to figure out which things are keeping
> /coda busy so that you can unmount it but I can never seem to get it
> to work. It always reports nothing. Could someone provide an example
> of how you unmount coda to restart it. I seem to be missing something
> simple here.

Here is one session of shutting down and restarting venus.

[root_at_etude /root]# vutil -shutdown
[root_at_etude /root]# 10:50:48 RecovTerminate: clean shutdown
[root_at_etude /root]# umount /coda
umount: /coda: device is busy       # since one of my shell was hanging there
[root_at_etude /root]# fuser -m /coda  # normally, it should show the pid, dunno
/coda: Input/output error           #   why it didn't work here
                                    # anyway, I forced the shell to leave /coda 
                                    #   and try again
[root_at_etude /root]# umount /coda    # now, it worked
[root_at_etude /root]#                 # I could restart venus at this point

The script /etc/rc.d/init.d/venus.init has a option of "stop". It will try
to umount /coda, but it does not handle the cases when the umount fails.
Also, there are cases that something goes very wrong, and you really
cannot umount /coda even everyone has left the coda space.  In these
cases, probably the only solution is to reboot the client.

> How can I get everything setup properly again? What files do I need to modify.
> Should I do a vice-setup? I would really prefer not to loose the data that
> lives in my coda volume?

Hope that you have backup of your data.

Good luck !

-- Clement

======================================================================
Yui-wah LEE (Clement)                         |    Tel: (852)-26098412
Department of Computer Science & Engineering, | Mobile: (852)-98421024 
The Chinese University of Hong Kong   | Real-time Msg.: 41792200 (ICQ)
WWW: www.cse.cuhk.edu.hk/~clement     | Email: clement_at_cse.cuhk.edu.hk
======================================================================
Received on 1999-07-20 23:19:35