Skip to content

Commit e9705c6

Browse files
Jiazi LiJaegeuk Kim
authored andcommitted
f2fs: use kfree() instead of kvfree() to free some memory
options in f2fs_fill_super is alloc by kstrdup: options = kstrdup((const char *)data, GFP_KERNEL) sit_bitmap[_mir], nat_bitmap[_mir] are alloc by kmemdup: sit_i->sit_bitmap = kmemdup(src_bitmap, sit_bitmap_size, GFP_KERNEL); sit_i->sit_bitmap_mir = kmemdup(src_bitmap, sit_bitmap_size, GFP_KERNEL); nm_i->nat_bitmap = kmemdup(version_bitmap, nm_i->bitmap_size, GFP_KERNEL); nm_i->nat_bitmap_mir = kmemdup(version_bitmap, nm_i->bitmap_size, GFP_KERNEL); write_io is alloc by f2fs_kmalloc: sbi->write_io[i] = f2fs_kmalloc(sbi, array_size(n, sizeof(struct f2fs_bio_info)) Use kfree is more efficient. Signed-off-by: Jiazi Li <[email protected]> Signed-off-by: peixuan.qiu <[email protected]> Reviewed-by: Chao Yu <[email protected]> Signed-off-by: Jaegeuk Kim <[email protected]>
1 parent 8f46885 commit e9705c6

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

fs/f2fs/node.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3408,10 +3408,10 @@ void f2fs_destroy_node_manager(struct f2fs_sb_info *sbi)
34083408
}
34093409
kvfree(nm_i->free_nid_count);
34103410

3411-
kvfree(nm_i->nat_bitmap);
3411+
kfree(nm_i->nat_bitmap);
34123412
kvfree(nm_i->nat_bits);
34133413
#ifdef CONFIG_F2FS_CHECK_FS
3414-
kvfree(nm_i->nat_bitmap_mir);
3414+
kfree(nm_i->nat_bitmap_mir);
34153415
#endif
34163416
sbi->nm_info = NULL;
34173417
kfree(nm_i);

fs/f2fs/segment.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5813,9 +5813,9 @@ static void destroy_sit_info(struct f2fs_sb_info *sbi)
58135813
kvfree(sit_i->dirty_sentries_bitmap);
58145814

58155815
SM_I(sbi)->sit_info = NULL;
5816-
kvfree(sit_i->sit_bitmap);
5816+
kfree(sit_i->sit_bitmap);
58175817
#ifdef CONFIG_F2FS_CHECK_FS
5818-
kvfree(sit_i->sit_bitmap_mir);
5818+
kfree(sit_i->sit_bitmap_mir);
58195819
kvfree(sit_i->invalid_segmap);
58205820
#endif
58215821
kfree(sit_i);

fs/f2fs/super.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1718,7 +1718,7 @@ static void f2fs_put_super(struct super_block *sb)
17181718
destroy_percpu_info(sbi);
17191719
f2fs_destroy_iostat(sbi);
17201720
for (i = 0; i < NR_PAGE_TYPE; i++)
1721-
kvfree(sbi->write_io[i]);
1721+
kfree(sbi->write_io[i]);
17221722
#if IS_ENABLED(CONFIG_UNICODE)
17231723
utf8_unload(sb->s_encoding);
17241724
#endif
@@ -4935,7 +4935,7 @@ static int f2fs_fill_super(struct super_block *sb, void *data, int silent)
49354935
if (err)
49364936
goto sync_free_meta;
49374937
}
4938-
kvfree(options);
4938+
kfree(options);
49394939

49404940
/* recover broken superblock */
49414941
if (recovery) {
@@ -5018,7 +5018,7 @@ static int f2fs_fill_super(struct super_block *sb, void *data, int silent)
50185018
f2fs_destroy_iostat(sbi);
50195019
free_bio_info:
50205020
for (i = 0; i < NR_PAGE_TYPE; i++)
5021-
kvfree(sbi->write_io[i]);
5021+
kfree(sbi->write_io[i]);
50225022

50235023
#if IS_ENABLED(CONFIG_UNICODE)
50245024
utf8_unload(sb->s_encoding);
@@ -5030,7 +5030,7 @@ static int f2fs_fill_super(struct super_block *sb, void *data, int silent)
50305030
kfree(F2FS_OPTION(sbi).s_qf_names[i]);
50315031
#endif
50325032
fscrypt_free_dummy_policy(&F2FS_OPTION(sbi).dummy_enc_policy);
5033-
kvfree(options);
5033+
kfree(options);
50345034
free_sb_buf:
50355035
kfree(raw_super);
50365036
free_sbi:

0 commit comments

Comments
 (0)