Coda File System

Re: Coda deployment

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Wed, 11 Jun 2003 11:28:37 -0400
On Wed, Jun 11, 2003 at 10:55:38AM -0400, Dick Kniep wrote:
> I compile from source, and with coda, I get lots of warnings. Mostly:
> 
> "invalid offsetof from non-POD type `struct 
> use pointer to member instead"
> 
> Do these warnings indicate problems? If so, what can I do?

Not really. If you are building 6.0.1 and you see these warnings it is
an indication that your compiler generates broken code for the
pointer-to-member case.

> I noticed that the building instructions left the build of lvm and rpc2
> out. Only after installation of those, it worked.

Build order is,
 - LWP
 - RVM & RPC2
 - Coda

I thought that was documented somewhere. Hmm, it looks like the
Coda-HOWTO is skipping a couple of steps there...

> The building of the kernelmodule couldn't be completed, because of an
> error in the Make Config. My kernel is 2.4.20, and the tools are 2.4.22.
> I keep on getting an error that my tools are too old. Obviously this is
> not the case. I copied the linux2.2 directory to linux2.4 and tried to
> edit the Configure script, to allow a 2.4 kernel and I got a little
> further. 

Ehh, I don't understand, do you have a linux-2.2 or a linux-2.4 kernel?

Also, are you trying to build Coda-6.0.1 or -5.3.20?

- You want to use Coda-5.3.x
   - and have a recent 2.2, 2.4 or 2.5 linux kernel installed.

     You probably already have a perfectly working coda.o kernel module.
     It is part of the standard kernel and most simply build everything
     as modules and as such have the right kernel module.

- You want to use Coda-6.0.x
  -linux-2.4 kernel installed.

    You need ftp.coda.cs.cmu.edu:/pub/coda/linux/kernel/linux-coda-6.0.0.tgz
    which can build a new kernel module for your system.

 - recent linux-2.5 kernels.

    You need to get the Coda source tarball, unpack it and apply the
    coda-6.0.1/kernel-src/linux-2.5-realms.patch. The 2.5 kernel is a
    moving target and every other release someone misapplies some
    sweeping changes that break Coda. (i.e. 2.5.70 is currently broken,
    2.5.70-bk2/3 works again).

 - linux-2.0/2.2 kernel.

    Out of luck right now. I haven't backported any of the realms
    changes to either of these kernels.

The VFS changes all the time, so you definitely cannot simply drop
sources from one stable kernel into another and expect it to build. And
even if it builds, locks are being moved around between different
versions. So you either get a module that tries to take a lock twice,
leading to deadlock, or one that forgets to take a lock when necessary
which gives even more interesting and subtle races and kernel memory
corruption.

Jan
Received on 2003-06-11 11:30:26