2013-03-27 23:48:36

by Alexandru Gheorghiu

[permalink] [raw]
Subject: [PATCH] fs: f2fs: Use kmemdup

Used kmemdup instead of kzalloc and memcpy.

Signed-off-by: Alexandru Gheorghiu <[email protected]>
---
fs/f2fs/node.c | 11 ++++-------
fs/f2fs/segment.c | 3 +--
2 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
index e275218..920f53a 100644
--- a/fs/f2fs/node.c
+++ b/fs/f2fs/node.c
@@ -1661,19 +1661,16 @@ static int init_node_manager(struct f2fs_sb_info *sbi)
spin_lock_init(&nm_i->free_nid_list_lock);
rwlock_init(&nm_i->nat_tree_lock);

- nm_i->bitmap_size = __bitmap_size(sbi, NAT_BITMAP);
nm_i->init_scan_nid = le32_to_cpu(sbi->ckpt->next_free_nid);
nm_i->next_scan_nid = le32_to_cpu(sbi->ckpt->next_free_nid);
-
- nm_i->nat_bitmap = kzalloc(nm_i->bitmap_size, GFP_KERNEL);
- if (!nm_i->nat_bitmap)
- return -ENOMEM;
+ nm_i->bitmap_size = __bitmap_size(sbi, NAT_BITMAP);
version_bitmap = __bitmap_ptr(sbi, NAT_BITMAP);
if (!version_bitmap)
return -EFAULT;

- /* copy version bitmap */
- memcpy(nm_i->nat_bitmap, version_bitmap, nm_i->bitmap_size);
+ nm_i->nat_bitmap = kmemdup(version_bitmap, nm_i->bitmap_size, GFP_KERNEL);
+ if (!nm_i->nat_bitmap)
+ return -ENOMEM;
return 0;
}

diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 777f17e..1758149 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -1403,10 +1403,9 @@ static int build_sit_info(struct f2fs_sb_info *sbi)
bitmap_size = __bitmap_size(sbi, SIT_BITMAP);
src_bitmap = __bitmap_ptr(sbi, SIT_BITMAP);

- dst_bitmap = kzalloc(bitmap_size, GFP_KERNEL);
+ dst_bitmap = kmemdup(src_bitmap, bitmap_size, GFP_KERNEL);
if (!dst_bitmap)
return -ENOMEM;
- memcpy(dst_bitmap, src_bitmap, bitmap_size);

/* init SIT information */
sit_i->s_ops = &default_salloc_ops;
--
1.7.9.5


2013-03-28 00:05:37

by Namjae Jeon

[permalink] [raw]
Subject: Re: [PATCH] fs: f2fs: Use kmemdup

2013/3/28, Alexandru Gheorghiu <[email protected]>:
> Used kmemdup instead of kzalloc and memcpy.
>
> Signed-off-by: Alexandru Gheorghiu <[email protected]>
> ---
> fs/f2fs/node.c | 11 ++++-------
> fs/f2fs/segment.c | 3 +--
> 2 files changed, 5 insertions(+), 9 deletions(-)
>
> diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
> index e275218..920f53a 100644
> --- a/fs/f2fs/node.c
> +++ b/fs/f2fs/node.c
> @@ -1661,19 +1661,16 @@ static int init_node_manager(struct f2fs_sb_info
> *sbi)
> spin_lock_init(&nm_i->free_nid_list_lock);
> rwlock_init(&nm_i->nat_tree_lock);
>
> - nm_i->bitmap_size = __bitmap_size(sbi, NAT_BITMAP);
> nm_i->init_scan_nid = le32_to_cpu(sbi->ckpt->next_free_nid);
> nm_i->next_scan_nid = le32_to_cpu(sbi->ckpt->next_free_nid);
> -
> - nm_i->nat_bitmap = kzalloc(nm_i->bitmap_size, GFP_KERNEL);
> - if (!nm_i->nat_bitmap)
> - return -ENOMEM;
> + nm_i->bitmap_size = __bitmap_size(sbi, NAT_BITMAP);
> version_bitmap = __bitmap_ptr(sbi, NAT_BITMAP);
> if (!version_bitmap)
> return -EFAULT;
>
> - /* copy version bitmap */
> - memcpy(nm_i->nat_bitmap, version_bitmap, nm_i->bitmap_size);
> + nm_i->nat_bitmap = kmemdup(version_bitmap, nm_i->bitmap_size,
> GFP_KERNEL);
maybe, this line is over 80 characters.
plz fix it after running checkpatch.pl.
Thanks.

> + if (!nm_i->nat_bitmap)
> + return -ENOMEM;
> return 0;
> }
>
> diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
> index 777f17e..1758149 100644
> --- a/fs/f2fs/segment.c
> +++ b/fs/f2fs/segment.c
> @@ -1403,10 +1403,9 @@ static int build_sit_info(struct f2fs_sb_info *sbi)
> bitmap_size = __bitmap_size(sbi, SIT_BITMAP);
> src_bitmap = __bitmap_ptr(sbi, SIT_BITMAP);
>
> - dst_bitmap = kzalloc(bitmap_size, GFP_KERNEL);
> + dst_bitmap = kmemdup(src_bitmap, bitmap_size, GFP_KERNEL);
> if (!dst_bitmap)
> return -ENOMEM;
> - memcpy(dst_bitmap, src_bitmap, bitmap_size);
>
> /* init SIT information */
> sit_i->s_ops = &default_salloc_ops;
> --
> 1.7.9.5
>
>