1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-03-10 16:58:47 +03:00

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.
This commit is contained in:
David Teigland 2016-08-08 10:37:24 -05:00
parent 6f90c954b7
commit fc93085c7a
2 changed files with 20 additions and 1 deletions

View File

@ -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

View File

@ -3921,6 +3921,16 @@ static int _convert_raid_raid(struct cmd_context *cmd, struct logical_volume *lv
return _lvconvert_raid(lv, lp);
}
/*
* 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);