]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
vz: expand setting memory API calls
authorNikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Fri, 24 Jun 2016 14:32:35 +0000 (17:32 +0300)
committerMaxim Nestratov <mnestratov@virtuozzo.com>
Tue, 23 Aug 2016 16:48:01 +0000 (19:48 +0300)
We need it to prepare the calls for ACL checks otherwise ACL checking
script will fail.

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
src/vz/vz_driver.c

index 75cec6ced52039209bb783f01c4e3df72e11af26..194548289c403ea1416e3d932ebaa8c3afc0491f 100644 (file)
@@ -1886,8 +1886,8 @@ vzConnectUnregisterCloseCallback(virConnectPtr conn, virConnectCloseFunc cb)
     return ret;
 }
 
-static int vzDomainSetMemoryFlagsImpl(virDomainPtr domain, unsigned long memory,
-                                      unsigned int flags, bool useflags)
+static int vzDomainSetMemoryFlags(virDomainPtr domain, unsigned long memory,
+                                  unsigned int flags)
 {
     virDomainObjPtr dom = NULL;
     int ret = -1;
@@ -1899,7 +1899,7 @@ static int vzDomainSetMemoryFlagsImpl(virDomainPtr domain, unsigned long memory,
     if (!(dom = vzDomObjFromDomainRef(domain)))
         return -1;
 
-    if (useflags && vzCheckConfigUpdateFlags(dom, &flags) < 0)
+    if (vzCheckConfigUpdateFlags(dom, &flags) < 0)
         goto cleanup;
 
     if (vzDomainObjBeginJob(dom) < 0)
@@ -1919,15 +1919,30 @@ static int vzDomainSetMemoryFlagsImpl(virDomainPtr domain, unsigned long memory,
     return ret;
 }
 
-static int vzDomainSetMemoryFlags(virDomainPtr domain, unsigned long memory,
-                                  unsigned int flags)
-{
-    return vzDomainSetMemoryFlagsImpl(domain, memory, flags, true);
-}
-
 static int vzDomainSetMemory(virDomainPtr domain, unsigned long memory)
 {
-    return vzDomainSetMemoryFlagsImpl(domain, memory, 0, false);
+    virDomainObjPtr dom = NULL;
+    int ret = -1;
+    bool job = false;
+
+    if (!(dom = vzDomObjFromDomainRef(domain)))
+        return -1;
+
+    if (vzDomainObjBeginJob(dom) < 0)
+        goto cleanup;
+    job = true;
+
+    if (vzEnsureDomainExists(dom) < 0)
+        goto cleanup;
+
+    ret = prlsdkSetMemsize(dom, memory >> 10);
+
+ cleanup:
+
+    if (job)
+        vzDomainObjEndJob(dom);
+    virDomainObjEndAPI(&dom);
+    return ret;
 }
 
 static virDomainSnapshotObjPtr