From: Jeff Layton Date: Tue, 15 Apr 2014 12:51:48 +0000 (-0400) Subject: nfsd: set timeparms.to_maxval in setup_callback_client X-Git-Tag: v3.2.59~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9b492e65e428b1246074f04702bf4b81ad11efd0;p=thirdparty%2Fkernel%2Fstable.git 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 Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields [bwh: Backported to 3.2: max_cb_time() takes no parameters] Signed-off-by: Ben Hutchings --- diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c index 7748d6a18d974..809a38ad96aa0 100644 --- a/fs/nfsd/nfs4callback.c +++ b/fs/nfsd/nfs4callback.c @@ -633,9 +633,11 @@ static int max_cb_time(void) static int setup_callback_client(struct nfs4_client *clp, struct nfs4_cb_conn *conn, struct nfsd4_session *ses) { + int maxtime = max_cb_time(); struct rpc_timeout timeparms = { - .to_initval = max_cb_time(), + .to_initval = maxtime, .to_retries = 0, + .to_maxval = maxtime, }; struct rpc_create_args args = { .net = &init_net,