]> xenbits.xensource.com Git - libvirt.git/commitdiff
esxStorageVolGetXMLDesc: Lookup SCSI lun properly
authorMichal Privoznik <mprivozn@redhat.com>
Tue, 31 May 2016 10:12:13 +0000 (12:12 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Tue, 31 May 2016 11:36:25 +0000 (13:36 +0200)
So the idea is as follows: firstly we obtain a list of all the
luns, then iterate over it trying to find the one we want to work
with and after all the iterations we detect whether we have found
something. Now, the last check is broken, because it compares a
value form previous iteration, not the one we've just been
through.

Then, when computing md5 sum of lun's UUID, we use wrong variable
again. Well, @hostScsiDisk which is type of esxVI_HostScsiDisk
extends esxVI_ScsiLun type so they both have the uuid member, but
it just doesn't feel right to access the data via two different
variables in one function call.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
src/esx/esx_storage_backend_iscsi.c

index a9a19cf2e869667a74ec4e151008e33a48979a0f..96b472ee07772a33b9e13a7f11305abe66be320a 100644 (file)
@@ -687,7 +687,7 @@ esxStorageVolGetXMLDesc(virStorageVolPtr volume,
         }
     }
 
-    if (!hostScsiDisk) {
+    if (!scsiLun) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("Could find volume with name: %s"), volume->name);
         goto cleanup;
@@ -697,7 +697,7 @@ esxStorageVolGetXMLDesc(virStorageVolPtr volume,
 
     def.name = volume->name;
 
-    md5_buffer(scsiLun->uuid, strlen(hostScsiDisk->uuid), md5);
+    md5_buffer(scsiLun->uuid, strlen(scsiLun->uuid), md5);
 
     virUUIDFormat(md5, uuid_string);