diff options
author | Ricardo Labiaga <Ricardo.Labiaga@netapp.com> | 2009-12-05 16:08:41 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2009-12-05 16:08:41 -0500 |
commit | da6ebfe34a3921cfb47b938fb819abc78c6080e5 (patch) | |
tree | 5206813e9df45fe6fd0f2fb57f315755e75e3172 /fs | |
parent | fce5c838e13392cc88a1330d1471fe6419e02ed7 (diff) |
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')
-rw-r--r-- | fs/nfs/nfs4state.c | 3 |
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) | |||
1046 | struct rb_node *pos; | 1046 | struct rb_node *pos; |
1047 | struct nfs4_state *state; | 1047 | struct nfs4_state *state; |
1048 | 1048 | ||
1049 | nfs4_reclaim_complete(clp, | ||
1050 | nfs4_reboot_recovery_ops[clp->cl_minorversion]); | ||
1051 | |||
1049 | if (!test_and_clear_bit(NFS4CLNT_RECLAIM_REBOOT, &clp->cl_state)) | 1052 | if (!test_and_clear_bit(NFS4CLNT_RECLAIM_REBOOT, &clp->cl_state)) |
1050 | return; | 1053 | return; |
1051 | 1054 | ||