diff options
Diffstat (limited to 'fs/btrfs/sysfs.c')
-rw-r--r-- | fs/btrfs/sysfs.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/fs/btrfs/sysfs.c b/fs/btrfs/sysfs.c index f31fcec01e9c..6218d31a6912 100644 --- a/fs/btrfs/sysfs.c +++ b/fs/btrfs/sysfs.c | |||
@@ -522,10 +522,12 @@ void btrfs_sysfs_remove_one(struct btrfs_fs_info *fs_info) | |||
522 | kobject_del(fs_info->space_info_kobj); | 522 | kobject_del(fs_info->space_info_kobj); |
523 | kobject_put(fs_info->space_info_kobj); | 523 | kobject_put(fs_info->space_info_kobj); |
524 | } | 524 | } |
525 | btrfs_kobj_rm_device(fs_info, NULL); | 525 | if (fs_info->device_dir_kobj) { |
526 | kobject_del(fs_info->device_dir_kobj); | 526 | btrfs_kobj_rm_device(fs_info, NULL); |
527 | kobject_put(fs_info->device_dir_kobj); | 527 | kobject_del(fs_info->device_dir_kobj); |
528 | fs_info->device_dir_kobj = NULL; | 528 | kobject_put(fs_info->device_dir_kobj); |
529 | fs_info->device_dir_kobj = NULL; | ||
530 | } | ||
529 | addrm_unknown_feature_attrs(fs_info, false); | 531 | addrm_unknown_feature_attrs(fs_info, false); |
530 | sysfs_remove_group(&fs_info->super_kobj, &btrfs_feature_attr_group); | 532 | sysfs_remove_group(&fs_info->super_kobj, &btrfs_feature_attr_group); |
531 | __btrfs_sysfs_remove_one(fs_info); | 533 | __btrfs_sysfs_remove_one(fs_info); |