Subject: Re: Are you using CODA on NetBSD? Or any other distributed file system?
To: Andrew Gillham <gillham@gmail.com>
From: Greg Troxel <gdt@ir.bbn.com>
List: netbsd-users
Date: 12/06/2004 08:49:29
I use coda all the time, on NetBSD 2.0 and 1.6.2.

The pkgsrc bits are crufty.  This is because all serious coda users
run from coda CVS.  Coda is not super stable.  In connected mode (when
client/server network is reasonable), it works solidly.  In
disconnected operation it works pretty well, but clients get hosed
occasionally.  The server is quite solid, but there are storage limits
that now seem unreasonable.  The limits are based on the size of the
metadata, which is memory-mapped - the actual file sizes aren't the
issue.  And, directories can only have a few thousand files.

There are two versions of the user/kernel interface.  The old one is
for coda 5 and lower, and is in the netbsd 1.6 branch.  The new one,
for coda 6, supports 'realms', where a client can access multiple
administrative domains.  This adds a realm id to the file handle, and
code for it is in 2.0 (and has been in current for a while).  There's
a patch for 1.6 to add realms support - the coda kernel code hasn't
changed much.

To install:

cvs -d :pserver:anonymous@coda.cs.cmu.edu:/coda-src co lwp rpc2 rvm coda

install pkgsrc/devel/readline
ensure coda options in kernel (2 lines - see i386 GENERIC)
(Coda is not 64-bit clean, but works on NetBSD/sparc.)


#!/bin/sh
for i in lwp rpc2 rvm coda; do
  echo "BUILDING $i" && \
  (cd $i && \
  ./bootstrap.sh && \
  rm -f config.cache && \
  LDFLAGS="-L/usr/pkg/lib -R/usr/pkg/lib" CFLAGS="-g -I/usr/pkg/include" CXXFLAGS="-g -I/usr/pkg/include" ./configure --prefix=/usr/local/coda && \
  gmake -k clean && 
  gmake -k &&
  gmake install)
done
(cd coda && gmake -k client-install server-install)
exit 0


Things have settled out recently, so I should update the pkgs.

-- 
        Greg Troxel <gdt@ir.bbn.com>