From: Yanchuan Nian <[email protected]>
In alloc_session(), numslots is the correct slot number used by the session.
But the slot number passed to nfsd4_put_drc_mem() is the one from nfs client.
Signed-off-by: Yanchuan Nian <[email protected]>
---
fs/nfsd/nfs4state.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index ac8ed96..29924a0 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -905,7 +905,7 @@ static struct nfsd4_session *alloc_session(struct nfsd4_channel_attrs *fchan,
new = __alloc_session(slotsize, numslots);
if (!new) {
- nfsd4_put_drc_mem(slotsize, fchan->maxreqs);
+ nfsd4_put_drc_mem(slotsize, numslots);
return NULL;
}
init_forechannel_attrs(&new->se_fchannel, fchan, numslots, slotsize, nn);
--
1.7.4.4
On Mon, Dec 24, 2012 at 06:11:27PM +0800, [email protected] wrote:
> From: Yanchuan Nian <[email protected]>
>
> In alloc_session(), numslots is the correct slot number used by the session.
> But the slot number passed to nfsd4_put_drc_mem() is the one from nfs client.
Thanks, applying for 3.9.--b.
>
> Signed-off-by: Yanchuan Nian <[email protected]>
> ---
> fs/nfsd/nfs4state.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
> index ac8ed96..29924a0 100644
> --- a/fs/nfsd/nfs4state.c
> +++ b/fs/nfsd/nfs4state.c
> @@ -905,7 +905,7 @@ static struct nfsd4_session *alloc_session(struct nfsd4_channel_attrs *fchan,
>
> new = __alloc_session(slotsize, numslots);
> if (!new) {
> - nfsd4_put_drc_mem(slotsize, fchan->maxreqs);
> + nfsd4_put_drc_mem(slotsize, numslots);
> return NULL;
> }
> init_forechannel_attrs(&new->se_fchannel, fchan, numslots, slotsize, nn);
> --
> 1.7.4.4
>