btrfs: use GFP_KERNEL in create_snapshot
We don't need to use GFP_NOFS here as this is called from ioctls an the only lock held is the subvol_sem, which is of a high level and protects creation/renames/deletion and is never held in the writeout paths. Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
1af4a0aaa5
commit
23269bf5ea
|
@ -670,12 +670,12 @@ static int create_snapshot(struct btrfs_root *root, struct inode *dir,
|
||||||
if (!test_bit(BTRFS_ROOT_REF_COWS, &root->state))
|
if (!test_bit(BTRFS_ROOT_REF_COWS, &root->state))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
pending_snapshot = kzalloc(sizeof(*pending_snapshot), GFP_NOFS);
|
pending_snapshot = kzalloc(sizeof(*pending_snapshot), GFP_KERNEL);
|
||||||
if (!pending_snapshot)
|
if (!pending_snapshot)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
pending_snapshot->root_item = kzalloc(sizeof(struct btrfs_root_item),
|
pending_snapshot->root_item = kzalloc(sizeof(struct btrfs_root_item),
|
||||||
GFP_NOFS);
|
GFP_KERNEL);
|
||||||
pending_snapshot->path = btrfs_alloc_path();
|
pending_snapshot->path = btrfs_alloc_path();
|
||||||
if (!pending_snapshot->root_item || !pending_snapshot->path) {
|
if (!pending_snapshot->root_item || !pending_snapshot->path) {
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
|
|
Loading…
Reference in New Issue