OSDN Git Service

btrfs: cleanup btrfs_free_stale_device() usage
authorAnand Jain <anand.jain@oracle.com>
Wed, 10 Jan 2018 05:15:18 +0000 (13:15 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 22 Jan 2018 15:08:21 +0000 (16:08 +0100)
We call btrfs_free_stale_device() only when we alloc a new struct
btrfs_device (ret=1), so move it closer to where we alloc the new
device. Also drop the comments.

Signed-off-by: Anand Jain <anand.jain@oracle.com>
Reviewed-by: Josef Bacik <jbacik@fb.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/volumes.c

index c831a08..11fccf2 100644 (file)
@@ -782,6 +782,7 @@ static noinline int device_list_add(const char *path,
 
                ret = 1;
                device->fs_devices = fs_devices;
+               btrfs_free_stale_device(device);
        } else if (!device->name || strcmp(device->name->str, path)) {
                /*
                 * When FS is already mounted.
@@ -840,13 +841,6 @@ static noinline int device_list_add(const char *path,
        if (!fs_devices->opened)
                device->generation = found_transid;
 
-       /*
-        * if there is new btrfs on an already registered device,
-        * then remove the stale device entry.
-        */
-       if (ret > 0)
-               btrfs_free_stale_device(device);
-
        *fs_devices_ret = fs_devices;
 
        return ret;