Coda File System

Re: design, go beyond AFS?

From: Ivan Popov <>
Date: Thu, 22 Aug 2002 09:32:38 +0200 (MET DST)
Hello Jan,

> > "special" paths at each mountpoint.
> I'm not sure I follow you here

Then forget it, see below.

> I don't want to make access to underlying replicas easier except during
> repair.

I see. Ok.

> In the end both the client and server still only think about volumes by
> their numeric volumeid, the volume names are simply for convenience when
> creating mountpoints.

Right. Traditionally that mapping mountpointpath->volumeid lied at
mountpoints (with hardly enforceable consistency).
We were referencing volumes usually through a central volumename->volumid
rather static table.

Now we begin directly using that central table as a map path->volumeid
That is, the concept of "volume name" essentially disappears, it is a
"volume path" now.

If a volume name was not used anywhere except while looking up volids for
mounts, we are done.

My additional speculations were about the ways to reveal in the
filesystem other types of data related to the same volume.
As there is already a very special mechanism of doing it for repair,
without using volume names, no need for further changes exist.

> We could change the backup volume name to '<volumename>/OldFilesN',
> where 'N' is the replica number and then the backup of the first replica
> can be made visible by simply doing 'cfs mkm /coda/.../usr/foo/OldFiles0'

Now we are solving a problem - what path to bind backup volumes to, to
be able to easily reference them afterwards.

I was thinking about making a distinct magic place in the filesystem for
mounting special kinds of volumes, but at the end it seems complicated and
gives no big gain.

The only gain would be protection against users/admins having file objects
conflicting with backup volumes mount paths.

["touch /coda/.../usr/foo/OldFiles0" - and the volume is inaccessible
without either volume path change (I think "rename" is becoming a wrong
term :) or move of the unluckily created object]

Well, it might be sufficient to explicitely state in the documentation
that say <mountpoint>/.coda is a reserved name and consequently default
backup volume paths to e.g. <original-volume-path>/.coda/backup/<something>

[you see, I am trying to preserve place for expansion :-]

See you!
Received on 2002-08-22 03:34:34