2012-10-24 06:53:19

by Yanchuan Nian

[permalink] [raw]
Subject: [PATCH] nfs: fix wrong object type in lockowner_slab

From: Yanchuan Nian <[email protected]>

The object type in the cache of lockowner_slab is wrong, and it is better to fix it.

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 cc894ed..1609eb2 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -2325,7 +2325,7 @@ nfsd4_init_slabs(void)
if (openowner_slab == NULL)
goto out_nomem;
lockowner_slab = kmem_cache_create("nfsd4_lockowners",
- sizeof(struct nfs4_openowner), 0, 0, NULL);
+ sizeof(struct nfs4_lockowner), 0, 0, NULL);
if (lockowner_slab == NULL)
goto out_nomem;
file_slab = kmem_cache_create("nfsd4_files",
--
1.7.4.4



2012-10-24 19:42:27

by J. Bruce Fields

[permalink] [raw]
Subject: Re: [PATCH] nfs: fix wrong object type in lockowner_slab

On Wed, Oct 24, 2012 at 02:44:19PM +0800, [email protected] wrote:
> From: Yanchuan Nian <[email protected]>
>
> The object type in the cache of lockowner_slab is wrong, and it is better to fix it.
>
> 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 cc894ed..1609eb2 100644
> --- a/fs/nfsd/nfs4state.c
> +++ b/fs/nfsd/nfs4state.c
> @@ -2325,7 +2325,7 @@ nfsd4_init_slabs(void)
> if (openowner_slab == NULL)
> goto out_nomem;
> lockowner_slab = kmem_cache_create("nfsd4_lockowners",
> - sizeof(struct nfs4_openowner), 0, 0, NULL);
> + sizeof(struct nfs4_lockowner), 0, 0, NULL);

Thanks!

The first three fields of each are the same, the rest is:

struct nfs4_openowner {
...
pointer
time_t
unsigned char
}

struct nfs4_lockowner {
...
struct list_head
}

Is it always true that

sizeof(struct nfs4_openowner) >= sizeof9struct nfs4_lockowner)

? I think so, in which case this isn't urgent.... Applying for 3.8.

--b.

> if (lockowner_slab == NULL)
> goto out_nomem;
> file_slab = kmem_cache_create("nfsd4_files",
> --
> 1.7.4.4
>