1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
lvm2/tools
David Teigland 2282f53ac7 lvconvert: rework routing of operations
Add new logic to identify each unique operation and route
it to the correct function to perform it.  The functions
that perform the conversions remain unchanged.

This new code checks every allowed combination of LV type
and requested operation, and for each valid combination
calls the function that performs that conversion.

The first stage of option validation which checks for
incompatible combinations of command line options, is done
done before process_each is called.  This is unchanged.
(This new code will allow that first stage validation to
be simplified in a future commit.)

The second stage of checking options against the specific
LV type is done by this new code.  For each valid combination
of operation + LV type, the new code calls an existing
function that implements it.

With this in place, the ad hoc checks for valid combinations
of LV types and operations can be removed from the existing
code in a future commit.

(The #if 0 is used to keep the patch clean, and the
disabled code will be removed by a following patch.)
2016-06-29 16:55:27 -05:00
..
.exported_symbols generate liblvm2cmd exported symbols too 2010-06-25 18:23:10 +00:00
.gitignore gitignore: Update for in-place build. 2015-07-27 13:18:35 +01:00
args.h vgimportclone: add native command 2016-06-22 13:13:10 -05:00
cmdnames.h doc: change fsf address 2016-01-21 12:11:37 +01:00
commands.h commands: help: add missing --reportformat references 2016-06-24 14:49:13 +02:00
dmsetup.c coverity: check cmd pointer exists 2016-02-23 21:40:16 +01:00
dumpconfig.c tools: Use arg_is_set instead of arg_count. 2016-06-21 22:24:52 +01:00
errors.h doc: change fsf address 2016-01-21 12:11:37 +01:00
formats.c doc: change fsf address 2016-01-21 12:11:37 +01:00
lvchange.c tools: Use arg_is_set instead of arg_count. 2016-06-21 22:24:52 +01:00
lvconvert_poll.c cleanup: substract integers 2016-05-27 15:47:24 +02:00
lvconvert_poll.h doc: change fsf address 2016-01-21 12:11:37 +01:00
lvconvert.c lvconvert: rework routing of operations 2016-06-29 16:55:27 -05:00
lvcreate.c tools: Use arg_is_set instead of arg_count. 2016-06-21 22:24:52 +01:00
lvdisplay.c tools: Use arg_is_set instead of arg_count. 2016-06-21 22:24:52 +01:00
lvextend.c doc: change fsf address 2016-01-21 12:11:37 +01:00
lvm2cmd-static.c doc: change fsf address 2016-01-21 12:11:37 +01:00
lvm2cmd.c doc: change fsf address 2016-01-21 12:11:37 +01:00
lvm2cmd.h doc: change fsf address 2016-01-21 12:11:37 +01:00
lvm2cmdline.h refactor: move 'interactive' field from struct command_line to struct cmd_context as 'is_interactive' switch 2016-06-20 11:33:43 +02:00
lvm-static.c doc: change fsf address 2016-01-21 12:11:37 +01:00
lvm.c tools: add 'lvm lastlog' command for interactive query and display of last command's log 2016-06-20 11:33:43 +02:00
lvmchange.c doc: change fsf address 2016-01-21 12:11:37 +01:00
lvmcmdlib.c doc: change fsf address 2016-01-21 12:11:37 +01:00
lvmcmdline.c tools: Use arg_is_set instead of arg_count. 2016-06-21 22:24:52 +01:00
lvmdiskscan.c tools: Use arg_is_set instead of arg_count. 2016-06-21 22:24:52 +01:00
lvpoll.c doc: change fsf address 2016-01-21 12:11:37 +01:00
lvreduce.c doc: change fsf address 2016-01-21 12:11:37 +01:00
lvremove.c lvconvert: use process_each_lv 2016-05-25 15:05:49 -05:00
lvrename.c toollib: make it possible to also process internal VGs, add 'include_internal' switch to process_each_vg fn 2016-06-20 11:33:42 +02:00
lvresize.c lvresize: let pass even protected names like _tmeta 2016-06-24 00:39:14 +02:00
lvscan.c tools: Use arg_is_set instead of arg_count. 2016-06-21 22:24:52 +01:00
Makefile.in vgimportclone: add native command 2016-06-22 13:13:10 -05:00
polldaemon.c toollib: make it possible to also process internal VGs, add 'include_internal' switch to process_each_vg fn 2016-06-20 11:33:42 +02:00
pvchange.c lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00
pvck.c doc: change fsf address 2016-01-21 12:11:37 +01:00
pvcreate.c lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00
pvdisplay.c lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00
pvmove_poll.c doc: change fsf address 2016-01-21 12:11:37 +01:00
pvmove_poll.h doc: change fsf address 2016-01-21 12:11:37 +01:00
pvmove.c tools: Use arg_is_set instead of arg_count. 2016-06-21 22:24:52 +01:00
pvremove.c lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00
pvresize.c toollib: add 'parent' field to processing_handle; init report format only if there's no parent 2016-06-20 11:33:41 +02:00
pvscan.c lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00
reporter.c lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00
segtypes.c doc: change fsf address 2016-01-21 12:11:37 +01:00
stub.h doc: change fsf address 2016-01-21 12:11:37 +01:00
tags.c doc: change fsf address 2016-01-21 12:11:37 +01:00
tool.h doc: change fsf address 2016-01-21 12:11:37 +01:00
toollib.c lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00
toollib.h report: add --logonly arg to report only log for a command 2016-06-20 11:33:43 +02:00
tools.h args: add priorities for grouping args 2016-06-20 11:33:42 +02:00
vgcfgbackup.c tools: Use arg_is_set instead of arg_count. 2016-06-21 22:24:52 +01:00
vgcfgrestore.c lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00
vgchange.c tools: Use arg_is_set instead of arg_count. 2016-06-21 22:24:52 +01:00
vgck.c toollib: make it possible to also process internal VGs, add 'include_internal' switch to process_each_vg fn 2016-06-20 11:33:42 +02:00
vgconvert.c tools: Use arg_is_set instead of arg_count. 2016-06-21 22:24:52 +01:00
vgcreate.c lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00
vgdisplay.c tools: Use arg_is_set instead of arg_count. 2016-06-21 22:24:52 +01:00
vgexport.c tools: Use arg_is_set instead of arg_count. 2016-06-21 22:24:52 +01:00
vgextend.c lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00
vgimport.c tools: Use arg_is_set instead of arg_count. 2016-06-21 22:24:52 +01:00
vgimportclone.c lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00
vgmerge.c doc: change fsf address 2016-01-21 12:11:37 +01:00
vgmknodes.c tools: Use arg_is_set instead of arg_count. 2016-06-21 22:24:52 +01:00
vgreduce.c tools: Use arg_is_set instead of arg_count. 2016-06-21 22:24:52 +01:00
vgremove.c toollib: make it possible to also process internal VGs, add 'include_internal' switch to process_each_vg fn 2016-06-20 11:33:42 +02:00
vgrename.c lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00
vgscan.c lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00
vgsplit.c lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00