Message ID | 1383610089-12168-1-git-send-email-akong@redhat.com |
---|---|
State | New |
Headers | show |
Il 05/11/2013 01:08, Amos Kong ha scritto: > We can't assume that qmp_query_uuid() always returns available value. > > Signed-off-by: Amos Kong <akong@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; > Does this fix an actual bug? qmp_query_uuid will never fail, it just has an Error* argument to comply with the requirements of the code generator. Paolo
On Tue, Nov 05, 2013 at 10:03:10AM +0100, Paolo Bonzini wrote: > Il 05/11/2013 01:08, Amos Kong ha scritto: > > We can't assume that qmp_query_uuid() always returns available value. > > > > Signed-off-by: Amos Kong <akong@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; > > > > Does this fix an actual bug? No a bug fixing. > qmp_query_uuid will never fail, it just > has an Error* argument to comply with the requirements of the code > generator. Yes, this patch isn't necessary for current qmp_query_uuid() We can ignore this patch. > Paolo
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;
We can't assume that qmp_query_uuid() always returns available value. Signed-off-by: Amos Kong <akong@redhat.com> --- block/iscsi.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)