diff options
| -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 fcb9817881a..c1713711041 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); |
