[libvirt] [PATCH 5/5] setmem: add the new options to "virsh setmem" command
Daniel P. Berrange
berrange at redhat.com
Wed Mar 9 15:59:42 UTC 2011
On Wed, Mar 02, 2011 at 05:13:39PM +0900, Taku Izumi wrote:
>
> This patch adds the new options (--live and --config) to "virsh setmem" command.
> The behavior of above options is the same as that of "virsh setvcpus" and so on.
> That is, when the --config option is specified, a modification is effective for
> the persistent domain. Moreover we can modify the memory size of inactive domains
> as well as that of active domains.
>
>
> Signed-off-by: Taku Izumi <izumi.taku at jp.fujitsu.com>
> ---
> tools/virsh.c | 16 ++++++++++++++--
> 1 file changed, 14 insertions(+), 2 deletions(-)
>
> Index: libvirt-git/tools/virsh.c
> ===================================================================
> --- libvirt-git.orig/tools/virsh.c
> +++ libvirt-git/tools/virsh.c
> @@ -2910,6 +2910,8 @@ static const vshCmdInfo info_setmem[] =
> static const vshCmdOptDef opts_setmem[] = {
> {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, N_("domain name, id or uuid")},
> {"kilobytes", VSH_OT_INT, VSH_OFLAG_REQ, N_("number of kilobytes of memory")},
> + {"config", VSH_OT_BOOL, 0, N_("affect next boot")},
> + {"live", VSH_OT_BOOL, 0, N_("affect running domain")},
> {NULL, 0, 0, NULL}
> };
>
> @@ -2920,6 +2922,10 @@ cmdSetmem(vshControl *ctl, const vshCmd
> virDomainInfo info;
> unsigned long kilobytes;
> int ret = TRUE;
> + int config = vshCommandOptBool(cmd, "config");
> + int live = vshCommandOptBool(cmd, "live");
> + int flags = ((config ? VIR_DOMAIN_MEM_CONFIG : 0) |
> + (live ? VIR_DOMAIN_MEM_LIVE : 0));
>
> if (!vshConnectionUsability(ctl, ctl->conn))
> return FALSE;
> @@ -2947,8 +2953,14 @@ cmdSetmem(vshControl *ctl, const vshCmd
> return FALSE;
> }
>
> - if (virDomainSetMemory(dom, kilobytes) != 0) {
> - ret = FALSE;
> + if (!flags) {
> + if (virDomainSetMemory(dom, kilobytes) != 0) {
> + ret = FALSE;
> + }
Indentation went a little bit wrong here. Also '!flags' could
in fact be '!flags || (flags == VIR_DOMAIN_MEM_LIVE)' since if
only the --live flag was set, we can still use the original API
call for greater backcompatibility.
> + } else {
> + if (virDomainSetMemoryFlags(dom, kilobytes, flags) < 0) {
> + ret = FALSE;
> + }
> }
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list