Coda File System

RE: Venus returns: -17

From: <josef.schwarz_at_bt.com>
Date: Mon, 27 Oct 2003 18:35:17 -0000
> It looks like you are running 6.0.x, and in that case the top-level
> directory in Coda is dynamically generated and only contains 
> the realms
> known to venus.

coda-client-6.0.2-1.i386.rpm and
coda-server-6.0.2-1.i386.rpm

> So you really can't mount any volumes (or create anything else) in
> there.
> 
> > created volumes with:
> > createvol_rep rootvol E0000100 /vicepa
> > createvol_rep everywhere E0000101 /vicepa
> > 
> > The rootvolume is mounted by default, I suppose.
> > I get two directories in /coda: 172.16.1.1 and 172.16.3.1
> 
> Ehh, do you have 2 realms??
> 
> What does 'cfs lv /coda/172.16.1.1' and 'cfs lv /coda/172.16.3.1'
> return? I am guessing you are looking at the same rootvol in both
> cases, except that venus has no way to know that they are in fact
> in the same realm.

Yes, they seem to be the same. Actually the only thing I wanted was to have a volume "everywhere",
which is replicated (redundant available) to both servers. But the wrong approach, as it seems.

> As far as venus is concerned that really is no problem, however the
> server doesn't realize that the client looks at it from 2 different
> contexts and will only send callbacks to one of the two. As a 
> result you
> will get problems (files created in one 'realm' and on the server will
> not automatically show up in the other 'realm' until you explicitly
> flush the stale directory, etc) It will need a bit more coding on the
> server to get this situation right.
> 
> > When I mount the second volume with `cfs mkmount 
> /coda/everywhere everywhere` I should get a directory 
> "everywhere", but is it located in /coda or in 
> /coda/172.16.1.1 (or also /coda/172.16.1.1)?
> 
> You would have to mount that volume as
>     'cfs mkm /coda/172.16.1.1/everywhere everywhere'

Yes, this works.

> > And does it make a difference if the client is connected to 
> 172.16.1.1
> > or 172.16.3.1?
> 
> It shouldn't, but at the moment the server not sending 
> callbacks to both
> instances makes the client very unpredicatable. It is best to
> consistently access through either one or the other (or 
> create an entry
> in /etc/coda/realms that maps a single realm name to both servers).
> 
>     /etc/coda/realms
>     bt.com	172.16.1.1 172.16.3.1

And so that it does not matter that the server sends the callbacks only to one instance, right?
But it seems that I can not create files any more:
touch: creating `test2': Permission denied
although I'm owning a token.

> And then access as, /coda/bt.com/... This has the added advantage that
> you don't depend on the availability of either server, although your
> rootvolume isn't replicated, so it will only be useful when the client
> has the contents of rootvol cached.

replicated rootvolume: see mail "Replicate the root filesystem"

Thanks for your help!
Josef
Received on 2003-10-27 13:47:30