aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4state.c
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2012-11-26 16:16:54 -0500
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-12-06 00:30:47 +0100
commitc10e449827e6008ef5a4a71c0247c7eb73948e1b (patch)
tree7512d993fc182b24655d91ea930706451c0591e6 /fs/nfs/nfs4state.c
parentNFSv4.1: Set the maximum slot table size to 1024 slots (diff)
downloadlinux-dev-c10e449827e6008ef5a4a71c0247c7eb73948e1b.tar.xz
linux-dev-c10e449827e6008ef5a4a71c0247c7eb73948e1b.zip
NFSv4.1: Ping server when our session table limits are too high
If the server requests a lower target_highest_slotid, then ensure that we ping it with at least one RPC call containing an appropriate SEQUENCE op. This ensures that the server won't need to send a recall callback in order to shrink the slot table. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4state.c')
-rw-r--r--fs/nfs/nfs4state.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c
index 1402283d152d..c137421f2123 100644
--- a/fs/nfs/nfs4state.c
+++ b/fs/nfs/nfs4state.c
@@ -1961,6 +1961,11 @@ void nfs41_server_notify_target_slotid_update(struct nfs_client *clp)
nfs41_ping_server(clp);
}
+void nfs41_server_notify_highest_slotid_update(struct nfs_client *clp)
+{
+ nfs41_ping_server(clp);
+}
+
static void nfs4_reset_all_state(struct nfs_client *clp)
{
if (test_and_set_bit(NFS4CLNT_LEASE_EXPIRED, &clp->cl_state) == 0) {