NFSv4.1: Handle SEQ4_STATUS_RECALLABLE_STATE_REVOKED status bit correctly
Try to handle this for now by invalidating all outstanding layouts for this server and then testing all the open+lock+delegation stateids. At some later stage, we may want to optimise by separating out the testing of delegation stateids only, and adding testing of layout stateids. Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
This commit is contained in:
parent
8b895ce652
commit
4099287feb
1 changed files with 4 additions and 2 deletions
|
@ -2207,8 +2207,10 @@ static void nfs41_handle_some_state_revoked(struct nfs_client *clp)
|
|||
|
||||
static void nfs41_handle_recallable_state_revoked(struct nfs_client *clp)
|
||||
{
|
||||
/* This will need to handle layouts too */
|
||||
nfs_expire_all_delegations(clp);
|
||||
/* FIXME: For now, we destroy all layouts. */
|
||||
pnfs_destroy_all_layouts(clp);
|
||||
/* FIXME: For now, we test all delegations+open state+locks. */
|
||||
nfs41_handle_some_state_revoked(clp);
|
||||
dprintk("%s: Recallable state revoked on server %s!\n", __func__,
|
||||
clp->cl_hostname);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue