6ae9ed
From 1690fc880503ccade44111950a331e5563733d93 Mon Sep 17 00:00:00 2001
6ae9ed
Message-Id: <1690fc880503ccade44111950a331e5563733d93@dist-git>
6ae9ed
From: Martin Kletzander <mkletzan@redhat.com>
6ae9ed
Date: Tue, 2 Aug 2016 13:32:33 +0200
6ae9ed
Subject: [PATCH] qemu: Make qemuDomainCheckDiskStartupPolicy self-contained
6ae9ed
6ae9ed
https://bugzilla.redhat.com/show_bug.cgi?id=1168453
6ae9ed
6ae9ed
There is an error reset following the function and check for
6ae9ed
startupPolicy before that.  Let's reflect those things inside that
6ae9ed
function so that future code doesn't have to be that complex.
6ae9ed
6ae9ed
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
6ae9ed
(cherry picked from commit e2705cfb6e50039a5f1d1c620f7ed18b37eca36d)
6ae9ed
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
6ae9ed
---
6ae9ed
 src/qemu/qemu_domain.c | 10 +++-------
6ae9ed
 1 file changed, 3 insertions(+), 7 deletions(-)
6ae9ed
6ae9ed
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
6ae9ed
index 158f3ef..383356d 100644
6ae9ed
--- a/src/qemu/qemu_domain.c
6ae9ed
+++ b/src/qemu/qemu_domain.c
6ae9ed
@@ -4089,6 +4089,7 @@ qemuDomainCheckDiskStartupPolicy(virQEMUDriverPtr driver,
6ae9ed
                 return -1;
6ae9ed
             break;
6ae9ed
 
6ae9ed
+        case VIR_DOMAIN_STARTUP_POLICY_DEFAULT:
6ae9ed
         case VIR_DOMAIN_STARTUP_POLICY_MANDATORY:
6ae9ed
             return -1;
6ae9ed
 
6ae9ed
@@ -4097,14 +4098,13 @@ qemuDomainCheckDiskStartupPolicy(virQEMUDriverPtr driver,
6ae9ed
                 return -1;
6ae9ed
             break;
6ae9ed
 
6ae9ed
-        case VIR_DOMAIN_STARTUP_POLICY_DEFAULT:
6ae9ed
         case VIR_DOMAIN_STARTUP_POLICY_LAST:
6ae9ed
             /* this should never happen */
6ae9ed
             break;
6ae9ed
     }
6ae9ed
 
6ae9ed
     qemuDomainCheckRemoveOptionalDisk(driver, vm, diskIndex);
6ae9ed
-
6ae9ed
+    virResetLastError();
6ae9ed
     return 0;
6ae9ed
 }
6ae9ed
 
6ae9ed
@@ -4138,12 +4138,8 @@ qemuDomainCheckDiskPresence(virQEMUDriverPtr driver,
6ae9ed
         if (qemuDomainDetermineDiskChain(driver, vm, disk, true, true) >= 0)
6ae9ed
             continue;
6ae9ed
 
6ae9ed
-        if (disk->startupPolicy &&
6ae9ed
-            qemuDomainCheckDiskStartupPolicy(driver, vm, idx,
6ae9ed
-                                             cold_boot) >= 0) {
6ae9ed
-            virResetLastError();
6ae9ed
+        if (qemuDomainCheckDiskStartupPolicy(driver, vm, idx, cold_boot) >= 0)
6ae9ed
             continue;
6ae9ed
-        }
6ae9ed
 
6ae9ed
         goto error;
6ae9ed
     }
6ae9ed
-- 
6ae9ed
2.9.2
6ae9ed