Coda File System

Re: Venus problems on Win2K

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Tue, 29 Apr 2003 14:36:56 -0400
On Tue, Apr 29, 2003 at 12:18:34AM -0400, Val Blant wrote:
> Hi.
> I have successfully installed the coda server on my Linux machine, but
> now I am stuck with getting Venus to work on my client machine running
> Win2K SP3.
...
> If I try to start venus not as a service, I get this:
> 22:54:57 Initializing RVM data...
> Error rvm_load_segment returns 201
> 22:54:58 Recov_InitRDS: rds_zap_heap failed (RVM_EINTERNAL)

Something changed in the way cygwin places things in the address space
which conflict with where we are mapping the recoverable VM segment. I
have moved the address we use from 0x2000000 to 0x50000000, but there is
no precompiled client with that fix available.

So you'd either have to find some old version of cygwin, or recompile
your own client, or wait. It should possible to binary patch the
existing venus executable, replacing the 0x20 with a 0x50, but I don't
know exactly what location to poke to flip that bit.

I also found a bug in the coda.sys kernel module where it copies about
16 bytes more than venus is expecting during an ioctl. So all cfs calls
as well as clog and friends silently corrupt a little bit of memory in
venus. Things like that is why we call the Windows release an alpha
version. There is one more crash right now, but for some reason I'm
unable to get debug messages out of the kernel. Windows definitely
isn't my cup of tea.

> I am also somewhat confused as to why the client needs RVM at all?
> Does the client actually use it? If it is trying to map the memory,
> could it be that it is trying to map something that is already taken?

A Coda client has a persistent cache, if you reboot the machine it will
still have everything cached and quickly revalidates the cached objects
just as if the client was disconnected the servers.

Jan
Received on 2003-04-29 14:42:02