nfs41: Invoke RECLAIM_COMPLETE
authorRicardo Labiaga <Ricardo.Labiaga@netapp.com>
Sat, 5 Dec 2009 21:08:41 +0000 (16:08 -0500)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Sat, 5 Dec 2009 21:08:41 +0000 (16:08 -0500)
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>
fs/nfs/nfs4state.c

index f2d2dc497551dd1668d409a97790632a36f88e05..873dda7fec3e4212dcd50020e585bfdc07ebeff3 100644 (file)
@@ -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;