diff options
Diffstat (limited to 'fs/nfsd/nfs4state.c')
-rw-r--r-- | fs/nfsd/nfs4state.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index fcb9817881a1..c17137110412 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c | |||
@@ -629,10 +629,13 @@ void | |||
629 | free_session(struct kref *kref) | 629 | free_session(struct kref *kref) |
630 | { | 630 | { |
631 | struct nfsd4_session *ses; | 631 | struct nfsd4_session *ses; |
632 | int mem; | ||
632 | 633 | ||
633 | ses = container_of(kref, struct nfsd4_session, se_ref); | 634 | ses = container_of(kref, struct nfsd4_session, se_ref); |
634 | spin_lock(&nfsd_drc_lock); | 635 | spin_lock(&nfsd_drc_lock); |
635 | nfsd_drc_mem_used -= ses->se_fchannel.maxreqs * NFSD_SLOT_CACHE_SIZE; | 636 | mem = ses->se_fchannel.maxreqs |
637 | * (ses->se_fchannel.maxresp_cached - NFSD_MIN_HDR_SEQ_SZ); | ||
638 | nfsd_drc_mem_used -= mem; | ||
636 | spin_unlock(&nfsd_drc_lock); | 639 | spin_unlock(&nfsd_drc_lock); |
637 | free_session_slots(ses); | 640 | free_session_slots(ses); |
638 | kfree(ses); | 641 | kfree(ses); |