Hi
"virsh setmem" and "virsh setmexmem" have the problem of setting a
very
big value in the domain when -1 is set in the domain.
As a result, I detected the problem of doing abnormal operation of Xen
in 64bit machine. (virsh setmem)
Therefore, I contribute the patch that corrects the argument of the
function to guard a negative value.
This treatment is based on setMemoryTarget(a)XendDomainInfo.py.
Signed-off-by: Masayuki Sunou <fj1826dm(a)aa.jp.fujitsu.com>
Thanks,
Masayuki Sunou.
-------------------------------------------------------------------------------
Index: include/libvirt/libvirt.h
===================================================================
RCS file: /data/cvs/libvirt/include/libvirt/libvirt.h,v
retrieving revision 1.41
diff -u -p -r1.41 libvirt.h
--- include/libvirt/libvirt.h 15 Mar 2007 17:24:57 -0000 1.41
+++ include/libvirt/libvirt.h 16 Mar 2007 01:37:25 -0000
@@ -314,9 +314,9 @@ int virDomainGetUUIDString (virDomainP
char * virDomainGetOSType (virDomainPtr domain);
unsigned long virDomainGetMaxMemory (virDomainPtr domain);
int virDomainSetMaxMemory (virDomainPtr domain,
- unsigned long memory);
+ int memory);
int virDomainSetMemory (virDomainPtr domain,
- unsigned long memory);
+ int memory);
int virDomainGetMaxVcpus (virDomainPtr domain);
/*
Index: include/libvirt/libvirt.h.in
===================================================================
RCS file: /data/cvs/libvirt/include/libvirt/libvirt.h.in,v
retrieving revision 1.26
diff -u -p -r1.26 libvirt.h.in
--- include/libvirt/libvirt.h.in 15 Mar 2007 17:24:57 -0000 1.26
+++ include/libvirt/libvirt.h.in 16 Mar 2007 01:37:26 -0000
@@ -314,9 +314,9 @@ int virDomainGetUUIDString (virDomainP
char * virDomainGetOSType (virDomainPtr domain);
unsigned long virDomainGetMaxMemory (virDomainPtr domain);
int virDomainSetMaxMemory (virDomainPtr domain,
- unsigned long memory);
+ int memory);
int virDomainSetMemory (virDomainPtr domain,
- unsigned long memory);
+ int memory);
int virDomainGetMaxVcpus (virDomainPtr domain);
/*
Index: src/libvirt.c
===================================================================
RCS file: /data/cvs/libvirt/src/libvirt.c,v
retrieving revision 1.63
diff -u -p -r1.63 libvirt.c
--- src/libvirt.c 15 Mar 2007 17:24:57 -0000 1.63
+++ src/libvirt.c 16 Mar 2007 01:37:31 -0000
@@ -1499,7 +1499,7 @@ virDomainGetMaxMemory(virDomainPtr domai
* Returns 0 in case of success and -1 in case of failure.
*/
int
-virDomainSetMaxMemory(virDomainPtr domain, unsigned long memory)
+virDomainSetMaxMemory(virDomainPtr domain, int memory)
{
int ret = -1 , i;
virConnectPtr conn;
@@ -1553,7 +1553,7 @@ virDomainSetMaxMemory(virDomainPtr domai
* Returns 0 in case of success and -1 in case of failure.
*/
int
-virDomainSetMemory(virDomainPtr domain, unsigned long memory)
+virDomainSetMemory(virDomainPtr domain, int memory)
{
int ret = -1 , i;
virConnectPtr conn;
-------------------------------------------------------------------------------