mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
lvconvert: use command defs for raid/mirror types
All lvconvert functionality has been moved out of the previous monolithic lvconvert code, except conversions related to raid/mirror/striped/linear. This switches that remaining code to be based on command defs, and standard process_each_lv arg processing. This final switch results in quite a bit of dead code that is also removed.
This commit is contained in:
parent
a801b92b2c
commit
46b2599d5c
@ -337,24 +337,28 @@ OO: OO_LVCONVERT_RAID, OO_LVCONVERT
|
||||
OP: PV ...
|
||||
ID: lvconvert_raid_types
|
||||
DESC: Convert LV to striped.
|
||||
RULE: all not lv_is_locked lv_is_pvmove
|
||||
|
||||
lvconvert --type mirror LV
|
||||
OO: OO_LVCONVERT_RAID, OO_LVCONVERT, --mirrorlog MirrorLog
|
||||
OP: PV ...
|
||||
ID: lvconvert_raid_types
|
||||
DESC: Convert LV to type mirror (also see type raid1).
|
||||
RULE: all not lv_is_locked lv_is_pvmove
|
||||
|
||||
lvconvert --type raid LV
|
||||
OO: OO_LVCONVERT_RAID, OO_LVCONVERT
|
||||
OP: PV ...
|
||||
ID: lvconvert_raid_types
|
||||
DESC: Convert LV to raid.
|
||||
RULE: all not lv_is_locked lv_is_pvmove
|
||||
|
||||
lvconvert --mirrors SNumber LV
|
||||
OO: OO_LVCONVERT_RAID, OO_LVCONVERT, --mirrorlog MirrorLog
|
||||
OP: PV ...
|
||||
ID: lvconvert_raid_types
|
||||
DESC: Convert LV to raid1 or mirror, or change number of mirror images.
|
||||
RULE: all not lv_is_locked lv_is_pvmove
|
||||
|
||||
---
|
||||
|
||||
@ -366,12 +370,14 @@ OO: OO_LVCONVERT
|
||||
OP: PV ...
|
||||
ID: lvconvert_split_mirror_images
|
||||
DESC: Split images from a raid1 or mirror LV and use them to create a new LV.
|
||||
RULE: all not lv_is_locked lv_is_pvmove
|
||||
|
||||
lvconvert --splitmirrors Number --trackchanges LV_raid1_cache
|
||||
OO: OO_LVCONVERT
|
||||
OP: PV ...
|
||||
ID: lvconvert_split_mirror_images
|
||||
DESC: Split images from a raid1 LV and track changes to origin.
|
||||
RULE: all not lv_is_locked lv_is_pvmove
|
||||
|
||||
lvconvert --mergemirrors LV_linear_raid|VG|Tag ...
|
||||
OO: OO_LVCONVERT
|
||||
@ -384,6 +390,7 @@ OO: OO_LVCONVERT
|
||||
OP: PV ...
|
||||
ID: lvconvert_change_mirrorlog
|
||||
DESC: Change the type of mirror log used by a mirror LV.
|
||||
RULE: all not lv_is_locked lv_is_pvmove
|
||||
|
||||
---
|
||||
|
||||
|
1093
tools/lvconvert.c
1093
tools/lvconvert.c
File diff suppressed because it is too large
Load Diff
@ -147,20 +147,17 @@ struct command_function command_functions[COMMAND_ID_COUNT] = {
|
||||
{ lvconvert_split_and_keep_cachepool_CMD, lvconvert_split_cachepool_cmd },
|
||||
{ lvconvert_split_and_remove_cachepool_CMD, lvconvert_split_cachepool_cmd },
|
||||
|
||||
/* lvconvert raid-related type conversions */
|
||||
{ lvconvert_raid_types_CMD, lvconvert_raid_types_cmd },
|
||||
|
||||
/* lvconvert utilities for raid/mirror */
|
||||
{ lvconvert_merge_mirror_images_CMD, lvconvert_merge_mirror_images_cmd },
|
||||
#if 0
|
||||
{ lvconvert_split_mirror_images_CMD, lvconvert_split_mirror_images_cmd },
|
||||
{ lvconvert_split_mirror_images_CMD, lvconvert_split_mirror_images_cmd},
|
||||
{ lvconvert_change_mirrorlog_CMD, lvconvert_change_mirrorlog_cmd },
|
||||
#endif
|
||||
{ lvconvert_merge_mirror_images_CMD, lvconvert_merge_mirror_images_cmd },
|
||||
|
||||
/* redirected to merge_snapshot/merge_thin/merge_mirrors */
|
||||
{ lvconvert_merge_CMD, lvconvert_merge_cmd },
|
||||
|
||||
#if 0
|
||||
/* all raid-related type conversions */
|
||||
{ lvconvert_raid_types_CMD, lvconvert_raid_types_cmd },
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
|
@ -271,7 +271,10 @@ int lvconvert_swap_pool_metadata_cmd(struct cmd_context *cmd, int argc, char **a
|
||||
int lvconvert_merge_thin_cmd(struct cmd_context *cmd, int argc, char **argv);
|
||||
int lvconvert_split_cachepool_cmd(struct cmd_context *cmd, int argc, char **argv);
|
||||
|
||||
int lvconvert_raid_types_cmd(struct cmd_context * cmd, int argc, char **argv);
|
||||
int lvconvert_split_mirror_images_cmd(struct cmd_context * cmd, int argc, char **argv);
|
||||
int lvconvert_merge_mirror_images_cmd(struct cmd_context *cmd, int argc, char **argv);
|
||||
int lvconvert_change_mirrorlog_cmd(struct cmd_context * cmd, int argc, char **argv);
|
||||
|
||||
int lvconvert_merge_cmd(struct cmd_context *cmd, int argc, char **argv);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user