+Mon Jun 18 10:32:14 CEST 2007 Daniel Veillard <veillard@redhat.com>
+
+ * src/virsh.c: applied SetMem cleanup patch from Mark Johnson
+
Fri Jun 15 16:21:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* configure.in: Solaris header file fixes (Mark Johnson).
cmdSetmem(vshControl * ctl, vshCmd * cmd)
{
virDomainPtr dom;
+ virDomainInfo info;
int kilobytes;
int ret = TRUE;
return FALSE;
}
+ if (virDomainGetInfo(dom, &info) != 0) {
+ virDomainFree(dom);
+ vshError(ctl, FALSE, _("Unable to verify MaxMemorySize"));
+ return FALSE;
+ }
+
+ if (kilobytes > info.maxMem) {
+ virDomainFree(dom);
+ vshError(ctl, FALSE, _("Invalid value of %d for memory size"), kilobytes);
+ return FALSE;
+ }
+
if (virDomainSetMemory(dom, kilobytes) != 0) {
ret = FALSE;
}
cmdSetmaxmem(vshControl * ctl, vshCmd * cmd)
{
virDomainPtr dom;
+ virDomainInfo info;
int kilobytes;
int ret = TRUE;
return FALSE;
}
+ if (virDomainGetInfo(dom, &info) != 0) {
+ virDomainFree(dom);
+ vshError(ctl, FALSE, _("Unable to verify current MemorySize"));
+ return FALSE;
+ }
+
+ if (kilobytes < info.memory) {
+ if (virDomainSetMemory(dom, kilobytes) != 0) {
+ virDomainFree(dom);
+ vshError(ctl, FALSE, _("Unable to shrink current MemorySize"));
+ return FALSE;
+ }
+ }
+
if (virDomainSetMaxMemory(dom, kilobytes) != 0) {
+ vshError(ctl, FALSE, _("Unable to change MaxMemorySize"));
ret = FALSE;
}