From 6b039ebb15c07336b4e17c741e093d324edda81e Mon Sep 17 00:00:00 2001 From: Trond Myklebust Date: Tue, 20 Nov 2012 10:53:39 -0500 Subject: [PATCH] --- yaml --- r: 346575 b: refs/heads/master c: 688a9024e2bc8d07cdc62e287dfb048722cf96df h: refs/heads/master i: 346573: 738866ba4332fb5879df052581a7f9a4866cc5d7 346571: 7044fa463190abb9c2f83567883bf97fac66fbed 346567: 0ca553bd5c7934911cec3c90f5fa4e84befb9c92 346559: 23d1d708ac770158eedc555f92dba9d8c047cc39 v: v3 --- [refs] | 2 +- trunk/fs/nfs/nfs4proc.c | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index b466166b6866..16992d6a2b5b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ae72ae676045274c82f3c25159a9dd7cfcf5ffae +refs/heads/master: 688a9024e2bc8d07cdc62e287dfb048722cf96df diff --git a/trunk/fs/nfs/nfs4proc.c b/trunk/fs/nfs/nfs4proc.c index 3e572dc316e4..ee82cdddeebe 100644 --- a/trunk/fs/nfs/nfs4proc.c +++ b/trunk/fs/nfs/nfs4proc.c @@ -6037,9 +6037,22 @@ int nfs4_init_session(struct nfs_server *server) session->fc_attrs.max_rqst_sz = target_max_rqst_sz; session->fc_target_max_resp_sz = target_max_resp_sz; session->fc_attrs.max_resp_sz = target_max_resp_sz; + } else { + /* Just adjust the targets */ + if (target_max_rqst_sz > session->fc_target_max_rqst_sz) { + session->fc_target_max_rqst_sz = target_max_rqst_sz; + set_bit(NFS4CLNT_SESSION_RESET, &clp->cl_state); + } + if (target_max_resp_sz > session->fc_target_max_resp_sz) { + session->fc_target_max_resp_sz = target_max_resp_sz; + set_bit(NFS4CLNT_SESSION_RESET, &clp->cl_state); + } } spin_unlock(&clp->cl_lock); + if (test_bit(NFS4CLNT_SESSION_RESET, &clp->cl_state)) + nfs4_schedule_lease_recovery(clp); + return nfs41_check_session_ready(clp); }