distributed filesystems

Robert Watson rwatson at FreeBSD.org
Wed Apr 25 08:35:20 UTC 2007


On Mon, 23 Apr 2007, Greg Troxel wrote:

> Big issues that I think you'll run into when porting the NetBSD version to 
> FreeBSD are:
>
>  vnode locking rules are different.  NetBSD's rules have been
>  regularized, with lookup taking a locked dvp and returning a locked
>  vpp, leaving dvp locked, and fairly consistent vput for leaf
>  operations.
>
>  NetBSD has UVM, and so the interface to getpages/putpages
>  is probably different.  Coda passes a file by dev/ino into the kernel
>  and then vnode ops on the coda vnode get forwarded to the (ffs)
>  container file.  This is tricky for handling page faults for executing
>  a program, as the vnode isn't open.

And issue three, which can't be ignored:

   FreeBSD now runs its VFS and some file systems without the Giant lock
   (MPSAFE).  Any significant new file system work for a file system must be
   done without the Giant lock in order to achieve necessary scalability.

Removing the Giant lock from Coda shouldn't be all that hard, since the set of 
internal data structures is relatively small, but it will need to happen if 
Coda support is going to remain in the FreeBSD kernel in the long term. 
Certainly, we wouldn't accept it as a new file system at this point if it 
required the Giant lock.

The Coda module in FreeBSD has been essentially unmaintained for about six to 
eight years; tjr did some minor maintenance and fixing along the way to keep 
it working, but it needs a dedicated maintainer to perform code updates, 
handle locking issues, etc.

Robert N M Watson
Computer Laboratory
University of Cambridge


More information about the freebsd-fs mailing list