On Thu, Nov 11, 1999 at 04:56:55PM +0100, Alan Scheinine wrote:
> I wrote that after cfs mkmount /coda/software/JAVA software.JAVA
> I saw /coda/software/JAVA -> #software.JAVA
> The manual said wait for 5 minutes, I waited for much longer.
Hi Alan,
The VRDB and VLDB files were not propagated to all servers. This is
probably caused by not correctly running updateclnt/updatesrv daemons.
The `simplest' thing in this case is to log into the SCM, and run:
/etc/rc.d/init.d/update.init restart
And then do the same thing on all other servers.
> One machine on the network that replicated volumes was in the
> state that venus would die because /coda was already mounted,
> but "umount /coda" said that the directory was busy. No processes
> were inside that directory, aside from perhaps the kernel. The
> command fuser -v /coda gave an error so I could not get more information
> about who was using coda.
This is most of the time a shell that has it's working directory
somewhere in coda. This problem stems from the linux kernel, all open
files in a filesystem are linked from it's superblock, and we cannot get
rid of the superblock until all references are closed. On the *BSD
platforms this does not happen. Somewhere in 2.2.x a syscall that can
force unmounting of dead NFS mounts, we haven't looked yet if that could
be a solution for this problem.
Instead of fuser, I mostly use 'lsof | grep /coda', it has go through
grep, otherwise it gives the same errors as fuser, but this (often)
shows processes that still have references.
> So to summarize, if venus
> is foobar on just one machine, it may not be possible to create
> new volumes.
That is definitely, 100%, not true. It is the update propagation between
the servers that was causing the problem. At no time the servers depends
on a dead client, in fact that client probably wasn't even running a
venus anymore, and therefore had absolutely NO connections to the
servers.
> By the way, Brice Ruth recommened
> cfs mkmount <volume> <mountpoint>
> but what worked for me is the other way around.
> cfs mkmount /coda/software/JAVA software.JAVA for example.
That is the correct way, although I always confuse myself and simply run
cfs mkm without argument to check ;)
> Alan Scheinine [EMAIL PROTECTED]
l8r,
Jan