提交 32fc932e 编写于 作者: D David Sterba

btrfs: fallocate: use GFP_KERNEL

Fallocate is initiated from userspace and is not on the critical
writeback path, we don't need to use GFP_NOFS for allocations.
Signed-off-by: NDavid Sterba <dsterba@suse.com>
上级 74e4d827
...@@ -2611,7 +2611,7 @@ static int add_falloc_range(struct list_head *head, u64 start, u64 len) ...@@ -2611,7 +2611,7 @@ static int add_falloc_range(struct list_head *head, u64 start, u64 len)
return 0; return 0;
} }
insert: insert:
range = kmalloc(sizeof(*range), GFP_NOFS); range = kmalloc(sizeof(*range), GFP_KERNEL);
if (!range) if (!range)
return -ENOMEM; return -ENOMEM;
range->start = start; range->start = start;
...@@ -2712,7 +2712,7 @@ static long btrfs_fallocate(struct file *file, int mode, ...@@ -2712,7 +2712,7 @@ static long btrfs_fallocate(struct file *file, int mode,
btrfs_put_ordered_extent(ordered); btrfs_put_ordered_extent(ordered);
unlock_extent_cached(&BTRFS_I(inode)->io_tree, unlock_extent_cached(&BTRFS_I(inode)->io_tree,
alloc_start, locked_end, alloc_start, locked_end,
&cached_state, GFP_NOFS); &cached_state, GFP_KERNEL);
/* /*
* we can't wait on the range with the transaction * we can't wait on the range with the transaction
* running or with the extent lock held * running or with the extent lock held
...@@ -2806,7 +2806,7 @@ static long btrfs_fallocate(struct file *file, int mode, ...@@ -2806,7 +2806,7 @@ static long btrfs_fallocate(struct file *file, int mode,
} }
out_unlock: out_unlock:
unlock_extent_cached(&BTRFS_I(inode)->io_tree, alloc_start, locked_end, unlock_extent_cached(&BTRFS_I(inode)->io_tree, alloc_start, locked_end,
&cached_state, GFP_NOFS); &cached_state, GFP_KERNEL);
out: out:
/* /*
* As we waited the extent range, the data_rsv_map must be empty * As we waited the extent range, the data_rsv_map must be empty
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册