FreeBSD NFS client/Linux NFS server issue

Mikolaj Golub to.my.trociny at gmail.com
Sat Jan 23 14:51:09 UTC 2010


On Fri, 22 Jan 2010 17:13:09 -0500 (EST) Rick Macklem wrote:

> On Fri, 22 Jan 2010, Rick Macklem wrote:
>
>>
>> There should probably be some sort of 3 way handshake between
>> the code in nfs_asyncio() after calling nfs_nfsnewiod() and the
>> code near the beginning of nfssvc_iod(), but I think the following
>> somewhat cheesy fix might do the trick:
>>
> [stuff deleted]
> I know it's a little weird to reply to my own posting, but I think
> this might be a reasonable patch (I have only tested it for a few
> minutes at this point).
>
> I basically redefined nfs_iodwant[] as a tri-state variable (although
> it was a struct proc *, it was only tested NULL/non-NULL).
> 0 - was NULL
> 1 - was non-NULL
> -1 - just created by nfs_asyncio() and will be used by it
>
> I'll keep testing it, but hopefully someone else can test and/or
> review it... rick

I applied your patch to FreeBSD8.0 (the box I get on weekend :-), mounted 10
shares, set vfs.nfs.iodmaxidle=10 (to have nfsiod creation more frequently)
and have been running tests for 4 hours -- just to check the patch does not
break anything. No issues have been detected.

It would be very nice to have this patch committed.

-- 
Mikolaj Golub


More information about the freebsd-stable mailing list