diff options
Diffstat (limited to 'fs/btrfs')
-rw-r--r-- | fs/btrfs/extent-tree.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index f08f6dda949f..9e524b0a7b3c 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c | |||
@@ -3463,8 +3463,10 @@ static int update_space_info(struct btrfs_fs_info *info, u64 flags, | |||
3463 | return ret; | 3463 | return ret; |
3464 | } | 3464 | } |
3465 | 3465 | ||
3466 | for (i = 0; i < BTRFS_NR_RAID_TYPES; i++) | 3466 | for (i = 0; i < BTRFS_NR_RAID_TYPES; i++) { |
3467 | INIT_LIST_HEAD(&found->block_groups[i]); | 3467 | INIT_LIST_HEAD(&found->block_groups[i]); |
3468 | kobject_init(&found->block_group_kobjs[i], &btrfs_raid_ktype); | ||
3469 | } | ||
3468 | init_rwsem(&found->groups_sem); | 3470 | init_rwsem(&found->groups_sem); |
3469 | spin_lock_init(&found->lock); | 3471 | spin_lock_init(&found->lock); |
3470 | found->flags = flags & BTRFS_BLOCK_GROUP_TYPE_MASK; | 3472 | found->flags = flags & BTRFS_BLOCK_GROUP_TYPE_MASK; |
@@ -8422,9 +8424,8 @@ static void __link_block_group(struct btrfs_space_info *space_info, | |||
8422 | int ret; | 8424 | int ret; |
8423 | 8425 | ||
8424 | kobject_get(&space_info->kobj); /* put in release */ | 8426 | kobject_get(&space_info->kobj); /* put in release */ |
8425 | ret = kobject_init_and_add(kobj, &btrfs_raid_ktype, | 8427 | ret = kobject_add(kobj, &space_info->kobj, "%s", |
8426 | &space_info->kobj, "%s", | 8428 | get_raid_name(index)); |
8427 | get_raid_name(index)); | ||
8428 | if (ret) { | 8429 | if (ret) { |
8429 | pr_warn("btrfs: failed to add kobject for block cache. ignoring.\n"); | 8430 | pr_warn("btrfs: failed to add kobject for block cache. ignoring.\n"); |
8430 | kobject_put(&space_info->kobj); | 8431 | kobject_put(&space_info->kobj); |