When commit @6ac402c456a added the API whenever VIR_DOMAIN_MEM_MAXIMUM
was passed the code always checked whether the domain was active and
therefore failed with an error even though only a config change was
requested. Fix the issue by replacing virDomainObjGetOneDef with
virDomainObjGetOneDefState which tells us what definition we're
performing the change on.
Signed-off-by: Erik Skultety <eskultet(a)redhat.com>
---
src/test/test_driver.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/test/test_driver.c b/src/test/test_driver.c
index 56f6b78ecc..da044027bf 100755
--- a/src/test/test_driver.c
+++ b/src/test/test_driver.c
@@ -2524,6 +2524,7 @@ static int testDomainSetMemoryFlags(virDomainPtr domain,
virDomainObjPtr vm;
virDomainDefPtr def;
int ret = -1;
+ bool live = false;
virCheckFlags(VIR_DOMAIN_AFFECT_LIVE |
VIR_DOMAIN_AFFECT_CONFIG |
@@ -2532,11 +2533,11 @@ static int testDomainSetMemoryFlags(virDomainPtr domain,
if (!(vm = testDomObjFromDomain(domain)))
return -1;
- if (!(def = virDomainObjGetOneDef(vm, flags)))
+ if (!(def = virDomainObjGetOneDefState(vm, flags, &live)))
goto cleanup;
if (flags & VIR_DOMAIN_MEM_MAXIMUM) {
- if (virDomainObjIsActive(vm)) {
+ if (live) {
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
_("cannot resize the maximum memory on an "
"active domain"));
--
2.21.0