All of lore.kernel.org
 help / color / mirror / Atom feed
* NFSERR_NOSPC nfs-client bug
@ 2008-03-18  1:21 Ray Ferguson
       [not found] ` <200803172021.08327.nfs-Uh4cUGhLB8SgSpxsJD1C4w@public.gmane.org>
  0 siblings, 1 reply; 7+ messages in thread
From: Ray Ferguson @ 2008-03-18  1:21 UTC (permalink / raw)
  To: linux-nfs

I've discovered a bug in the linux nfs client.  Specifically it ignores 
NFSERR_NOSPC messages (code 28) from an NFS server and happily continues 
pounding it with data.

This causes some rather unfortunate consequences on linux nfs servers by 
exhausting resources.  In 2.4, all cpus peg at 100% usage under the system 
catagory.  In 2.6, at least one core gets pegged at 100% iowait, but this 
still triggers cascading load issues.

So far I've tested:

Opensuse-10.3 = Linux 2.6.22 (client bug confirmed)
RHAS4 = 2.6.9 (client bug confirmed)
RHAS3 = 2.4.21(No Bug: Pre-nfs4)
Solaris 9 = (No Bug)

This can be reproduced by creating a small filesystem and exporting it via 
nfs.  Then mount it with a buggy client and "cat /dev/zero > /nfs-share/foo"

The expected behavior is for the client to error out the write with a message 
informing you that the filesystem is out of space.  Instead, the client keeps 
sending data and the servers kernel take a beating.

I've checked the wire and confirmed that the server is sending the NOSPC 
message back to the client.  Most of my testing has been nfs3 though I did 
some brief testing w/ nfs2 (bug still present).  I have kernel sysrq debug 
data and packet captures if anyone is interested.

If this is not the correct place to report this, I would be grateful if anyone 
could redirect me.

Thank you for your help.

-
Ray Ferguson

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2008-03-18  6:30 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-18  1:21 NFSERR_NOSPC nfs-client bug Ray Ferguson
     [not found] ` <200803172021.08327.nfs-Uh4cUGhLB8SgSpxsJD1C4w@public.gmane.org>
2008-03-18  1:43   ` Greg Banks
     [not found]     ` <47DF1E5C.9090607-cP1dWloDopni96+mSzHFpQC/G2K4zDHf@public.gmane.org>
2008-03-18  1:50       ` Ray Ferguson
     [not found]         ` <200803172050.22223.nfs-Uh4cUGhLB8SgSpxsJD1C4w@public.gmane.org>
2008-03-18  2:08           ` Greg Banks
     [not found]             ` <47DF2415.6070802-cP1dWloDopni96+mSzHFpQC/G2K4zDHf@public.gmane.org>
2008-03-18  3:09               ` Trond Myklebust
     [not found]                 ` <1205809775.22258.9.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2008-03-18  4:03                   ` Greg Banks
     [not found]                     ` <47DF3F01.9050504-cP1dWloDopni96+mSzHFpQC/G2K4zDHf@public.gmane.org>
2008-03-18  6:08                       ` NeilBrown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.