As a resilient, secure, shared, WAN, caching file-system, CODA seems the perfect fit for my use case (cluster computing for bioinformatics).
Other shared file-systems that are available to the platform (NFS, SMB, AFP, AFS) are missing one or more of these key features.
I feel CODA would be additionally and particularly useful to mobile clients (laptops, there are lots of Mac OS X laptops out there).
In addition to a straight port of CODA to Mac OS X, I would like to see support for Open Directory and Rendezvous added to it.
Imagine the utility of having a cached copy of your HOME directory follow you around with "Zero Configuration", and yet take advantage of whatever necessary authentication mechanism? Sort of like my own personal (or institutional supported) iDisk.
Each Christmas vacation, I make considerable effort to port CODA to Mac OS X.
Compiling the binaries and their dependencies on Mac OS X is pretty straight forward (gets easier with each release),
but I've never made it all the way through porting the kernel module (close a couple of times).
Below are my notes from my most recent attempt on Mac OS X 10.3.? using the latest CODA and latest dependencies.
I have kernel extension (module) code that compiles without errors and provides the required interface using the FreeBSD CODA kernel module and the Mac OS X AFS kernel extension as a templates for the work. Glad to share this with anyone that might be interested.
Notes ===== http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.3.tar.gz
# coda requires lwp, rpc2, and rvm # rpc2 requires readline
# build and install readline wget ftp://ftp.gnu.org/gnu/readline/readline-4.3.tar.gz tar zxvf readline-4.3.tar.gz cd readline-4.3 ./configure --disable-shared make make check sudo make install
# build and install lwp wget http://www.coda.cs.cmu.edu/pub/coda/src/lwp-1.10.tar.gz tar zxvf lwp-1.10.tar.gz cd lwp-1.10 # remove traditional-cpp from CPPFLAGS within configure # like: case "$build" in powerpc-apple-darwin*) CPPFLAGS="$CPPFLAGS" ;; esac ./configure make make check sudo make install
# build and install rvm wget http://www.coda.cs.cmu.edu/pub/coda/src/rvm-1.8.tar.gz tar zxvf rvm-1.8.tar.gz cd rvm-1.8 # remove traditional-cpp from CPPFLAGS within configure # like: case "$build" in powerpc-apple-darwin*) CPPFLAGS="$CPPFLAGS" ;; esac
./configure make make check sudo make install
# build and install rpc2 wget http://www.coda.cs.cmu.edu/pub/coda/src/rpc2-1.20.tar.gz tar zxvf rpc2-1.20.tar.gz cd rpc2-1.20 # remove traditional-cpp from CPPFLAGS within configure # like: case "$build" in powerpc-apple-darwin*) CPPFLAGS="$CPPFLAGS" ;; esac ./configure
# add to config.h # define socklen_t unsigned int make make check sudo make install
# build and install coda wget http://www.coda.cs.cmu.edu/pub/coda/src/coda-6.0.3.tar.gz tar zxvf coda-6.0.3.tar.gz cd coda-6.0.3 cp -r /usr/share/libtool/config.* configs
./configure --with-rvm=/usr/local --with-lwp=/usr/local --with-rpc2=/usr/local
#define T_SRV 33 in ./lib-src/base/coda_getaddrinfo.c or config.h
make
make check
# modify tools/our-install with
if [ $SYS = NetBSD -o $SYS = FreeBSD -o $SYS = OpenBSD -o $SYS = Darwin ] ; then
sudo make client-install sudo make server-install sudo mknod /dev/cfs0 c 93 0
# freebsd coda kernel source % setenv CVSROOT :pserver:[EMAIL PROTECTED]:/home/ncvs % cvs login At the prompt, enter the password ``anoncvs''. % cvs co sys/coda % cvs release -d sys/coda % cvs logout
http://www.coda.cs.cmu.edu/pub/coda/freebsd/freebsd-current-realms.patch
patch -p0 < freebsd-current-realms.patch
rm -rf /dev/cfs0 mknod /dev/cfs0 c 93 0 chmod 666 /dev/cfs0
tar zxvf coda.tar.gz -C /usr/local chown -R root:wheel /usr/local sudo venus-setup testserver.coda.cs.cmu.edu 20000
output>>
Creating /usr/coda, mode 755
Creating /usr/coda/spool, mode 755
Creating /usr/coda/venus.cache, mode 700
Creating /usr/coda/etc, mode 700
Creating //coda, mode 755
/usr/local/sbin/venus-setup: line 153: ./MAKEDEV: No such file or directory
/etc/services already has new services registered! Good.
/etc/services ready for Coda
sudo venus&
Greetings from Apple Computer!
I wanted to informally poll this group in an attempt to gauge the amount of
interest in Coda on OS X and perhaps better understand what potential
"resources" are available in the open source community to help with any
porting effort.
While this e-mail should not be interpreted as a commitment by Apple to port,
adopt, and otherwise support Coda on OS X, there is potential leverage in the
filesystem mobility space that may require more investigation.
Regards,
Chris
-- William Van Etten, PhD email: [EMAIL PROTECTED] office/FAX: 978-255-1506 mobile: 617-921-3358 iChat: [EMAIL PROTECTED]
smime.p7s
Description: S/MIME cryptographic signature
