SUNRPC: don't map EKEYEXPIRED to EACCES in call_refreshresult
authorAndy Adamson <andros@netapp.com>
Wed, 14 Aug 2013 15:59:13 +0000 (11:59 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Tue, 3 Sep 2013 19:25:08 +0000 (15:25 -0400)
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>
net/sunrpc/clnt.c

index 8572d3270783c97a4db1e3b2e33c49745374404d..631085ff0ad98e2a702c8baa3e4bf66527b9883e 100644 (file)
@@ -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--;