summaryrefslogtreecommitdiffstats
path: root/net/sunrpc/clnt.c
diff options
context:
space:
mode:
authorAndy Adamson2013-08-14 17:59:13 +0200
committerTrond Myklebust2013-09-03 21:25:08 +0200
commitf1ff0c27fd9987c59d707cd1a6b6c1fc3ae0a250 (patch)
tree5463eb4ba08b6737a13e47352531ecdff7351f17 /net/sunrpc/clnt.c
parentSUNRPC: rpcauth_create needs to know about rpc_clnt clone status (diff)
downloadkernel-qcow2-linux-f1ff0c27fd9987c59d707cd1a6b6c1fc3ae0a250.tar.gz
kernel-qcow2-linux-f1ff0c27fd9987c59d707cd1a6b6c1fc3ae0a250.tar.xz
kernel-qcow2-linux-f1ff0c27fd9987c59d707cd1a6b6c1fc3ae0a250.zip
SUNRPC: don't map EKEYEXPIRED to EACCES in call_refreshresult
The NFS layer needs to know when a key has expired. This change also returns -EKEYEXPIRED to the application, and the informative "Key has expired" error message is displayed. The user then knows that credential renewal is required. Signed-off-by: Andy Adamson <andros@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'net/sunrpc/clnt.c')
-rw-r--r--net/sunrpc/clnt.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
index 8572d3270783..631085ff0ad9 100644
--- a/net/sunrpc/clnt.c
+++ b/net/sunrpc/clnt.c
@@ -1408,9 +1408,9 @@ call_refreshresult(struct rpc_task *task)
return;
case -ETIMEDOUT:
rpc_delay(task, 3*HZ);
- case -EKEYEXPIRED:
case -EAGAIN:
status = -EACCES;
+ case -EKEYEXPIRED:
if (!task->tk_cred_retry)
break;
task->tk_cred_retry--;