From: "J. Bruce Fields" <bfields@fieldses.org>
To: Naofumi Honda <honda@math.sci.hokudai.ac.jp>
Cc: linux-nfs@vger.kernel.org, jlayton@redhat.com
Subject: Re: [Bug 197817] "Panic: unable to handle kernel page request" in posix_unblock_lock() called from nfs4_laundromat()
Date: Thu, 9 Nov 2017 11:07:28 -0500 [thread overview]
Message-ID: <20171109160728.GI8773@fieldses.org> (raw)
In-Reply-To: <1911104.BiqBl0Bicc@nausicaa>
On Thu, Nov 09, 2017 at 10:08:28AM +0900, Naofumi Honda wrote:
> Dear Developers:
>
> > https://bugzilla.kernel.org/show_bug.cgi?id=197817
> >
> > --- Comment #1 from bfields@fieldses.org ---
> > Yes, I think you're right.
> >
> > Would it be possible for you to submit a patch to fix that typo in those two
> > places? (Just mail it to me at bfields@fieldses.org, cc: to
> > linux-nfs@vger.kernel.org).
> >
>
> OK, I have attached the patch.
Thanks for the investigation and the fix!
For future reference, we prefer patches to be inline with the email
message (not attached), and prefer them in "unified" format.
But for a one-off patch I can fix it up myself; applied as follows.
--b.
commit c26806a20fa3
Author: Naofumi Honda <honda@math.sci.hokudai.ac.jp>
Date: Thu Nov 9 10:57:16 2017 -0500
nfsd: fix panic in posix_unblock_lock called from nfs4_laundromat
From kernel 4.9, my two nfsv4 servers sometimes suffer from
"panic: unable to handle kernel page request"
in posix_unblock_lock() called from nfs4_laundromat().
These panics diseappear if we revert the commit "nfsd: add a LRU list
for blocked locks".
The cause appears to be a typo in nfs4_laundromat(), which is also
present in nfs4_state_shutdown_net().
Cc: stable@vger.kernel.org
Fixes: 7919d0a27f1e "nfsd: add a LRU list for blocked locks"
Cc: jlayton@redhat.com
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index 923243369bbc..b99830ab63aa 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -4791,7 +4791,7 @@ nfs4_laundromat(struct nfsd_net *nn)
spin_unlock(&nn->blocked_locks_lock);
while (!list_empty(&reaplist)) {
- nbl = list_first_entry(&nn->blocked_locks_lru,
+ nbl = list_first_entry(&reaplist,
struct nfsd4_blocked_lock, nbl_lru);
list_del_init(&nbl->nbl_lru);
posix_unblock_lock(&nbl->nbl_lock);
@@ -7260,7 +7260,7 @@ nfs4_state_shutdown_net(struct net *net)
spin_unlock(&nn->blocked_locks_lock);
while (!list_empty(&reaplist)) {
- nbl = list_first_entry(&nn->blocked_locks_lru,
+ nbl = list_first_entry(&reaplist,
struct nfsd4_blocked_lock, nbl_lru);
list_del_init(&nbl->nbl_lru);
posix_unblock_lock(&nbl->nbl_lock);
next prev parent reply other threads:[~2017-11-09 16:07 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <bug-197817-198953@https.bugzilla.kernel.org/>
[not found] ` <bug-197817-198953-0whWrJRFSz@https.bugzilla.kernel.org/>
2017-11-09 1:08 ` [Bug 197817] "Panic: unable to handle kernel page request" in posix_unblock_lock() called from nfs4_laundromat() Naofumi Honda
2017-11-09 16:07 ` J. Bruce Fields [this message]
2017-11-09 16:14 ` Jeff Layton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171109160728.GI8773@fieldses.org \
--to=bfields@fieldses.org \
--cc=honda@math.sci.hokudai.ac.jp \
--cc=jlayton@redhat.com \
--cc=linux-nfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.