Coda File System

Re: How to repair /coda???

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Fri, 1 Sep 2000 11:45:21 -0400
On Fri, Sep 01, 2000 at 02:10:08PM +0200, Piotr K. Isajew wrote:
> bash-2.03$ cd /
> bash-2.03$ ls -ld /coda
> lr--r--r--   1 root     65534          27 Sep  1 13:38 /coda -> @7f000000.00000001.00000001

Ah, the impossible repair situation. Well, it is not completely
impossible, but it is pretty difficult. The problem here is that our
userspace tools have no (authenticated) communication with venus because
they cannot do ioctls on this symlink.

The way to repair this is:

- Create a temporary rootvolume,
    # createvol_rep repair_root E0000100 /vicepa

- Force a client to start using this volume as it's root,
    # killall -9 venus
    # umount /coda
    # venus -init -r repair_root

- Authenticate and mount the broken root,
    # clog admin
    # cd /coda
    # cfs mkm root <name_of_real_rootvolume>
    # repair root /tmp/fix
    # cd /

- After that the rootvolume should be useable again,
    # killall -9 venus
    # umount /coda
    # venus -init
    # ls /coda

- Make sure nobody accidently creates conflicts,
    # clog admin
    # cfs sa /coda System:AnyUser rl
    # cfs sa /coda System:Administrators none
    # ...

When something needs to be added to the root, follow this procedure:
    # clog admin
    # cfs strong 	/* avoid switching to weakly connected operation */
    # cfs sa /coda System:Administrators all
    # mkdir /coda/new_dir
    # cfs sa /coda System:Administrators none
    # cfs adaptive	/* allow weak connectivity again */

Jan
Received on 2000-09-01 11:47:57