Hi,

I looked at the GFP flag usage in mballoc.  I think the below change
make sense with respect to mballoc.

First hunk is memory allocation during ext4_mb_init which is called
during mount time. I guess it is ok to convert that to GFP_KERNEL.

Second hunk is during ext4_mb_free_metadata. I guess it should be
GFP_NOFS. This is called during ext4_free_blocks.


diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index bec699a..a15f18e 100644
--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -2662,7 +2662,7 @@ int ext4_mb_init(struct super_block *sb, int 
needs_recovery)
        sbi->s_mb_group_prealloc = MB_DEFAULT_GROUP_PREALLOC;
 
        i = sizeof(struct ext4_locality_group) * NR_CPUS;
-       sbi->s_locality_groups = kmalloc(i, GFP_NOFS);
+       sbi->s_locality_groups = kmalloc(i, GFP_KERNEL);
        if (sbi->s_locality_groups == NULL) {
                clear_opt(sbi->s_mount_opt, MBALLOC);
                kfree(sbi->s_mb_offsets);
@@ -4366,7 +4366,7 @@ static int ext4_mb_free_metadata(handle_t *handle, struct 
ext4_buddy *e4b,
 
                if (md == NULL) {
                        ext4_unlock_group(sb, group);
-                       md = kmalloc(sizeof(*md), GFP_KERNEL);
+                       md = kmalloc(sizeof(*md), GFP_NOFS);
                        if (md == NULL)
                                return -ENOMEM;
                        md->num = 0;
-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to