projects
/
GitHub
/
MotorolaMobilityLLC
/
kernel-slsi.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
331818f
)
NFSv4: Ensure we throw out bad delegation stateids on NFS4ERR_BAD_STATEID
author
Trond Myklebust
<Trond.Myklebust@netapp.com>
Thu, 9 Feb 2012 20:31:36 +0000
(15:31 -0500)
committer
Trond Myklebust
<Trond.Myklebust@netapp.com>
Thu, 9 Feb 2012 20:59:21 +0000
(15:59 -0500)
To ensure that we don't just reuse the bad delegation when we attempt to
recover the nfs4_state that received the bad stateid error.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: stable@vger.kernel.org
fs/nfs/nfs4state.c
patch
|
blob
|
blame
|
history
diff --git
a/fs/nfs/nfs4state.c
b/fs/nfs/nfs4state.c
index a53f33b4ac3a5cf333afe80b358f27fe4130289f..45392032e7bd60b85b00fb74f86ca99a603e31d4 100644
(file)
--- a/
fs/nfs/nfs4state.c
+++ b/
fs/nfs/nfs4state.c
@@
-1132,6
+1132,8
@@
void nfs4_schedule_stateid_recovery(const struct nfs_server *server, struct nfs4
{
struct nfs_client *clp = server->nfs_client;
+ if (test_and_clear_bit(NFS_DELEGATED_STATE, &state->flags))
+ nfs_async_inode_return_delegation(state->inode, &state->stateid);
nfs4_state_mark_reclaim_nograce(clp, state);
nfs4_schedule_state_manager(clp);
}