btrfs: device add and remove: use GFP_KERNEL
authorDavid Sterba <dsterba@suse.com>
Thu, 11 Feb 2016 13:25:38 +0000 (14:25 +0100)
committerDavid Sterba <dsterba@suse.com>
Thu, 11 Feb 2016 14:19:39 +0000 (15:19 +0100)
We can safely use GFP_KERNEL in the functions called from the ioctl
handlers.

Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/volumes.c

index 366b335946fae763e380ed884792df5efe07a2c9..64c59795220ee57a20ca43adb0e07238504152f7 100644 (file)
@@ -138,7 +138,7 @@ static struct btrfs_fs_devices *__alloc_fs_devices(void)
 {
        struct btrfs_fs_devices *fs_devs;
 
-       fs_devs = kzalloc(sizeof(*fs_devs), GFP_NOFS);
+       fs_devs = kzalloc(sizeof(*fs_devs), GFP_KERNEL);
        if (!fs_devs)
                return ERR_PTR(-ENOMEM);
 
@@ -220,7 +220,7 @@ static struct btrfs_device *__alloc_device(void)
 {
        struct btrfs_device *dev;
 
-       dev = kzalloc(sizeof(*dev), GFP_NOFS);
+       dev = kzalloc(sizeof(*dev), GFP_KERNEL);
        if (!dev)
                return ERR_PTR(-ENOMEM);
 
@@ -733,7 +733,8 @@ static struct btrfs_fs_devices *clone_fs_devices(struct btrfs_fs_devices *orig)
                 * uuid mutex so nothing we touch in here is going to disappear.
                 */
                if (orig_dev->name) {
-                       name = rcu_string_strdup(orig_dev->name->str, GFP_NOFS);
+                       name = rcu_string_strdup(orig_dev->name->str,
+                                       GFP_KERNEL);
                        if (!name) {
                                kfree(device);
                                goto error;
@@ -2287,7 +2288,7 @@ int btrfs_init_new_device(struct btrfs_root *root, char *device_path)
                goto error;
        }
 
-       name = rcu_string_strdup(device_path, GFP_NOFS);
+       name = rcu_string_strdup(device_path, GFP_KERNEL);
        if (!name) {
                kfree(device);
                ret = -ENOMEM;