[PATCH 1/1] afs: afs_alloc_inode: use kmem_cache_zalloc

From: Fabian Frederick
Date: Thu Feb 20 2014 - 16:14:56 EST


afs_vnode is currently cleared with 2 memsets after allocation and
1 in constructor (afs_i_init_once).
-This patch calls zalloc for explicit zero fill.
-Fix some typos.

Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
---
fs/afs/super.c | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/fs/afs/super.c b/fs/afs/super.c
index c486155..e1fc569 100644
--- a/fs/afs/super.c
+++ b/fs/afs/super.c
@@ -76,7 +76,7 @@ static const match_table_t afs_options_list = {
};

/*
- * initialise the filesystem
+ * Initialize the filesystem
*/
int __init afs_fs_init(void)
{
@@ -448,19 +448,19 @@ error:
static void afs_kill_super(struct super_block *sb)
{
struct afs_super_info *as = sb->s_fs_info;
+
kill_anon_super(sb);
afs_put_volume(as->volume);
kfree(as);
}

/*
- * initialise an inode cache slab element prior to any use
+ * Initialize an inode cache slab element prior to any use
*/
static void afs_i_init_once(void *_vnode)
{
struct afs_vnode *vnode = _vnode;

- memset(vnode, 0, sizeof(*vnode));
inode_init_once(&vnode->vfs_inode);
init_waitqueue_head(&vnode->update_waitq);
mutex_init(&vnode->permits_lock);
@@ -481,15 +481,12 @@ static struct inode *afs_alloc_inode(struct super_block *sb)
{
struct afs_vnode *vnode;

- vnode = kmem_cache_alloc(afs_inode_cachep, GFP_KERNEL);
+ vnode = kmem_cache_zalloc(afs_inode_cachep, GFP_KERNEL);
if (!vnode)
return NULL;

atomic_inc(&afs_count_active_inodes);

- memset(&vnode->fid, 0, sizeof(vnode->fid));
- memset(&vnode->status, 0, sizeof(vnode->status));
-
vnode->volume = NULL;
vnode->update_cnt = 0;
vnode->flags = 1 << AFS_VNODE_UNSET;
@@ -503,6 +500,7 @@ static void afs_i_callback(struct rcu_head *head)
{
struct inode *inode = container_of(head, struct inode, i_rcu);
struct afs_vnode *vnode = AFS_FS_I(inode);
+
kmem_cache_free(afs_inode_cachep, vnode);
}

--
1.8.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/