NFSv4 client and server for FreeBSD7 needs testing

Rick Macklem rmacklem at uoguelph.ca
Thu Jul 31 19:09:12 UTC 2008



On Thu, 31 Jul 2008, Brooks Davis wrote:

>
> I've done some very basic testing on amd64.  I had to make a few
> changes to get it to compile, but they were mostly straightforward.
> Replacing the various incarnations of %q with %j and casts to (intmax_t)
> handled most of it.  I also had to change the third argument of
> nfsvno_pathconf() to register_t to match the old code and perculate the
> change through.
>
If you email me the diffs, that would be appreciated, since I only have 
i386 hardware to test with.

> I've only done some auth sys mounts so far and some very basic reading of files
> etc.  One feature that seems to be missing relative to other systems is
> what I'd describe as recusive mounting with a single mount entry.  For example
> if you export these files systems on solaris:
>
> /export/home
> /export/home/foo
> /export/home/bar
>
> and then mount /export/home with nfsv4 on a linux system, you can access the
> contents of /export/home/foo and /export/home/bar (find breaks interestingly on
> RHEL 5.1 Server, but that's another story :).
>
Yes, unlike NFSv2 and v3, NFSv4 allows the server to cross mount points on
the server. I haven't implemented that in my server for two reasons:
1 - The Solaris 10 client gets confused at mount point crossings. I don't
     know if the current release of OpenSolaris has this fixed?
2 - It makes the file systems look exactly the same for NFSv4 as v2 and
     v3, if you don't allow mount point crossings. (ie. You can mount each
     separately, if you want to.)

However, good point. Maybe it should be a "sysctl" option to enable it.
(It's been a while since I tried it, but I think all I have to do is set
  the CROSSMOUNT flag on VOP_LOOKUP() to make it work.)

I'll admit I don't get around to testing using the Linux client often, but
if I can get it to work, I'll add a "sysctl" variable to enable it.

Thanks and good luck with the testing, rick



More information about the freebsd-fs mailing list