diff options
| author | Ingo Molnar <mingo@elte.hu> | 2011-04-18 14:53:18 +0200 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2011-04-18 14:53:33 +0200 |
| commit | 6ddafdaab3f809b110ada253d2f2d4910ebd3ac5 (patch) | |
| tree | 366bb7513511a05b6e11ab89bfe3b2dbd1d62a03 /fs/nfsd/nfs4state.c | |
| parent | 3905c54f2bd2c6f937f87307987ca072eabc3e7b (diff) | |
| parent | bd8e7dded88a3e1c085c333f19ff31387616f71a (diff) | |
Merge branch 'sched/locking' into sched/core
Merge reason: the rq locking changes are stable,
propagate them into the .40 queue.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'fs/nfsd/nfs4state.c')
| -rw-r--r-- | fs/nfsd/nfs4state.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 4b36ec3eb8e..aa309aa93fe 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c @@ -397,10 +397,13 @@ static void unhash_generic_stateid(struct nfs4_stateid *stp) static void free_generic_stateid(struct nfs4_stateid *stp) { - int oflag = nfs4_access_bmap_to_omode(stp); + int oflag; - nfs4_file_put_access(stp->st_file, oflag); - put_nfs4_file(stp->st_file); + if (stp->st_access_bmap) { + oflag = nfs4_access_bmap_to_omode(stp); + nfs4_file_put_access(stp->st_file, oflag); + put_nfs4_file(stp->st_file); + } kmem_cache_free(stateid_slab, stp); } |
