VFS KPI was Re: [OpenAFS-devel] Re: AFS ... or equivalent ...

Scott Long scottl@samsco.org
Thu, 17 Jan 2008 10:58:08 -0700


Rick Macklem wrote:
> 
> 
> On Thu, 17 Jan 2008, Scott Long wrote:
> 
>>
>> Both Solaris and OSX seem to have found the path out of the VFS locking
>> woods, and it would indeed be really nice if FreeBSD could follow suit.
> Yes, I didn't mention Solaris (because I've never looked at it), but
> being able to easily port file system code from OpenSolaris sounds like
> it might be a big win. ZFS is an obvious example, but there is also
> stuff like pNFS in the pipe that would be nice. (I'm going to try and
> get my nfsv4 code into FreeBSD, but it will only be nfsv4.0 and I have
> no urge to do 4.1/pNFS.) And others mentioned that there is quite a bit
> of momentum w.r.t. OpenAFS in Solaris.
> 
> rick
> 

It's not just about portability, though.  I know that some will argue
with me on this, but the current VFS API is prohibitively difficult to
use properly if you're trying to write, port, or debug a filesystem.
You have to worry about interactions between vnode locks, vnode
interlocks, and mount locks even before you start locking your own
filesystem-private structures.  Vectors like VOP_RECLAIM are a delicate
and unforgiving minefield.  Gaining better portability would of course
be a big win, but an even bigger win would be gaining the ability of
mere mortal programmers to understand and get involved in filesystems
in FreeBSD.

Scott