From: Gonglei <arei.gong...@huawei.com>

If boot order is invaild or is set failed,
exit qemu.

Signed-off-by: Gonglei <arei.gong...@huawei.com>
---
 bootdevice.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/bootdevice.c b/bootdevice.c
index 52d3f9e..8d05b8d 100644
--- a/bootdevice.c
+++ b/bootdevice.c
@@ -94,6 +94,7 @@ void restore_boot_order(void *opaque)
 {
     char *normal_boot_order = opaque;
     static int first = 1;
+    Error *local_err = NULL;
 
     /* Restore boot order and remove ourselves after the first boot */
     if (first) {
@@ -101,7 +102,12 @@ void restore_boot_order(void *opaque)
         return;
     }
 
-    qemu_boot_set(normal_boot_order, NULL);
+    qemu_boot_set(normal_boot_order, &local_err);
+    if (local_err) {
+        error_report("%s", error_get_pretty(local_err));
+        error_free(local_err);
+        exit(1);
+    }
 
     qemu_unregister_reset(restore_boot_order, normal_boot_order);
     g_free(normal_boot_order);
-- 
1.7.12.4



Reply via email to