summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/super.c
diff options
context:
space:
mode:
authorDavid Sterba <dsterba@suse.com>2017-06-22 02:26:54 +0200
committerDavid Sterba <dsterba@suse.com>2017-08-16 16:12:03 +0200
commit3ec836211183eee87609f832a949dfe711af2b5a (patch)
tree4dbd9e60731832d7129d2d1b165c52eded8d32fe /fs/btrfs/super.c
parente3f3ad126829779a5ad0e7846cd52adf7cc180a9 (diff)
downloadlinux-stable-3ec836211183eee87609f832a949dfe711af2b5a.tar.gz
linux-stable-3ec836211183eee87609f832a949dfe711af2b5a.tar.bz2
linux-stable-3ec836211183eee87609f832a949dfe711af2b5a.zip
btrfs: use GFP_KERNEL in mount and remount
We don't need to restrict the allocation flags in btrfs_mount or _remount. No big filesystem locks are held (possibly s_umount but that does no count here). Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/super.c')
-rw-r--r--fs/btrfs/super.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
index e4c268c250f5..64981fc8e39e 100644
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -426,7 +426,7 @@ int btrfs_parse_options(struct btrfs_fs_info *info, char *options,
* strsep changes the string, duplicate it because parse_options
* gets called twice
*/
- options = kstrdup(options, GFP_NOFS);
+ options = kstrdup(options, GFP_KERNEL);
if (!options)
return -ENOMEM;
@@ -950,7 +950,7 @@ static char *get_subvol_name_from_objectid(struct btrfs_fs_info *fs_info,
}
path->leave_spinning = 1;
- name = kmalloc(PATH_MAX, GFP_NOFS);
+ name = kmalloc(PATH_MAX, GFP_KERNEL);
if (!name) {
ret = -ENOMEM;
goto err;
@@ -1336,10 +1336,11 @@ static char *setup_root_args(char *args)
char *buf, *dst, *sep;
if (!args)
- return kstrdup("subvolid=0", GFP_NOFS);
+ return kstrdup("subvolid=0", GFP_KERNEL);
/* The worst case is that we add ",subvolid=0" to the end. */
- buf = dst = kmalloc(strlen(args) + strlen(",subvolid=0") + 1, GFP_NOFS);
+ buf = dst = kmalloc(strlen(args) + strlen(",subvolid=0") + 1,
+ GFP_KERNEL);
if (!buf)
return NULL;
@@ -1568,7 +1569,7 @@ static struct dentry *btrfs_mount(struct file_system_type *fs_type, int flags,
* it for searching for existing supers, so this lets us do that and
* then open_ctree will properly initialize everything later.
*/
- fs_info = kzalloc(sizeof(struct btrfs_fs_info), GFP_NOFS);
+ fs_info = kzalloc(sizeof(struct btrfs_fs_info), GFP_KERNEL);
if (!fs_info) {
error = -ENOMEM;
goto error_sec_opts;
@@ -1576,8 +1577,8 @@ static struct dentry *btrfs_mount(struct file_system_type *fs_type, int flags,
fs_info->fs_devices = fs_devices;
- fs_info->super_copy = kzalloc(BTRFS_SUPER_INFO_SIZE, GFP_NOFS);
- fs_info->super_for_commit = kzalloc(BTRFS_SUPER_INFO_SIZE, GFP_NOFS);
+ fs_info->super_copy = kzalloc(BTRFS_SUPER_INFO_SIZE, GFP_KERNEL);
+ fs_info->super_for_commit = kzalloc(BTRFS_SUPER_INFO_SIZE, GFP_KERNEL);
security_init_mnt_opts(&fs_info->security_opts);
if (!fs_info->super_copy || !fs_info->super_for_commit) {
error = -ENOMEM;