diff options
author | Theodore Ts'o <tytso@mit.edu> | 2011-08-01 08:45:38 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2011-08-01 08:45:38 -0400 |
commit | f18a5f21c25707b4fe64b326e2b4d150565e7300 (patch) | |
tree | b17baa6c8476eb2a3fbc6b1d65c7fd59950a2dcd /fs/ext4/resize.c | |
parent | 9933fc0ac1ac14b795819cd63d05ea92112f690a (diff) | |
download | lwn-f18a5f21c25707b4fe64b326e2b4d150565e7300.tar.gz lwn-f18a5f21c25707b4fe64b326e2b4d150565e7300.zip |
ext4: use ext4_kvzalloc()/ext4_kvmalloc() for s_group_desc and s_group_info
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/resize.c')
-rw-r--r-- | fs/ext4/resize.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c index 71085df97bbd..707d3f16f7ce 100644 --- a/fs/ext4/resize.c +++ b/fs/ext4/resize.c @@ -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: |