diff options
author | Benny Halevy <bhalevy@primarydata.com> | 2013-10-15 02:58:00 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2013-10-28 15:58:32 -0400 |
commit | 7ebe40f20372688a627ad6c754bc0d1c05df58a9 (patch) | |
tree | 263b3862b1f38fa7c311f92613394b05a825aeb1 /fs | |
parent | 5d7dab83e3e55e81a88c406da71afde0ebaa6ad8 (diff) |
nfsd: remove_stid can be incorporated into nfs4_put_delegation
All calls to nfs4_put_delegation are preceded with remove_stid.
Signed-off-by: Benny Halevy <bhalevy@primarydata.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/nfsd/nfs4state.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 3feb38e818ab..77dfc5a6a011 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c | |||
@@ -410,6 +410,7 @@ static void nfs4_free_stid(struct kmem_cache *slab, struct nfs4_stid *s) | |||
410 | void | 410 | void |
411 | nfs4_put_delegation(struct nfs4_delegation *dp) | 411 | nfs4_put_delegation(struct nfs4_delegation *dp) |
412 | { | 412 | { |
413 | remove_stid(&dp->dl_stid); | ||
413 | if (atomic_dec_and_test(&dp->dl_count)) { | 414 | if (atomic_dec_and_test(&dp->dl_count)) { |
414 | nfs4_free_stid(deleg_slab, &dp->dl_stid); | 415 | nfs4_free_stid(deleg_slab, &dp->dl_stid); |
415 | num_delegations--; | 416 | num_delegations--; |
@@ -450,14 +451,12 @@ unhash_delegation(struct nfs4_delegation *dp) | |||
450 | static void destroy_revoked_delegation(struct nfs4_delegation *dp) | 451 | static void destroy_revoked_delegation(struct nfs4_delegation *dp) |
451 | { | 452 | { |
452 | list_del_init(&dp->dl_recall_lru); | 453 | list_del_init(&dp->dl_recall_lru); |
453 | remove_stid(&dp->dl_stid); | ||
454 | nfs4_put_delegation(dp); | 454 | nfs4_put_delegation(dp); |
455 | } | 455 | } |
456 | 456 | ||
457 | static void destroy_delegation(struct nfs4_delegation *dp) | 457 | static void destroy_delegation(struct nfs4_delegation *dp) |
458 | { | 458 | { |
459 | unhash_delegation(dp); | 459 | unhash_delegation(dp); |
460 | remove_stid(&dp->dl_stid); | ||
461 | nfs4_put_delegation(dp); | 460 | nfs4_put_delegation(dp); |
462 | } | 461 | } |
463 | 462 | ||
@@ -3159,7 +3158,6 @@ nfs4_open_delegation(struct net *net, struct svc_fh *fh, | |||
3159 | open->op_delegate_type = NFS4_OPEN_DELEGATE_READ; | 3158 | open->op_delegate_type = NFS4_OPEN_DELEGATE_READ; |
3160 | return; | 3159 | return; |
3161 | out_free: | 3160 | out_free: |
3162 | remove_stid(&dp->dl_stid); | ||
3163 | nfs4_put_delegation(dp); | 3161 | nfs4_put_delegation(dp); |
3164 | out_no_deleg: | 3162 | out_no_deleg: |
3165 | open->op_delegate_type = NFS4_OPEN_DELEGATE_NONE; | 3163 | open->op_delegate_type = NFS4_OPEN_DELEGATE_NONE; |