diff options
Diffstat (limited to 'fs/btrfs/dev-replace.c')
-rw-r--r-- | fs/btrfs/dev-replace.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/btrfs/dev-replace.c b/fs/btrfs/dev-replace.c index f982ef303f1c..862fbc206755 100644 --- a/fs/btrfs/dev-replace.c +++ b/fs/btrfs/dev-replace.c | |||
@@ -376,6 +376,10 @@ int btrfs_dev_replace_start(struct btrfs_root *root, | |||
376 | WARN_ON(!tgt_device); | 376 | WARN_ON(!tgt_device); |
377 | dev_replace->tgtdev = tgt_device; | 377 | dev_replace->tgtdev = tgt_device; |
378 | 378 | ||
379 | ret = btrfs_kobj_add_device(tgt_device->fs_devices, tgt_device); | ||
380 | if (ret) | ||
381 | btrfs_error(root->fs_info, ret, "kobj add dev failed"); | ||
382 | |||
379 | printk_in_rcu(KERN_INFO | 383 | printk_in_rcu(KERN_INFO |
380 | "BTRFS: dev_replace from %s (devid %llu) to %s started\n", | 384 | "BTRFS: dev_replace from %s (devid %llu) to %s started\n", |
381 | src_device->missing ? "<missing disk>" : | 385 | src_device->missing ? "<missing disk>" : |
@@ -584,7 +588,6 @@ static int btrfs_dev_replace_finishing(struct btrfs_fs_info *fs_info, | |||
584 | 588 | ||
585 | /* replace the sysfs entry */ | 589 | /* replace the sysfs entry */ |
586 | btrfs_kobj_rm_device(fs_info->fs_devices, src_device); | 590 | btrfs_kobj_rm_device(fs_info->fs_devices, src_device); |
587 | btrfs_kobj_add_device(fs_info->fs_devices, tgt_device); | ||
588 | btrfs_rm_dev_replace_free_srcdev(fs_info, src_device); | 591 | btrfs_rm_dev_replace_free_srcdev(fs_info, src_device); |
589 | 592 | ||
590 | /* write back the superblocks */ | 593 | /* write back the superblocks */ |