diff options
author | Jeff Layton <jlayton@redhat.com> | 2014-04-15 08:51:48 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-05-06 10:55:29 -0400 |
commit | da05ff98dcc282ca0eebd849bc87594d6c28b506 (patch) | |
tree | f9273d2b8bf9afa54357d33a5ae31e03ed3e32e7 | |
parent | d8639f243850400d0e64b2b626903b0bcef925d2 (diff) |
nfsd: set timeparms.to_maxval in setup_callback_client
commit 3758cf7e14b753838fe754ede3862af10b35fdac upstream.
...otherwise the logic in the timeout handling doesn't work correctly.
Spotted-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | fs/nfsd/nfs4callback.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c index 7f05cd140de3..3eaa6e30a2dc 100644 --- a/fs/nfsd/nfs4callback.c +++ b/fs/nfsd/nfs4callback.c | |||
@@ -637,9 +637,11 @@ static struct rpc_cred *get_backchannel_cred(struct nfs4_client *clp, struct rpc | |||
637 | 637 | ||
638 | static int setup_callback_client(struct nfs4_client *clp, struct nfs4_cb_conn *conn, struct nfsd4_session *ses) | 638 | static int setup_callback_client(struct nfs4_client *clp, struct nfs4_cb_conn *conn, struct nfsd4_session *ses) |
639 | { | 639 | { |
640 | int maxtime = max_cb_time(clp->net); | ||
640 | struct rpc_timeout timeparms = { | 641 | struct rpc_timeout timeparms = { |
641 | .to_initval = max_cb_time(clp->net), | 642 | .to_initval = maxtime, |
642 | .to_retries = 0, | 643 | .to_retries = 0, |
644 | .to_maxval = maxtime, | ||
643 | }; | 645 | }; |
644 | struct rpc_create_args args = { | 646 | struct rpc_create_args args = { |
645 | .net = clp->net, | 647 | .net = clp->net, |