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

Commit 6c14a164 authored by Anand Jain's avatar Anand Jain Committed by David Sterba
Browse files

Btrfs: sysfs btrfs_kobj_rm_device() pass fs_devices instead of fs_info



since btrfs_kobj_rm_device() does nothing with fs_info

Signed-off-by: default avatarAnand Jain <anand.jain@oracle.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.cz>
parent 1ba43816
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -583,7 +583,7 @@ static int btrfs_dev_replace_finishing(struct btrfs_fs_info *fs_info,
	mutex_unlock(&uuid_mutex);

	/* replace the sysfs entry */
	btrfs_kobj_rm_device(fs_info, src_device);
	btrfs_kobj_rm_device(fs_info->fs_devices, src_device);
	btrfs_kobj_add_device(fs_info->fs_devices, tgt_device);
	btrfs_rm_dev_replace_free_srcdev(fs_info, src_device);

+6 −6
Original line number Diff line number Diff line
@@ -555,7 +555,7 @@ void btrfs_sysfs_remove_one(struct btrfs_fs_info *fs_info)
	addrm_unknown_feature_attrs(fs_info, false);
	sysfs_remove_group(&fs_info->fs_devices->super_kobj, &btrfs_feature_attr_group);
	sysfs_remove_files(&fs_info->fs_devices->super_kobj, btrfs_attrs);
	btrfs_kobj_rm_device(fs_info, NULL);
	btrfs_kobj_rm_device(fs_info->fs_devices, NULL);
	btrfs_sysfs_remove_fsid(fs_info->fs_devices);
}

@@ -636,20 +636,20 @@ static void init_feature_attrs(void)

/* when one_device is NULL, it removes all device links */

int btrfs_kobj_rm_device(struct btrfs_fs_info *fs_info,
int btrfs_kobj_rm_device(struct btrfs_fs_devices *fs_devices,
		struct btrfs_device *one_device)
{
	struct hd_struct *disk;
	struct kobject *disk_kobj;

	if (!fs_info->fs_devices->device_dir_kobj)
	if (!fs_devices->device_dir_kobj)
		return -EINVAL;

	if (one_device && one_device->bdev) {
		disk = one_device->bdev->bd_part;
		disk_kobj = &part_to_dev(disk)->kobj;

		sysfs_remove_link(fs_info->fs_devices->device_dir_kobj,
		sysfs_remove_link(fs_devices->device_dir_kobj,
						disk_kobj->name);
	}

@@ -657,13 +657,13 @@ int btrfs_kobj_rm_device(struct btrfs_fs_info *fs_info,
		return 0;

	list_for_each_entry(one_device,
			&fs_info->fs_devices->devices, dev_list) {
			&fs_devices->devices, dev_list) {
		if (!one_device->bdev)
			continue;
		disk = one_device->bdev->bd_part;
		disk_kobj = &part_to_dev(disk)->kobj;

		sysfs_remove_link(fs_info->fs_devices->device_dir_kobj,
		sysfs_remove_link(fs_devices->device_dir_kobj,
						disk_kobj->name);
	}

+1 −1
Original line number Diff line number Diff line
@@ -84,6 +84,6 @@ extern struct kobj_type space_info_ktype;
extern struct kobj_type btrfs_raid_ktype;
int btrfs_kobj_add_device(struct btrfs_fs_devices *fs_devices,
		struct btrfs_device *one_device);
int btrfs_kobj_rm_device(struct btrfs_fs_info *fs_info,
int btrfs_kobj_rm_device(struct btrfs_fs_devices *fs_devices,
                struct btrfs_device *one_device);
#endif /* _BTRFS_SYSFS_H_ */
+2 −2
Original line number Diff line number Diff line
@@ -1710,7 +1710,7 @@ int btrfs_rm_device(struct btrfs_root *root, char *device_path)
	if (device->bdev) {
		device->fs_devices->open_devices--;
		/* remove sysfs entry */
		btrfs_kobj_rm_device(root->fs_info, device);
		btrfs_kobj_rm_device(root->fs_info->fs_devices, device);
	}

	call_rcu(&device->rcu, free_device);
@@ -2294,7 +2294,7 @@ int btrfs_init_new_device(struct btrfs_root *root, char *device_path)
error_trans:
	btrfs_end_transaction(trans, root);
	rcu_string_free(device->name);
	btrfs_kobj_rm_device(root->fs_info, device);
	btrfs_kobj_rm_device(root->fs_info->fs_devices, device);
	kfree(device);
error:
	blkdev_put(bdev, FMODE_EXCL);