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@xxxxxxxxxxxxxx> > --- > 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 :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list