]> git.baikalelectronics.ru Git - kernel.git/commit
nfsd4: implement SEQ4_STATUS_RECALLABLE_STATE_REVOKED
authorJ. Bruce Fields <bfields@redhat.com>
Tue, 9 Apr 2013 21:02:51 +0000 (17:02 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Tue, 16 Apr 2013 14:59:30 +0000 (10:59 -0400)
commitb3bb82dd9611bf44edf5e0c88f2a57df63a8ab19
treec968f3f51d6082d3c7f0a03ec3d9fdaa031e6593
parent751829fe8067dc5a5eae63686d945cc750bb4011
nfsd4: implement SEQ4_STATUS_RECALLABLE_STATE_REVOKED

A 4.1 server must notify a client that has had any state revoked using
the SEQ4_STATUS_RECALLABLE_STATE_REVOKED flag.  The client can figure
out exactly which state is the problem using CHECK_STATEID and then free
it using FREE_STATEID.  The status flag will be unset once all such
revoked stateids are freed.

Our server's only recallable state is delegations.  So we keep with each
4.1 client a list of delegations that have timed out and been recalled,
but haven't yet been freed by FREE_STATEID.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfs4state.c
fs/nfsd/state.h