|
@@ -522,10 +522,12 @@ void btrfs_sysfs_remove_one(struct btrfs_fs_info *fs_info)
|
|
|
kobject_del(fs_info->space_info_kobj);
|
|
|
kobject_put(fs_info->space_info_kobj);
|
|
|
}
|
|
|
- btrfs_kobj_rm_device(fs_info, NULL);
|
|
|
- kobject_del(fs_info->device_dir_kobj);
|
|
|
- kobject_put(fs_info->device_dir_kobj);
|
|
|
- fs_info->device_dir_kobj = NULL;
|
|
|
+ if (fs_info->device_dir_kobj) {
|
|
|
+ btrfs_kobj_rm_device(fs_info, NULL);
|
|
|
+ kobject_del(fs_info->device_dir_kobj);
|
|
|
+ kobject_put(fs_info->device_dir_kobj);
|
|
|
+ fs_info->device_dir_kobj = NULL;
|
|
|
+ }
|
|
|
addrm_unknown_feature_attrs(fs_info, false);
|
|
|
sysfs_remove_group(&fs_info->super_kobj, &btrfs_feature_attr_group);
|
|
|
__btrfs_sysfs_remove_one(fs_info);
|