]> git.itanic.dy.fi Git - linux-stable/commitdiff
ext4: drop ext4_kvmalloc()
authorTheodore Ts'o <tytso@mit.edu>
Thu, 16 Jan 2020 15:08:16 +0000 (10:08 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 17 Jan 2020 21:24:55 +0000 (16:24 -0500)
As Jan pointed out[1], as of commit 81378da64de ("jbd2: mark the
transaction context with the scope GFP_NOFS context") we use
memalloc_nofs_{save,restore}() while a jbd2 handle is active.  So
ext4_kvmalloc() so we can call allocate using GFP_NOFS is no longer
necessary.

[1] https://lore.kernel.org/r/20200109100007.GC27035@quack2.suse.cz

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Link: https://lore.kernel.org/r/20200116155031.266620-1-tytso@mit.edu
Reviewed-by: Jan Kara <jack@suse.cz>
fs/ext4/ext4.h
fs/ext4/resize.c
fs/ext4/super.c
fs/ext4/xattr.c

index 5e621b0da4da63a7760bbba2199c8234b858b812..9a2ee2428ecc0e5163ef5537a49323fd1dc30d91 100644 (file)
@@ -2740,7 +2740,6 @@ extern struct buffer_head *ext4_sb_bread(struct super_block *sb,
 extern int ext4_seq_options_show(struct seq_file *seq, void *offset);
 extern int ext4_calculate_overhead(struct super_block *sb);
 extern void ext4_superblock_csum_set(struct super_block *sb);
-extern void *ext4_kvmalloc(size_t size, gfp_t flags);
 extern int ext4_alloc_flex_bg_array(struct super_block *sb,
                                    ext4_group_t ngroup);
 extern const char *ext4_decode_error(struct super_block *sb, int errno,
index a8c0f2b5b6e1f79f2948e786156c9c08b5751a6c..86a2500ed292f136b93f2ee75e71638567a72646 100644 (file)
@@ -824,9 +824,8 @@ static int add_new_gdb(handle_t *handle, struct inode *inode,
        if (unlikely(err))
                goto errout;
 
-       n_group_desc = ext4_kvmalloc((gdb_num + 1) *
-                                    sizeof(struct buffer_head *),
-                                    GFP_NOFS);
+       n_group_desc = kvmalloc((gdb_num + 1) * sizeof(struct buffer_head *),
+                               GFP_KERNEL);
        if (!n_group_desc) {
                err = -ENOMEM;
                ext4_warning(sb, "not enough memory for %lu groups",
@@ -900,9 +899,8 @@ static int add_new_gdb_meta_bg(struct super_block *sb,
        gdb_bh = ext4_sb_bread(sb, gdblock, 0);
        if (IS_ERR(gdb_bh))
                return PTR_ERR(gdb_bh);
-       n_group_desc = ext4_kvmalloc((gdb_num + 1) *
-                                    sizeof(struct buffer_head *),
-                                    GFP_NOFS);
+       n_group_desc = kvmalloc((gdb_num + 1) * sizeof(struct buffer_head *),
+                               GFP_KERNEL);
        if (!n_group_desc) {
                brelse(gdb_bh);
                err = -ENOMEM;
index 84a86d9b790f43a38a14fa40b46936c859cb616f..ecf36a23e0c46af7846233ba7c5af283ec9ba832 100644 (file)
@@ -204,16 +204,6 @@ void ext4_superblock_csum_set(struct super_block *sb)
        es->s_checksum = ext4_superblock_csum(sb, es);
 }
 
-void *ext4_kvmalloc(size_t size, gfp_t flags)
-{
-       void *ret;
-
-       ret = kmalloc(size, flags | __GFP_NOWARN);
-       if (!ret)
-               ret = __vmalloc(size, flags, PAGE_KERNEL);
-       return ret;
-}
-
 ext4_fsblk_t ext4_block_bitmap(struct super_block *sb,
                               struct ext4_group_desc *bg)
 {
index 246fbeeb6366028fff064b7228e1263f008b88a4..8cac7d95c3adea81cd1ac84ac77410f250a9f0ff 100644 (file)
@@ -1456,7 +1456,7 @@ ext4_xattr_inode_cache_find(struct inode *inode, const void *value,
        if (!ce)
                return NULL;
 
-       ea_data = ext4_kvmalloc(value_len, GFP_NOFS);
+       ea_data = kvmalloc(value_len, GFP_KERNEL);
        if (!ea_data) {
                mb_cache_entry_put(ea_inode_cache, ce);
                return NULL;