nfsd server cache flooded, try to increase nfsrc_floodlevel

I ran into an issue today of our server thinking that it was being flooded and locking our nfs users out. Got a LOT of these messages:

Code:
Jul 12 16:08:22 xxxxx kernel: nfsd server cache flooded, try to increase nfsrc_floodlevel

Our server:
Code:
[root@xxxxx /boot]# uname -a
FreeBSD xxxxx 8.2-RELEASE-p2 FreeBSD 8.2-RELEASE-p2 #0: Tue Jun 21 16:52:27 MDT 2011     yyy@xxxxx:/usr/obj/usr/src/sys/PEZ  amd64

I could find no information on nfsrc_floodlevel other than source code which didn't explain too much about it. I don't know if it's a kernel config var, or what.

nfsstat -e did show this:

Code:
CacheSize   TCPPeak
    16385     16385

The source code and this output suggest that we're just running into the limit. However, a comment in that source does suggest that "The cache will still function over flood level" but that doesn't seem to be the case. I ended up having to revoke the clients and restarting nfsd to get it operational again.

I would appreciate anyone that could clarify what nfsrc_floodlevel is and how to go about changing it.
 
To anyone coming across this thread, it ended up being a bug in the Ubuntu Linux kernel of the client machine(s). They wouldn't clear their own locks. Once we upgraded, all returned to normal.

Though this really seems like a nice DOS vector in NFS if it allows this...
 
Well, 8 years later the same issue again. I have an Ubuntu client and NFS on FreeBSD 10 and server log has those errors:
nfsd server cache flooded, try increasing vfs.nfsd.tcphighwater
At the same time on client's side nfs mount become unresponsive.
 
Have you tried increasing vfs.nfsd.tcphighwater as mentioned in the error?
 
Well, I tried and I have found that the initial value is 0. I have set it to 4096 but I am not sure. What would be the good value to start ?
 
Back
Top