Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 63e727ec authored by David Sterba's avatar David Sterba
Browse files

btrfs: use GFP_KERNEL in btrfs_defrag_file



We can safely use GFP_KERNEL, the function is called from two contexts:

- ioctl handler, called directly, no locks taken
- cleaner thread, running all queued defrag work, outside of any locks

Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 3ec83621
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -1277,7 +1277,7 @@ int btrfs_defrag_file(struct inode *inode, struct file *file,
	 * context
	 */
	if (!file) {
		ra = kzalloc(sizeof(*ra), GFP_NOFS);
		ra = kzalloc(sizeof(*ra), GFP_KERNEL);
		if (!ra)
			return -ENOMEM;
		file_ra_state_init(ra, inode->i_mapping);
@@ -1285,8 +1285,7 @@ int btrfs_defrag_file(struct inode *inode, struct file *file,
		ra = &file->f_ra;
	}

	pages = kmalloc_array(max_cluster, sizeof(struct page *),
			GFP_NOFS);
	pages = kmalloc_array(max_cluster, sizeof(struct page *), GFP_KERNEL);
	if (!pages) {
		ret = -ENOMEM;
		goto out_ra;