Re: [PATCH 1/3] nfsd: add more info to WARN_ON_ONCE on failed callbacks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Aug 26, 2024 at 8:54 AM Jeff Layton <jlayton@xxxxxxxxxx> 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@xxxxxxxxxx>
> ---
>  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.

Thank you.
>
>
> --
> 2.46.0
>
>





[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux