aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4/xattr.c
diff options
context:
space:
mode:
authorJosef Bacik <jbacik@redhat.com>2008-04-29 22:02:02 -0400
committerTheodore Ts'o <tytso@mit.edu>2008-04-29 22:02:02 -0400
commit216553c4b7f3e3e2beb4981cddca9b2027523928 (patch)
treeaefd413c05b078c6e8cf702956c79548943b5023 /fs/ext4/xattr.c
parent2887df139c40512cdc147d1a84d95d4f3d261bd1 (diff)
ext4: fix wrong gfp type under transaction
This fixes the allocations with GFP_KERNEL while under a transaction problems in ext4. This patch is the same as its ext3 counterpart, just switches these to GFP_NOFS. Signed-off-by: Josef Bacik <jbacik@redhat.com> Cc: <linux-ext4@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Mingming Cao <cmm@us.ibm.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/xattr.c')
-rw-r--r--fs/ext4/xattr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c
index f56598df6880..df4810d5a387 100644
--- a/fs/ext4/xattr.c
+++ b/fs/ext4/xattr.c
@@ -739,7 +739,7 @@ ext4_xattr_block_set(handle_t *handle, struct inode *inode,
739 ce = NULL; 739 ce = NULL;
740 } 740 }
741 ea_bdebug(bs->bh, "cloning"); 741 ea_bdebug(bs->bh, "cloning");
742 s->base = kmalloc(bs->bh->b_size, GFP_KERNEL); 742 s->base = kmalloc(bs->bh->b_size, GFP_NOFS);
743 error = -ENOMEM; 743 error = -ENOMEM;
744 if (s->base == NULL) 744 if (s->base == NULL)
745 goto cleanup; 745 goto cleanup;
@@ -751,7 +751,7 @@ ext4_xattr_block_set(handle_t *handle, struct inode *inode,
751 } 751 }
752 } else { 752 } else {
753 /* Allocate a buffer where we construct the new block. */ 753 /* Allocate a buffer where we construct the new block. */
754 s->base = kzalloc(sb->s_blocksize, GFP_KERNEL); 754 s->base = kzalloc(sb->s_blocksize, GFP_NOFS);
755 /* assert(header == s->base) */ 755 /* assert(header == s->base) */
756 error = -ENOMEM; 756 error = -ENOMEM;
757 if (s->base == NULL) 757 if (s->base == NULL)