nfsd4: don't set cl_firststate on first reclaim in 4.1 case
authorJ. Bruce Fields <bfields@redhat.com>
Tue, 6 Mar 2012 19:35:16 +0000 (14:35 -0500)
committerJ. Bruce Fields <bfields@redhat.com>
Tue, 6 Mar 2012 23:13:23 +0000 (18:13 -0500)
commit1255a8f36cb16a02540bdad91c0bc0971b9fb429
tree5e1d41dbe476ad5845bb17823a55a27a85ff2f93
parentd24433cdc91c0ed15938d2a6ee9e3e1b00fcfaa3
nfsd4: don't set cl_firststate on first reclaim in 4.1 case

We set cl_firststate when we first decide that a client will be
permitted to reclaim state on next boot.  This happens:

- for new 4.0 clients, when they confirm their first open
- for returning 4.0 clients, when they reclaim their first open
- for 4.1+ clients, when they perform reclaim_complete

We also use cl_firststate to decide whether a reclaim_complete has
already been performed, in the 4.1+ case.

We were setting it on 4.1 open reclaims, which caused spurious
COMPLETE_ALREADY errors on RECLAIM_COMPLETE from an nfs4.1 client with
anything to reclaim.

Reported-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfs4state.c