ext4: use ext4_kvzalloc()/ext4_kvmalloc() for s_group_desc and s_group_info
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
This commit is contained in:
parent
9933fc0ac1
commit
f18a5f21c2
3 changed files with 15 additions and 13 deletions
|
@ -467,12 +467,13 @@ static int add_new_gdb(handle_t *handle, struct inode *inode,
|
|||
if (unlikely(err))
|
||||
goto exit_dindj;
|
||||
|
||||
n_group_desc = kmalloc((gdb_num + 1) * sizeof(struct buffer_head *),
|
||||
GFP_NOFS);
|
||||
n_group_desc = ext4_kvmalloc((gdb_num + 1) *
|
||||
sizeof(struct buffer_head *),
|
||||
GFP_NOFS);
|
||||
if (!n_group_desc) {
|
||||
err = -ENOMEM;
|
||||
ext4_warning(sb,
|
||||
"not enough memory for %lu groups", gdb_num + 1);
|
||||
ext4_warning(sb, "not enough memory for %lu groups",
|
||||
gdb_num + 1);
|
||||
goto exit_inode;
|
||||
}
|
||||
|
||||
|
@ -507,7 +508,7 @@ static int add_new_gdb(handle_t *handle, struct inode *inode,
|
|||
n_group_desc[gdb_num] = gdb_bh;
|
||||
EXT4_SB(sb)->s_group_desc = n_group_desc;
|
||||
EXT4_SB(sb)->s_gdb_count++;
|
||||
kfree(o_group_desc);
|
||||
ext4_kvfree(o_group_desc);
|
||||
|
||||
le16_add_cpu(&es->s_reserved_gdt_blocks, -1);
|
||||
err = ext4_handle_dirty_metadata(handle, NULL, EXT4_SB(sb)->s_sbh);
|
||||
|
@ -517,7 +518,7 @@ static int add_new_gdb(handle_t *handle, struct inode *inode,
|
|||
return err;
|
||||
|
||||
exit_inode:
|
||||
kfree(n_group_desc);
|
||||
ext4_kvfree(n_group_desc);
|
||||
/* ext4_handle_release_buffer(handle, iloc.bh); */
|
||||
brelse(iloc.bh);
|
||||
exit_dindj:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue