diff options
author | Zhang, Yang Z <yang.z.zhang@intel.com> | 2012-07-24 10:29:18 +0100 |
---|---|---|
committer | Zhang, Yang Z <yang.z.zhang@intel.com> | 2012-07-24 10:29:18 +0100 |
commit | f2c89c53c44d9d8adbba43db6f02701c8b155383 (patch) | |
tree | 4451f5aa82dff6835f5f4f855275158710469a13 | |
parent | e5ca6b5b9b2462d3ac2ab5d455d2bf72951f0b04 (diff) | |
download | xen-f2c89c53c44d9d8adbba43db6f02701c8b155383.tar.gz xen-f2c89c53c44d9d8adbba43db6f02701c8b155383.tar.bz2 xen-f2c89c53c44d9d8adbba43db6f02701c8b155383.zip |
libxl: fix bug the number of running vcpu inconsistent with config file
The following patch will fix the bug 1825. http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1825
When using memcpy to update vcpu_online, the high bits of vcpu_online
may unmodified if the size of avail_vcpus less than vcpu_online. So we
need to clear it before the memory copying.
Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
Acked-by: Ian Campbell <ian.campbelL@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
-rw-r--r-- | tools/libxl/libxl_dom.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c index b6111ad434..cecda9ba84 100644 --- a/tools/libxl/libxl_dom.c +++ b/tools/libxl/libxl_dom.c @@ -357,6 +357,7 @@ static int hvm_build_set_params(xc_interface *handle, uint32_t domid, va_hvm = (struct hvm_info_table *)(va_map + HVM_INFO_OFFSET); va_hvm->apic_mode = libxl_defbool_val(info->u.hvm.apic); va_hvm->nr_vcpus = info->max_vcpus; + memset(va_hvm->vcpu_online, 0, sizeof(va_hvm->vcpu_online)); memcpy(va_hvm->vcpu_online, info->avail_vcpus.map, info->avail_vcpus.size); for (i = 0, sum = 0; i < va_hvm->length; i++) sum += ((uint8_t *) va_hvm)[i]; |