
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@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 :|