diff mbox series

[v4,1/1] NFSD: fix error handling in NFSv4.0 callbacks

Message ID 20210311155500.14209-1-olga.kornievskaia@gmail.com (mailing list archive)
State New, archived
Headers show
Series [v4,1/1] NFSD: fix error handling in NFSv4.0 callbacks | expand

Commit Message

Olga Kornievskaia March 11, 2021, 3:55 p.m. UTC
From: Olga Kornievskaia <kolga@netapp.com>

When the server tries to do a callback and a client fails it due to
authentication problems, we need the server to set callback down
flag in RENEW so that client can recover.

Suggested-by: Bruce Fields <bfields@redhat.com>
Signed-off-by: Olga Kornievskaia <kolga@netapp.com>
---
 fs/nfsd/nfs4callback.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Chuck Lever III March 11, 2021, 4:02 p.m. UTC | #1
> On Mar 11, 2021, at 10:55 AM, Olga Kornievskaia <olga.kornievskaia@gmail.com> wrote:
> 
> From: Olga Kornievskaia <kolga@netapp.com>
> 
> When the server tries to do a callback and a client fails it due to
> authentication problems, we need the server to set callback down
> flag in RENEW so that client can recover.
> 
> Suggested-by: Bruce Fields <bfields@redhat.com>
> Signed-off-by: Olga Kornievskaia <kolga@netapp.com>

Thanks. This patch has been included in the for-rc topic
branch in the repo at

git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git

I added Ben's Tested-by.


> ---
> fs/nfsd/nfs4callback.c | 1 +
> 1 file changed, 1 insertion(+)
> 
> diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c
> index 052be5bf9ef5..7325592b456e 100644
> --- a/fs/nfsd/nfs4callback.c
> +++ b/fs/nfsd/nfs4callback.c
> @@ -1189,6 +1189,7 @@ static void nfsd4_cb_done(struct rpc_task *task, void *calldata)
> 		switch (task->tk_status) {
> 		case -EIO:
> 		case -ETIMEDOUT:
> +		case -EACCES:
> 			nfsd4_mark_cb_down(clp, task->tk_status);
> 		}
> 		break;
> -- 
> 2.18.2

--
Chuck Lever
diff mbox series

Patch

diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c
index 052be5bf9ef5..7325592b456e 100644
--- a/fs/nfsd/nfs4callback.c
+++ b/fs/nfsd/nfs4callback.c
@@ -1189,6 +1189,7 @@  static void nfsd4_cb_done(struct rpc_task *task, void *calldata)
 		switch (task->tk_status) {
 		case -EIO:
 		case -ETIMEDOUT:
+		case -EACCES:
 			nfsd4_mark_cb_down(clp, task->tk_status);
 		}
 		break;