summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/extent-tree.c
diff options
context:
space:
mode:
authorDavid Sterba <dsterba@suse.com>2019-08-01 18:50:16 +0200
committerDavid Sterba <dsterba@suse.com>2019-09-09 14:59:07 +0200
commitb5865babb7b44308f0d0ece39756d55ef7628742 (patch)
treed5952c5d4cf74eab0b288de80d43ace609bfbe1e /fs/btrfs/extent-tree.c
parent5b28692e0c4ffb7266d359f0d54155156cdfe0a2 (diff)
btrfs: factor out sysfs code for deleting block group and space infos
The helpers to create block group and space info directories already live in sysfs.c, move the deletion part there too. Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/extent-tree.c')
-rw-r--r--fs/btrfs/extent-tree.c14
1 files changed, 1 insertions, 13 deletions
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 37e56b0c0484..05f6464b3123 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -7539,8 +7539,6 @@ int btrfs_free_block_groups(struct btrfs_fs_info *info)
btrfs_release_global_block_rsv(info);
while (!list_empty(&info->space_info)) {
- int i;
-
space_info = list_entry(info->space_info.next,
struct btrfs_space_info,
list);
@@ -7554,17 +7552,7 @@ int btrfs_free_block_groups(struct btrfs_fs_info *info)
space_info->bytes_may_use > 0))
btrfs_dump_space_info(info, space_info, 0, 0);
list_del(&space_info->list);
- for (i = 0; i < BTRFS_NR_RAID_TYPES; i++) {
- struct kobject *kobj;
- kobj = space_info->block_group_kobjs[i];
- space_info->block_group_kobjs[i] = NULL;
- if (kobj) {
- kobject_del(kobj);
- kobject_put(kobj);
- }
- }
- kobject_del(&space_info->kobj);
- kobject_put(&space_info->kobj);
+ btrfs_sysfs_remove_space_info(space_info);
}
return 0;
}