2013-10-14 06:04:55

by Benny Halevy

[permalink] [raw]
Subject: [PATCH] nfsd: cleanup free_stid

Make it symmetric to alloc_stid

Signed-off-by: Benny Halevy <[email protected]>
---
fs/nfsd/nfs4state.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index 06984e3..c6625f2 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -402,11 +402,16 @@ static void remove_stid(struct nfs4_stid *s)
idr_remove(stateids, s->sc_stateid.si_opaque.so_id);
}

+static void free_stid(struct kmem_cache *slab, struct nfs4_stid *s)
+{
+ kmem_cache_free(slab, s);
+}
+
void
nfs4_put_delegation(struct nfs4_delegation *dp)
{
if (atomic_dec_and_test(&dp->dl_count)) {
- kmem_cache_free(deleg_slab, dp);
+ free_stid(deleg_slab, &dp->dl_stid);
num_delegations--;
}
}
@@ -610,7 +615,7 @@ static void close_generic_stateid(struct nfs4_ol_stateid *stp)
static void free_generic_stateid(struct nfs4_ol_stateid *stp)
{
remove_stid(&stp->st_stid);
- kmem_cache_free(stateid_slab, stp);
+ free_stid(stateid_slab, &stp->st_stid);
}

static void release_lock_stateid(struct nfs4_ol_stateid *stp)
--
1.8.3.1



2013-10-14 10:44:58

by Benny Halevy

[permalink] [raw]
Subject: [PATCH v2] nfsd: nfs4_free_stid

Make it symmetric to nfs4_alloc_stid.

Signed-off-by: Benny Halevy <[email protected]>
---
fs/nfsd/nfs4state.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index 06984e3..64c167f 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -402,11 +402,16 @@ static void remove_stid(struct nfs4_stid *s)
idr_remove(stateids, s->sc_stateid.si_opaque.so_id);
}

+static void nfs4_free_stid(struct kmem_cache *slab, struct nfs4_stid *s)
+{
+ kmem_cache_free(slab, s);
+}
+
void
nfs4_put_delegation(struct nfs4_delegation *dp)
{
if (atomic_dec_and_test(&dp->dl_count)) {
- kmem_cache_free(deleg_slab, dp);
+ nfs4_free_stid(deleg_slab, &dp->dl_stid);
num_delegations--;
}
}
@@ -610,7 +615,7 @@ static void close_generic_stateid(struct nfs4_ol_stateid *stp)
static void free_generic_stateid(struct nfs4_ol_stateid *stp)
{
remove_stid(&stp->st_stid);
- kmem_cache_free(stateid_slab, stp);
+ nfs4_free_stid(stateid_slab, &stp->st_stid);
}

static void release_lock_stateid(struct nfs4_ol_stateid *stp)
--
1.8.3.1


2013-10-28 19:43:28

by J. Bruce Fields

[permalink] [raw]
Subject: Re: [PATCH v2] nfsd: nfs4_free_stid

On Mon, Oct 14, 2013 at 01:44:52PM +0300, Benny Halevy wrote:
> Make it symmetric to nfs4_alloc_stid.

OK, applying.--b.

>
> Signed-off-by: Benny Halevy <[email protected]>
> ---
> fs/nfsd/nfs4state.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
> index 06984e3..64c167f 100644
> --- a/fs/nfsd/nfs4state.c
> +++ b/fs/nfsd/nfs4state.c
> @@ -402,11 +402,16 @@ static void remove_stid(struct nfs4_stid *s)
> idr_remove(stateids, s->sc_stateid.si_opaque.so_id);
> }
>
> +static void nfs4_free_stid(struct kmem_cache *slab, struct nfs4_stid *s)
> +{
> + kmem_cache_free(slab, s);
> +}
> +
> void
> nfs4_put_delegation(struct nfs4_delegation *dp)
> {
> if (atomic_dec_and_test(&dp->dl_count)) {
> - kmem_cache_free(deleg_slab, dp);
> + nfs4_free_stid(deleg_slab, &dp->dl_stid);
> num_delegations--;
> }
> }
> @@ -610,7 +615,7 @@ static void close_generic_stateid(struct nfs4_ol_stateid *stp)
> static void free_generic_stateid(struct nfs4_ol_stateid *stp)
> {
> remove_stid(&stp->st_stid);
> - kmem_cache_free(stateid_slab, stp);
> + nfs4_free_stid(stateid_slab, &stp->st_stid);
> }
>
> static void release_lock_stateid(struct nfs4_ol_stateid *stp)
> --
> 1.8.3.1
>