On 05/18/2013 04:02 PM, Matthias Bolte wrote:
Basically autotranslate VIR_DOMAIN_AFFECT_CURRENT to
VIR_DOMAIN_AFFECT_LIVE.
Modification impact is handled lax anyway. There is no distinction between
a live and a stored config in the VMware world. A strict modification impact
handling would require to check the virtual machine state each time and enforce
VIR_DOMAIN_AFFECT_LIVE-only for running and VIR_DOMAIN_AFFECT_CONFIG-only
for inactive domains. But that would be useless overhead.
---
src/esx/esx_driver.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c
index f53b9c4..85640ce 100644
--- a/src/esx/esx_driver.c
+++ b/src/esx/esx_driver.c
@@ -2531,7 +2531,7 @@ esxDomainSetVcpusFlags(virDomainPtr domain, unsigned int nvcpus,
esxVI_TaskInfoState taskInfoState;
char *taskInfoErrorMessage = NULL;
- if (flags != VIR_DOMAIN_AFFECT_LIVE) {
+ if (flags != VIR_DOMAIN_AFFECT_CURRENT && flags != VIR_DOMAIN_AFFECT_LIVE)
{
virReportError(VIR_ERR_INVALID_ARG, _("unsupported flags: (0x%x)"),
flags);
return -1;
}
Simpler to write this whole if as:
virCheckFlags(VIR_DOMAIN_AFFECT_LIVE, -1);
@@ -2615,7 +2615,8 @@ esxDomainGetVcpusFlags(virDomainPtr domain,
unsigned int flags)
esxVI_ObjectContent *hostSystem = NULL;
esxVI_DynamicProperty *dynamicProperty = NULL;
- if (flags != (VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_VCPU_MAXIMUM)) {
+ if (flags != (VIR_DOMAIN_AFFECT_CURRENT | VIR_DOMAIN_VCPU_MAXIMUM) &&
+ flags != (VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_VCPU_MAXIMUM)) {
virReportError(VIR_ERR_INVALID_ARG, _("unsupported flags: (0x%x)"),
flags);
return -1;
}
Might be simpler to write as:
virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_VCPU_MAXIMUM, -1);
if (!(flags & VIR_DOMAIN_VCPU_MAXIMUM))
error...
@@ -5222,7 +5223,7 @@ esxDomainGetMetadata(virDomainPtr domain, int
type,
esxVI_String *propertyNameList = NULL;
esxVI_ObjectContent *virtualMachine = NULL;
- if (flags != VIR_DOMAIN_AFFECT_LIVE) {
+ if (flags != VIR_DOMAIN_AFFECT_CURRENT && flags != VIR_DOMAIN_AFFECT_LIVE)
{
virReportError(VIR_ERR_INVALID_ARG, _("unsupported flags: (0x%x)"),
flags);
return NULL;
}
Simpler to write this whole if as:
virCheckFlags(VIR_DOMAIN_AFFECT_LIVE, -1);
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org