
# HG changeset patch # User Kaitlin Rupert <karupert@us.ibm.com> # Date 1212540049 25200 # Node ID 8fdff95eb25e04745c992a76a85f45039e5022a5 # Parent 345ed17b623f12a2befafa7841c2ae89b1a47dc7 Add KVM proc/mem check in _resource_dynamic(). KVM doesn't support VCPU / memory modification of running guests. Signed-off-by: Kaitlin Rupert <karupert@us.ibm.com> diff -r 345ed17b623f -r 8fdff95eb25e src/Virt_VirtualSystemManagementService.c --- a/src/Virt_VirtualSystemManagementService.c Tue Jun 03 11:48:18 2008 -0700 +++ b/src/Virt_VirtualSystemManagementService.c Tue Jun 03 17:40:49 2008 -0700 @@ -912,6 +912,7 @@ virConnectPtr conn; virDomainPtr dom; int (*func)(virDomainPtr, struct virt_device *); + char *prefix = NULL; if (action == RESOURCE_ADD) func = attach_device; @@ -951,6 +952,17 @@ goto out; } + prefix = class_prefix_name(refcn); + + if (((dev->type == CIM_RES_TYPE_PROC) || + (dev->type == CIM_RES_TYPE_MEM)) && (STREQ(prefix, "KVM"))) { + cu_statusf(_BROKER, &s, + CMPI_RC_ERR_FAILED, + "Running guest cannot modify resource type %" PRIu16, + dev->type); + goto out; + } + CU_DEBUG("Doing dynamic device update for `%s'", dominfo->name); if (func(dom, dev) == 0) { @@ -963,6 +975,7 @@ ""); } out: + free(prefix); virDomainFree(dom); virConnectClose(conn);