Patches to get Arla running on FreeBSD 8-CURRENT

Robert Watson rwatson at FreeBSD.org
Mon Feb 25 22:19:24 CET 2008


On Sun, 24 Feb 2008, Tomas Olsson wrote:

> I wrote:
>> On Sat, 2008-02-23 at 10:12 -0600, Alec Kloss wrote:
>>> All of the heavy lifting is done in the big patch at
>>>
>>> 	http://setfilepointer.com/pub/arla/20080223-arla.diff
>> [...]
>>> Can anyone from Arla comment on the chances for incorporating these 
>>> patches into Arla itself?  It'd be nice to have these changes in Arla 
>>> itself prior to submitting the port to FreeBSD.
>>>
>> Chances are good. If it looks ok it goes in.
>>
> Looks mostly ok, but I do have some questions.
>
> 1) appl/fs/fs_local.h: would that break `fs nnpfsdeb all`?
>
> 2) cf/try-compile-kernel.m4: why do we need /usr/include? It sounds scary 
> given that we may want to compile using random kernel trees. Same goes for 
> nnpfs/freebsd/FreeBSD-Makefile. I don't know much about kernel build magic.
>
> 3) cf/bsd-vop-unlock.m4: do we need it? I don't care about older versions of 
> FreeBSD than 6.x; traditionally we try to support latest stable OS-release 
> plus -CURRENT but maybe that's a bit limiting. Perphaps nnpfs_vfs_unlock 
> solves part of the problem?

Just back from FOSDEM, and am 3-4 days behind on e-mail, so will need to 
investigate (1) and (2) in a day or two.

If I've done (1) correctly then, in practice, it shouldn't change things at 
all, except that on FreeBSD 7.x and higher, it will use the priv(9) interface 
to check for privilege rather than suser(9).  While there are plans for 
further privilege semantic changes, the interface change so far is actually a 
syntactic change -- the policy remains the same, but information about the 
check is managed differently, hence the change to the interface.  This is a 
precursor to more fine-grained privileges in the kernel.

With respect to (2), I need to look at the details, but I believe this has to 
do with the fact that nnpfs is relying on generated files that may not be 
present in a kernel source tree.  The more right fix may be to force 
generation of the files (if we can) in the nnpfs build, as we already do for 
vnode_if.h, but I'll have to look in more detail.

With respect to (3) -- that has to do with support for 8-CURRENT, not pre-6.x. 
It looks like the VFS folks are in the middle of dropping unnecessary thread 
arguments from various locking interfaces in VFS, including 
lock/unlock/assert/etc (these will now all be curthread implicitly).  I just 
saw a couple more such changes trickle in today, so I'll probably have some 
more patches, sadly.

Robert N M Watson
Computer Laboratory
University of Cambridge


More information about the Arla-drinkers mailing list