Coda File System

Re: how to install coda-5.3.1 on linux

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Fri, 17 Sep 1999 12:22:31 -0400
On Fri, Sep 17, 1999 at 05:37:20PM +0900, Kuniyasu SUZAKI wrote:
> I've gotten an e-mail from Dr. Harkes...

I'm not a Dr. yet ;) I do have my masters degree, but in practice don't
tend to stick any titles around my name.

> I could not understand how to mount (export) directory. I think I
> didn't understand the relation of volume and mounted directory.
> Please tell me. I did as follows on the server machine. Was it wrong?
> 
> <root> createvol_rep coda:root E0000100 /vicepa
> <root> cfs mkm /coda/root coda:root

The root volume is not mounted anywhere, it's name is just written down
in /vice/db/ROOTVOLUME. When a client starts it calls a very simple
GetRootVolumeName rpc, which returns the contents of that file.

At that point, the client can fetch the root-directory of the
root-volume and mounts that over /coda. Other volumes do have
mountpoints, which show up as dangling symlinks when the volume cannot
be found.

So the volumes with these contents:

coda:root
    /
    /usr/
    /usr/someone -> #user:someone
    /tmp -> #coda:tmp

user:someone
    /
    /.bashrc
    /
    /Mail/

coda:tmp
    /
    /test

Would expand to the following namespace if ROOTVOLUME contains
'coda:root'

/coda/
    usr/
	someone/
	    .bashrc
	    Mail/
    tmp/
	test


> After that I have no idea to make relation with volume and mounted
> directory. If there is helpful home page, please tell me.

If you are trying to mount the root volume into the rootvolume, you are
messing with the kernel's `mind'. It does not like hardlinked dirs at
all, and a volume mounted in two places looks exactly like that.

You'd get the following `namespace'.
    /coda/root/root/root/root/root/root/root/root/root/...<ad-infinitum>

And every path-component refers to the same object.

Jan 
Received on 1999-09-17 12:24:07