summaryrefslogtreecommitdiffstats
path: root/fs/nfs
diff options
context:
space:
mode:
authorRicardo Labiaga <Ricardo.Labiaga@netapp.com>2009-12-05 22:08:41 +0100
committerTrond Myklebust <Trond.Myklebust@netapp.com>2009-12-05 22:08:41 +0100
commitda6ebfe34a3921cfb47b938fb819abc78c6080e5 (patch)
tree5206813e9df45fe6fd0f2fb57f315755e75e3172 /fs/nfs
parentnfs41: RECLAIM_COMPLETE functionality (diff)
downloadlinux-da6ebfe34a3921cfb47b938fb819abc78c6080e5.tar.xz
linux-da6ebfe34a3921cfb47b938fb819abc78c6080e5.zip
nfs41: Invoke RECLAIM_COMPLETE
This patch invokes RECLAIM_COMPLETE after the client is done reclaiming state. There are interpretations of the spec that suggest that RECLAIM_COMPLETE should also be issued after a new clientid has been obtained from the server and even if there is no state to reclaim. This tells the server that the client has no state to reclaim even if the client isn't aware the server may have rebooted. Signed-off-by: Ricardo Labiaga <Ricardo.Labiaga@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs')
-rw-r--r--fs/nfs/nfs4state.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c
index f2d2dc497551..873dda7fec3e 100644
--- a/fs/nfs/nfs4state.c
+++ b/fs/nfs/nfs4state.c
@@ -1046,6 +1046,9 @@ static void nfs4_state_end_reclaim_reboot(struct nfs_client *clp)
struct rb_node *pos;
struct nfs4_state *state;
+ nfs4_reclaim_complete(clp,
+ nfs4_reboot_recovery_ops[clp->cl_minorversion]);
+
if (!test_and_clear_bit(NFS4CLNT_RECLAIM_REBOOT, &clp->cl_state))
return;