btrfs: sysfs, use btrfs_sysfs_remove_fsid to celanup errors in add_fsid
authorAnand Jain <anand.jain@oracle.com>
Wed, 12 Feb 2020 09:28:12 +0000 (17:28 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 23 Mar 2020 16:01:35 +0000 (17:01 +0100)
We have one simple function btrfs_sysfs_remove_fsid() to undo
btrfs_sysfs_add_fsid(), which also does proper checks before releasing
objects.

One difference, if btrfs_sysfs_remove_fsid is used that now we also call
kobject_del() which was missing before. This was tested (with kobject
debug turned on) and no change in behaviour was found.

This is a cleanup patch.

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

index 3c10e78..119edd4 100644 (file)
@@ -1371,7 +1371,7 @@ int btrfs_sysfs_add_fsid(struct btrfs_fs_devices *fs_devs)
        if (!fs_devs->devices_kobj) {
                btrfs_err(fs_devs->fs_info,
                          "failed to init sysfs device interface");
-               kobject_put(&fs_devs->fsid_kobj);
+               btrfs_sysfs_remove_fsid(fs_devs);
                return -ENOMEM;
        }