]> xenbits.xensource.com Git - libvirt.git/commitdiff
vz: fix template ct creation
authorMikhail Feoktistov <mfeoktistov@virtuozzo.com>
Fri, 8 Apr 2016 07:41:35 +0000 (10:41 +0300)
committerMaxim Nestratov <mnestratov@virtuozzo.com>
Tue, 17 May 2016 10:35:29 +0000 (13:35 +0300)
First we don't need to add disk in this case. Second flag should
be skipped.

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

index e487f26dbd23659ac27ee4403a2373b3cfc1c500..b595fe72d578bd27a4ac2491d702914b5b71d458 100644 (file)
@@ -3435,6 +3435,9 @@ prlsdkAddFS(PRL_HANDLE sdkdom, virDomainFSDefPtr fs)
     PRL_HANDLE sdkdisk = PRL_INVALID_HANDLE;
     int ret = -1;
 
+    if (fs->type == VIR_DOMAIN_FS_TYPE_TEMPLATE)
+        return 0;
+
     if (prlsdkCheckFSUnsupportedParams(fs) < 0)
         return -1;
 
@@ -3733,6 +3736,7 @@ prlsdkCreateCt(vzDriverPtr driver, virDomainDefPtr def)
     PRL_HANDLE job = PRL_INVALID_HANDLE;
     PRL_HANDLE result = PRL_INVALID_HANDLE;
     PRL_RESULT pret;
+    PRL_UINT32 flags;
     int ret = -1;
     int useTemplate = 0;
     size_t i;
@@ -3777,8 +3781,10 @@ prlsdkCreateCt(vzDriverPtr driver, virDomainDefPtr def)
     if (ret)
         goto cleanup;
 
-    job = PrlVm_RegEx(sdkdom, "",
-                      PACF_NON_INTERACTIVE_MODE | PRNVM_PRESERVE_DISK);
+    flags = PACF_NON_INTERACTIVE_MODE;
+    if (!useTemplate)
+        flags |= PRNVM_PRESERVE_DISK;
+    job = PrlVm_RegEx(sdkdom, "", flags);
     if (PRL_FAILED(waitJob(job)))
         ret = -1;