Your message dated Thu, 12 Aug 2010 22:56:23 +0100 with message-id <1281650183.7543.526.camel@localhost> and subject line Re: Crashes / traces after copying large files over NFS has caused the Debian Bug report #589294, regarding Crashes / traces after copying large files over NFS to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact owner@bugs.debian.org immediately.) -- 589294: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=589294 Debian Bug Tracking System Contact owner@bugs.debian.org with problems
--- Begin Message ---
- To: submit@bugs.debian.org
- Subject: Crashes / traces after copying large files over NFS
- From: Leszek Urbanski <tygrys@moo.pl>
- Date: Fri, 16 Jul 2010 15:43:22 +0200
- Message-id: <20100716134322.GA27225@moo.pl>
Package: linux-2.6 Version: 2.6.32-15 Severity: important This bug in present in all 2.6.32.x, 33.x and 34.x kernels. It is a regression in NFS code. When copying a large file (larger than the amount of available physical memory) to an NFS-mounted filesystem, swapper and rpciod on the client complain about page allocation failures and then kswapd goes into a deadlock, resulting in a system-wide crash. https://bugzilla.kernel.org/show_bug.cgi?id=16056 The following patch fixes it: dcafd9eb464f5a87512f28c133386773a596261 Author: Trond Myklebust <Trond.Myklebust@netapp.com> Date: Wed Jul 14 16:51:48 2010 -0400 NFS: Don't let kswapd call nfs_wb_page() kswapd sets the GFP_KERNEL allocation flags, but is still liable to cause the system to lock up if it has to wait too long for an RPC call etc to succeed. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> diff --git a/fs/nfs/file.c b/fs/nfs/file.c index 8d965bd..9af489f 100644 --- a/fs/nfs/file.c +++ b/fs/nfs/file.c @@ -491,8 +491,11 @@ static int nfs_release_page(struct page *page, gfp_t gfp) { dfprintk(PAGECACHE, "NFS: release_page(%p)\n", page); - /* Only do I/O if gfp is a superset of GFP_KERNEL */ - if ((gfp & GFP_KERNEL) == GFP_KERNEL) + /* Only do I/O if gfp is a superset of GFP_KERNEL and if + * we're not kswapd or some other memory allocator. + */ + if ((gfp & GFP_KERNEL) == GFP_KERNEL + && !(current->flags & PF_MEMALLOC)) nfs_wb_page(page->mapping->host, page); /* If PagePrivate() is set, then the page is not freeable */ if (PagePrivate(page)) -- Leszek "Tygrys" Urbanski, SCSA, SCNA "Unix-to-Unix Copy Program;" said PDP-1. "You will never find a more wretched hive of bugs and flamers. We must be cautious." -- DECWARS http://cygnus.moo.pl/ -- Cygnus High Altitude Balloon
--- End Message ---
--- Begin Message ---
- To: 589294-done@bugs.debian.org
- Subject: Re: Crashes / traces after copying large files over NFS
- From: Ben Hutchings <ben@decadent.org.uk>
- Date: Thu, 12 Aug 2010 22:56:23 +0100
- Message-id: <1281650183.7543.526.camel@localhost>
Version: 2.6.32-20 This is believed to be fixed in the above version. Ben. -- Ben Hutchings Once a job is fouled up, anything done to improve it makes it worse.Attachment: signature.asc
Description: This is a digitally signed message part
--- End Message ---