diff options
author | David Teigland <teigland@redhat.com> | 2016-08-08 10:37:24 -0500 |
---|---|---|
committer | David Teigland <teigland@redhat.com> | 2016-08-08 10:37:24 -0500 |
commit | fc93085c7a7716671c3567d367dd2c75544a058b (patch) | |
tree | 81d381bc9d07128b184f1d5c0aaa0836ab010601 | |
parent | 6f90c954b72a5bad8cdeddebea4b3dc5981322c7 (diff) | |
download | lvm2-fc93085c7a7716671c3567d367dd2c75544a058b.tar.gz |
lvconvert: separate type raid to mirror
By the current division of unique operations,
converting type raid to type mirror is distinct
from converting type raid to raid.
-rw-r--r-- | man/lvconvert.8.in | 6 | ||||
-rw-r--r-- | tools/lvconvert.c | 15 |
2 files changed, 20 insertions, 1 deletions
diff --git a/man/lvconvert.8.in b/man/lvconvert.8.in index 5ddea3d6c..641e850a6 100644 --- a/man/lvconvert.8.in +++ b/man/lvconvert.8.in @@ -452,6 +452,12 @@ Convert RaidLV to use a different raid level. \[bu] Required options depend on the raid level. +.B lvconvert \-\-type mirror +VG/RaidLV +.br +\[bu] +Convert RaidLV to type mirror. + .B lvconvert \-\-type striped VG/RaidLV .br diff --git a/tools/lvconvert.c b/tools/lvconvert.c index e7c34f7c6..8dc9f6ddb 100644 --- a/tools/lvconvert.c +++ b/tools/lvconvert.c @@ -3922,6 +3922,16 @@ static int _convert_raid_raid(struct cmd_context *cmd, struct logical_volume *lv } /* + * Convert a raid* LV to a mirror LV. + * lvconvert --type mirror LV + */ +static int _convert_raid_mirror(struct cmd_context *cmd, struct logical_volume *lv, + struct lvconvert_params *lp) +{ + return _lvconvert_raid(lv, lp); +} + +/* * Convert a raid* LV to a striped LV. * lvconvert --type striped LV */ @@ -4282,9 +4292,12 @@ static int _convert_raid(struct cmd_context *cmd, struct logical_volume *lv, if (!strcmp(lp->type_str, SEG_TYPE_NAME_CACHE_POOL) || arg_is_set(cmd, cachepool_ARG)) return _convert_raid_cache_pool(cmd, lv, lp); - if (segtype_is_raid(lp->segtype) || segtype_is_mirror(lp->segtype)) + if (segtype_is_raid(lp->segtype)) return _convert_raid_raid(cmd, lv, lp); + if (segtype_is_mirror(lp->segtype)) + return _convert_raid_mirror(cmd, lv, lp); + if (!strcmp(lp->type_str, SEG_TYPE_NAME_STRIPED)) return _convert_raid_striped(cmd, lv, lp); |