Weird Linux - FreeBSD/ZFS NFSv4 interoperability problem

Rick Macklem rmacklem at uoguelph.ca
Sat Sep 4 00:55:08 UTC 2010


> 
> Here's a capture for you. This is a Linux client (192.168.30.30)
> working against a FreeBSD 8.1-RELEASE server (192.168.30.102). If you
> need a capture using FreeBSD 9, that'll require some more setup on my
> part and I won't be able to get to it until Monday.

Ok, The server is returning NFS4ERR_OLD_STATEID, which means that the
seqid# inside the stateid is out of date. I think the original intent
of this was to be a debugging aid for client writers, but a discussion
on the nfsv4 mailing list pretty much concluded that it was useless.
(It is definitely the case that the server doesn't care. A separate
seqd# is used to order the open/lock/close ops.)

So, please try the attached little patch that just disables the server
check for this case for Close. (The line #s will be different than
8.1, but all it is doing is commenting out the test for this case in
nfsrv_openupdate(), if the patch won't apply directly.)

I'm almost at the point where I'll just disable all the cases that
generate NFS4ERR_OLDSTATEID in the server. (It
is already disabled for Read/Write/Setattr of size unless you tweak
a variable.)

Please let me know if it helps, rick
-------------- next part --------------
A non-text attachment was scrubbed...
Name: nfsdstate.patch
Type: text/x-patch
Size: 513 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-fs/attachments/20100904/4249d4bd/nfsdstate.bin


More information about the freebsd-fs mailing list