]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
virscsi: hostdev SCSI AdapterId retrieval fix
authorBoris Fiuczynski <fiuczy@linux.vnet.ibm.com>
Mon, 30 Sep 2013 12:23:17 +0000 (14:23 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Mon, 30 Sep 2013 13:04:46 +0000 (15:04 +0200)
Fixed the retrieval of the AdapterId from the AdapterName of the
hostdev source so it does return an error instead of leaving the
adapter_id uninitialized.

Signed-off-by: Boris Fiuczynski <fiuczy@linux.vnet.ibm.com>
Reviewed-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
src/util/virscsi.c

index 43658c0ed973ec7818d5fdcebb0b9f99bf1a16b7..7aca9e65c1f22d9d11ba5197f168c80b23bcc9db 100644 (file)
@@ -88,16 +88,13 @@ static int
 virSCSIDeviceGetAdapterId(const char *adapter,
                           unsigned int *adapter_id)
 {
-    if (STRPREFIX(adapter, "scsi_host")) {
-        if (virStrToLong_ui(adapter + strlen("scsi_host"),
-                            NULL, 0, adapter_id) < 0) {
-            virReportError(VIR_ERR_INTERNAL_ERROR,
-                           _("Cannot parse adapter '%s'"), adapter);
-            return -1;
-        }
-    }
-
-    return 0;
+    if (STRPREFIX(adapter, "scsi_host") &&
+        virStrToLong_ui(adapter + strlen("scsi_host"),
+                        NULL, 0, adapter_id) == 0)
+        return 0;
+    virReportError(VIR_ERR_INTERNAL_ERROR,
+                   _("Cannot parse adapter '%s'"), adapter);
+    return -1;
 }
 
 char *