diff options
author | Benny Halevy <bhalevy@primarydata.com> | 2013-10-14 02:01:55 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2013-10-29 10:03:27 -0400 |
commit | 01a87d91fcecced2e2bdcd797794b4ede1f64b77 (patch) | |
tree | 57fb22fa650d039308aa69a7a6fa5453187b90e6 /fs/nfsd | |
parent | 7ebe40f20372688a627ad6c754bc0d1c05df58a9 (diff) |
nfsd: no need to unhash_stid before free
idr_remove is about to be called before kmem_cache_free so unhashing it
is redundant
Signed-off-by: Benny Halevy <bhalevy@primarydata.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd')
-rw-r--r-- | fs/nfsd/nfs4state.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 77dfc5a6a011..a90949aefe80 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c | |||
@@ -672,7 +672,6 @@ static void unhash_open_stateid(struct nfs4_ol_stateid *stp) | |||
672 | static void release_open_stateid(struct nfs4_ol_stateid *stp) | 672 | static void release_open_stateid(struct nfs4_ol_stateid *stp) |
673 | { | 673 | { |
674 | unhash_open_stateid(stp); | 674 | unhash_open_stateid(stp); |
675 | unhash_stid(&stp->st_stid); | ||
676 | free_generic_stateid(stp); | 675 | free_generic_stateid(stp); |
677 | } | 676 | } |
678 | 677 | ||
@@ -694,7 +693,6 @@ static void release_last_closed_stateid(struct nfs4_openowner *oo) | |||
694 | struct nfs4_ol_stateid *s = oo->oo_last_closed_stid; | 693 | struct nfs4_ol_stateid *s = oo->oo_last_closed_stid; |
695 | 694 | ||
696 | if (s) { | 695 | if (s) { |
697 | unhash_stid(&s->st_stid); | ||
698 | free_generic_stateid(s); | 696 | free_generic_stateid(s); |
699 | oo->oo_last_closed_stid = NULL; | 697 | oo->oo_last_closed_stid = NULL; |
700 | } | 698 | } |
@@ -3998,10 +3996,9 @@ nfsd4_close(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, | |||
3998 | 3996 | ||
3999 | nfsd4_close_open_stateid(stp); | 3997 | nfsd4_close_open_stateid(stp); |
4000 | 3998 | ||
4001 | if (cstate->minorversion) { | 3999 | if (cstate->minorversion) |
4002 | unhash_stid(&stp->st_stid); | ||
4003 | free_generic_stateid(stp); | 4000 | free_generic_stateid(stp); |
4004 | } else | 4001 | else |
4005 | oo->oo_last_closed_stid = stp; | 4002 | oo->oo_last_closed_stid = stp; |
4006 | 4003 | ||
4007 | if (list_empty(&oo->oo_owner.so_stateids)) { | 4004 | if (list_empty(&oo->oo_owner.so_stateids)) { |