From: Jeff Layton <jlayton@kernel.org>
To: Olga Kornievskaia <aglo@umich.edu>
Cc: Chuck Lever <chuck.lever@oracle.com>, Neil Brown <neilb@suse.de>,
Olga Kornievskaia <kolga@netapp.com>,
Dai Ngo <Dai.Ngo@oracle.com>, Tom Talpey <tom@talpey.com>,
linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/3] nfsd: add more info to WARN_ON_ONCE on failed callbacks
Date: Mon, 09 Sep 2024 13:34:33 -0400 [thread overview]
Message-ID: <a86299f5abc59e33c7cbc3740151cf7b3ca9265c.camel@kernel.org> (raw)
In-Reply-To: <CAN-5tyFQ9sdb-L8YQXiGsUXDbVR9QbdNNK7QOi5XVJaggnVFBg@mail.gmail.com>
On Mon, 2024-09-09 at 13:23 -0400, Olga Kornievskaia wrote:
> On Mon, Aug 26, 2024 at 8:54 AM Jeff Layton <jlayton@kernel.org> wrote:
> >
> > Currently, you get the warning and stack trace, but nothing is printed
> > about the relevant error codes. Add that in.
> >
> > Signed-off-by: Jeff Layton <jlayton@kernel.org>
> > ---
> > fs/nfsd/nfs4callback.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c
> > index d756f443fc44..dee9477cc5b5 100644
> > --- a/fs/nfsd/nfs4callback.c
> > +++ b/fs/nfsd/nfs4callback.c
> > @@ -1333,7 +1333,8 @@ static void nfsd4_cb_done(struct rpc_task *task, void *calldata)
> > return;
> >
> > if (cb->cb_status) {
> > - WARN_ON_ONCE(task->tk_status);
> > + WARN_ONCE(task->tk_status, "cb_status=%d tk_status=%d",
> > + cb->cb_status, task->tk_status);
> > task->tk_status = cb->cb_status;
> > }
>
> Educational question: why is this warning there in the first place? I
> can appreciate the value of information. Does knfsd expect that a
> callback should never fail with an error and thus tries to always
> catch it? A tracepoint can log an rpc tasks status but I realize that
> it doesn't capture attention like a WARN_ON.
>
> I have a report with this warn_on which I'm trying to figure out why
> is happening but I was surprised to find nfsd cares so much about the
> callback status.
>
This indicates that we had to reissue the RPC, and it got back a second
error. The stack trace is not terribly helpful, IMO. I personally
tripped this while working on the delstid patches, because I had some
bugs in that series initially.
Chuck and I have discussed that the callback channel really needs full
code audit and (probably a real overhaul). The code is just not as
robust as it ought to be, IMO. I've no objection to ripping this
warning out, but it does indicate that the callback "engine" is in a
situation that it may not handle well.
--
Jeff Layton <jlayton@kernel.org>
next prev parent reply other threads:[~2024-09-09 17:34 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-26 12:50 [PATCH 0/3] nfsd: callback debugging improvements Jeff Layton
2024-08-26 12:50 ` [PATCH 1/3] nfsd: add more info to WARN_ON_ONCE on failed callbacks Jeff Layton
2024-09-09 17:23 ` Olga Kornievskaia
2024-09-09 17:34 ` Jeff Layton [this message]
2024-12-19 21:23 ` Olga Kornievskaia
2024-12-19 21:33 ` Jeff Layton
2024-12-19 21:42 ` Olga Kornievskaia
2024-08-26 12:50 ` [PATCH 2/3] nfsd: track the main opcode for callbacks Jeff Layton
2024-08-26 12:50 ` [PATCH 3/3] nfsd: add more nfsd_cb tracepoints Jeff Layton
2024-08-26 16:34 ` [PATCH 0/3] nfsd: callback debugging improvements Chuck Lever
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=a86299f5abc59e33c7cbc3740151cf7b3ca9265c.camel@kernel.org \
--to=jlayton@kernel.org \
--cc=Dai.Ngo@oracle.com \
--cc=aglo@umich.edu \
--cc=chuck.lever@oracle.com \
--cc=kolga@netapp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=neilb@suse.de \
--cc=tom@talpey.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox