diff options
author | Anand Jain <anand.jain@oracle.com> | 2015-03-09 18:38:42 -0400 |
---|---|---|
committer | David Sterba <dsterba@suse.cz> | 2015-06-19 08:03:54 -0400 |
commit | d2ff1b2008cb807102fc9496fadd8eddff98350c (patch) | |
tree | 30f177410dff822ca0801747c2375f603e630178 | |
parent | 4fde46f0cc71c7aba299ee6dfb4f017fb97b6e70 (diff) |
Btrfs: sysfs: add support to show replacing target in the sysfs
This patch will add support to show the replacing target in sysfs
during the process of replacement.
Signed-off-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
-rw-r--r-- | fs/btrfs/dev-replace.c | 5 | ||||
-rw-r--r-- | fs/btrfs/volumes.c | 3 |
2 files changed, 7 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 */ |
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index ea293db89cc4..2d9061f078ca 100644 --- a/fs/btrfs/volumes.c +++ b/fs/btrfs/volumes.c | |||
@@ -1940,6 +1940,9 @@ void btrfs_destroy_dev_replace_tgtdev(struct btrfs_fs_info *fs_info, | |||
1940 | mutex_lock(&uuid_mutex); | 1940 | mutex_lock(&uuid_mutex); |
1941 | WARN_ON(!tgtdev); | 1941 | WARN_ON(!tgtdev); |
1942 | mutex_lock(&fs_info->fs_devices->device_list_mutex); | 1942 | mutex_lock(&fs_info->fs_devices->device_list_mutex); |
1943 | |||
1944 | btrfs_kobj_rm_device(fs_info->fs_devices, tgtdev); | ||
1945 | |||
1943 | if (tgtdev->bdev) { | 1946 | if (tgtdev->bdev) { |
1944 | btrfs_scratch_superblock(tgtdev); | 1947 | btrfs_scratch_superblock(tgtdev); |
1945 | fs_info->fs_devices->open_devices--; | 1948 | fs_info->fs_devices->open_devices--; |