[libvirt] [PATCH 0/8] Use macros for more common virsh command options
Michal Privoznik
mprivozn at redhat.com
Fri Dec 18 13:59:41 UTC 2015
On 17.12.2015 17:55, John Ferlan wrote:
> As a follow on to a recent series which created macros for various
> virsh-*.c command options, see:
>
> http://www.redhat.com/archives/libvir-list/2015-December/msg00672.html
>
> (although best to view by index since there are varying opinions on
> the matter)...
>
> Modify virsh-domain.c and virsh-volume.c to "follow" the concept of
> macro-ifying some commonly used options. In order to choose, I used:
>
> $ grep "{.name =" tools/virsh-*.c | \
> grep -v "help" | grep -v "desc" | grep -v NULL | \
> sort -i | uniq -c | sort -n
>
> To generate a list by module. That generated a list where I randomly
> picked 9 as the nexus, leaving the following:
>
> 9 tools/virsh-domain.c: {.name = "persistent",
> 10 tools/virsh-snapshot.c: {.name = "domain",
> 12 tools/virsh-network.c: {.name = "network",
> 12 tools/virsh-pool.c: {.name = "pool",
> 13 tools/virsh-volume.c: {.name = "vol",
> 14 tools/virsh-domain.c: {.name = "file",
> 14 tools/virsh-domain-monitor.c: {.name = "domain",
> 14 tools/virsh-volume.c: {.name = "pool",
> 26 tools/virsh-domain.c: {.name = "current",
> 28 tools/virsh-domain.c: {.name = "config",
> 28 tools/virsh-domain.c: {.name = "live",
> 81 tools/virsh-domain.c: {.name = "domain",
>
> Because virsh-domain-monitor.c, virsh-network.c, and virsh-snapshot.c
> only had one element with larger counts - I just left them as is and
> focused on the virsh-domain.c and virsh-volume.c.
>
> The perhaps more controversial choice will be the "file" option in
> virsh-domain.c which had numerous different helpstr values. I chose
> to macro-ify them using the entire helpstr including the N_("xxx")
> rather than just "xxx" since the N_ is the I18N marker.
>
> John Ferlan (8):
> virsh: Create macro for common "domain" option
> virsh: Create macro for common "persistent" option
> virsh: Create macro for common "config" option
> virsh: Create macro for common "live" option
> virsh: Create macro for common "current" option
> virsh: Create macro for common "file" option
> virsh: Create macros for common "pool" options
> virsh: Create macros for common "vol" options
>
> tools/virsh-domain.c | 918 +++++++++++----------------------------------------
> tools/virsh-volume.c | 155 +++------
> 2 files changed, 247 insertions(+), 826 deletions(-)
>
Apart from Erik's suggestion, I wonder if we should put those
definitions into a virsh-wide header so that we don't have to repeat
them. For instance, plenty of commands in virsh-domain-monitor.c have
--domain too.
Other than that this looks very good.
Michal
More information about the libvir-list
mailing list