Coda File System

Re: Start disconnected?

From: Ken McMillan <mcmillan_at_cadence.com>
Date: Mon, 26 Feb 2001 12:49:46 -0800 (PST)
On Sat, 24 Feb 2001, Jan Harkes wrote:

> On Fri, Feb 23, 2001 at 04:41:29PM -0800, Ken McMillan wrote:

> Coda is perfectly capable of starting disconnected as long as it can
> resolve the hostnames of the servers that are mentioned as "rootservers"
> in the configuration file. So you'll probably have to add the name of
> your server with it's ip-address to /etc/hosts.

Great -- thanks. BTW, is this in the install instructions?

> 
> > Also, I have had some serious trouble with Coda and shared libraries. 

(snip)

> 
> Coda faithfully uses AFS semantics, not unix semantics, and it is quite
> difficult to present a different view on the filesystem for different
> applications. In any case, the originally running applications should be
> using libfoo.so.<x>.<y>.<z>. While the newly started applications would be
> loading the updated libfoo.so.<x>.<y>.<z+1>. Library versioning does
> have reasons.
> 
> It is most likely not even Coda's fault that the new library isn't
> found, but the fact that the dynamic linker ld.so is using a local cache
> file with library locations (/etc/ld.so.cache), which is only updated
> after you rerun ldconfig on the client. This is usually done by your
> package installers or makefiles, so it is normally not noticeable on a
> single machine.


Well, in fact I *would* want to change the version number if I were
installing libraries, but I am talking about just recompiling in the
middle of debugging -- that is, I'm running the library directly out
of the build directory (which has nothing to do with ldconfig). What I
didn't know when I recompiled was that on *another* machine there was
a process using the old version. Then several days later I tried to
run the program on the other machine and got the "not found"
error. The problem here is not that I can't run the program, it's the
error message. That is, instead of saying "cannot update foo.so in the
cache because it is in use", it just says "not found", while ls says
the file is there (with a wrong mod time). How do I infer from this
that what I need to do is to kill the existing processes that are
using the old version?

This strikes me as a general user interface problem with Coda. There are
lots of things that can go wrong with Coda that can't go wrong with the
unix file system, but the only error message you get is "not found". I guess
what I would like is to have a daemon that would pop up a message on my screen
telling me what the real problem is when an application says "not found".
It would be especially useful to be notified of disconnections and token
expirations in this way, since not knowing about these seems to be a
big source of conflicts.

Anyway, I should probably confess that I am still using version 5.3.8,
becuase I am a little afraid to try an upgrade. Perhaps some of these
issues are dealt with in more recent versions?

	Thanks again -- K
Received on 2001-02-26 15:49:44