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

Rick Macklem rmacklem@uoguelph.ca
Thu, 17 Jan 2008 11:38:58 -0500 (EST)


On Wed, 16 Jan 2008, Robert Watson wrote:

[good stuff snipped]
>
> Right now we maintain a relatively stable VM/VFS KPI withing a major release 
> (i.e, FreeBSD 6.0 -> 6.1 -> 6.2 -> 6.3), but see fairly significant changes 
> between major releases (5.x -> 6.x -> 7.x, etc).  I expect to see further 
> changes in VFS for 8.x (and some of the locking-related ones have already 
> started going in).
>
This is loosely related to both the OpenAFS thread and the Mac OS X ZFS
port thread, so I thought I'd ask...

Has anyone considered trying to bring the FreeBSD VFS KPI (and others, for
that matter) closed to the Darwin/Mac OS X ones? The Apple folks made
quite dramatic changes to their VFS when going from Panther (very FreeBSD
like) to Tiger, but seemed to have stabilized, at least for Leopard. It
just seems that using the Mac OS X KPIs might leverage some work being
done on both sides? (I don't know if there is an OpenAFS port to Mac OS X
or interest in one, but I would think there would be a use for one, if it
existed?)

Although I'm far from an expert on the Mac OS X VFS (when I ported to it,
I just cribbed the code and it worked:-), it seems that they pretty well
got rid of the concept of a vnode-lock. If the underlying file system 
isn't SMP safe, it can put a lock on the subsystem at the VFS call.
(I think it optionally does a global lock or a uses an smp lock in the
vnode, but don't quote me on this. My code currently runs with the
thread-safe flag false in the vfs_conf structure entry, which enables
the automagic locking.)

Just a thought, rick