Commit 39a27ec1 authored by David Sterba's avatar David Sterba

btrfs: use GFP_KERNEL for xattr and acl allocations

We don't have to use GFP_NOFS in context of ACL or XATTR actions, not
possible to loop through the allocator and it's safe to fail with
ENOMEM.
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 61dd5ae6
...@@ -48,7 +48,7 @@ struct posix_acl *btrfs_get_acl(struct inode *inode, int type) ...@@ -48,7 +48,7 @@ struct posix_acl *btrfs_get_acl(struct inode *inode, int type)
size = __btrfs_getxattr(inode, name, "", 0); size = __btrfs_getxattr(inode, name, "", 0);
if (size > 0) { if (size > 0) {
value = kzalloc(size, GFP_NOFS); value = kzalloc(size, GFP_KERNEL);
if (!value) if (!value)
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
size = __btrfs_getxattr(inode, name, value, size); size = __btrfs_getxattr(inode, name, value, size);
...@@ -102,7 +102,7 @@ static int __btrfs_set_acl(struct btrfs_trans_handle *trans, ...@@ -102,7 +102,7 @@ static int __btrfs_set_acl(struct btrfs_trans_handle *trans,
if (acl) { if (acl) {
size = posix_acl_xattr_size(acl->a_count); size = posix_acl_xattr_size(acl->a_count);
value = kmalloc(size, GFP_NOFS); value = kmalloc(size, GFP_KERNEL);
if (!value) { if (!value) {
ret = -ENOMEM; ret = -ENOMEM;
goto out; goto out;
......
...@@ -494,7 +494,7 @@ static int btrfs_initxattrs(struct inode *inode, ...@@ -494,7 +494,7 @@ static int btrfs_initxattrs(struct inode *inode,
for (xattr = xattr_array; xattr->name != NULL; xattr++) { for (xattr = xattr_array; xattr->name != NULL; xattr++) {
name = kmalloc(XATTR_SECURITY_PREFIX_LEN + name = kmalloc(XATTR_SECURITY_PREFIX_LEN +
strlen(xattr->name) + 1, GFP_NOFS); strlen(xattr->name) + 1, GFP_KERNEL);
if (!name) { if (!name) {
err = -ENOMEM; err = -ENOMEM;
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment