We can't assume that qmp_query_uuid() always returns available value.

Signed-off-by: Amos Kong <ak...@redhat.com>
---
 block/iscsi.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/block/iscsi.c b/block/iscsi.c
index a2a961e..1fc1da4 100644
--- a/block/iscsi.c
+++ b/block/iscsi.c
@@ -1059,6 +1059,7 @@ static char *parse_initiator_name(const char *target)
     const char *name;
     char *iscsi_name;
     UuidInfo *uuid_info;
+    Error *errp = NULL;
 
     list = qemu_find_opts("iscsi");
     if (list) {
@@ -1074,8 +1075,10 @@ static char *parse_initiator_name(const char *target)
         }
     }
 
-    uuid_info = qmp_query_uuid(NULL);
-    if (strcmp(uuid_info->UUID, UUID_NONE) == 0) {
+    uuid_info = qmp_query_uuid(&errp);
+    if (error_is_set(&errp)) {
+        name = qemu_get_vm_name();
+    } else if (strcmp(uuid_info->UUID, UUID_NONE) == 0) {
         name = qemu_get_vm_name();
     } else {
         name = uuid_info->UUID;
-- 
1.8.3.1


Reply via email to