[libvirt] [PATCH] esx: Allow 'lsisas1068' as SCSI controller type

Matthias Bolte matthias.bolte at googlemail.com
Fri Mar 12 20:19:02 UTC 2010


Extend tests to cover all SCSI controller types and document the new type.
---
 docs/drvesx.html.in                         |    4 +++
 src/esx/esx_vmx.c                           |   14 +++++++-----
 tests/vmx2xmldata/vmx2xml-scsi-buslogic.vmx |    7 ------
 tests/vmx2xmldata/vmx2xml-scsi-buslogic.xml |   20 ------------------
 tests/vmx2xmldata/vmx2xml-scsi-driver.vmx   |   17 +++++++++++++++
 tests/vmx2xmldata/vmx2xml-scsi-driver.xml   |   30 +++++++++++++++++++++++++++
 tests/vmx2xmltest.c                         |    2 +-
 tests/xml2vmxdata/xml2vmx-scsi-buslogic.vmx |   12 ----------
 tests/xml2vmxdata/xml2vmx-scsi-buslogic.xml |   15 -------------
 tests/xml2vmxdata/xml2vmx-scsi-driver.vmx   |   22 +++++++++++++++++++
 tests/xml2vmxdata/xml2vmx-scsi-driver.xml   |   25 ++++++++++++++++++++++
 tests/xml2vmxtest.c                         |    2 +-
 12 files changed, 108 insertions(+), 62 deletions(-)
 delete mode 100644 tests/vmx2xmldata/vmx2xml-scsi-buslogic.vmx
 delete mode 100644 tests/vmx2xmldata/vmx2xml-scsi-buslogic.xml
 create mode 100644 tests/vmx2xmldata/vmx2xml-scsi-driver.vmx
 create mode 100644 tests/vmx2xmldata/vmx2xml-scsi-driver.xml
 delete mode 100644 tests/xml2vmxdata/xml2vmx-scsi-buslogic.vmx
 delete mode 100644 tests/xml2vmxdata/xml2vmx-scsi-buslogic.xml
 create mode 100644 tests/xml2vmxdata/xml2vmx-scsi-driver.vmx
 create mode 100644 tests/xml2vmxdata/xml2vmx-scsi-driver.xml

diff --git a/docs/drvesx.html.in b/docs/drvesx.html.in
index 44a144f..9b413ab 100644
--- a/docs/drvesx.html.in
+++ b/docs/drvesx.html.in
@@ -275,6 +275,10 @@ ethernet0.checkMACAddress = "false"
         <dd>
             LSI Logic SCSI controller for recent guests.
         </dd>
+        <dt><code>lsisas1068</code></dt>
+        <dd>
+            LSI Logic SAS 1068 controller.
+        </dd>
     </dl>
     <p>
         Here a domain XML snippet:
diff --git a/src/esx/esx_vmx.c b/src/esx/esx_vmx.c
index ba4c608..6c1d56e 100644
--- a/src/esx/esx_vmx.c
+++ b/src/esx/esx_vmx.c
@@ -557,10 +557,11 @@ esxVMX_GatherSCSIControllers(virDomainDefPtr def, char *virtualDev[4],
 
         if (disk->driverName != NULL &&
             STRCASENEQ(disk->driverName, "buslogic") &&
-            STRCASENEQ(disk->driverName, "lsilogic")) {
+            STRCASENEQ(disk->driverName, "lsilogic") &&
+            STRCASENEQ(disk->driverName, "lsisas1068")) {
             ESX_ERROR(VIR_ERR_INTERNAL_ERROR,
                       "Expecting domain XML entry 'devices/disk/target' to be "
-                      "'buslogic' or 'lsilogic' but found '%s'",
+                      "'buslogic' or 'lsilogic' or 'lsisas1068' but found '%s'",
                       disk->driverName);
             return -1;
         }
@@ -1269,10 +1270,11 @@ esxVMX_ParseSCSIController(virConfPtr conf, int controller, int *present,
 
     if (*virtualDev != NULL &&
         STRCASENEQ(*virtualDev, "buslogic") &&
-        STRCASENEQ(*virtualDev, "lsilogic")) {
+        STRCASENEQ(*virtualDev, "lsilogic") &&
+        STRCASENEQ(*virtualDev, "lsisas1068")) {
         ESX_ERROR(VIR_ERR_INTERNAL_ERROR,
-                  "Expecting VMX entry '%s' to be 'buslogic' or 'lsilogic' "
-                  "but found '%s'", virtualDev_name, *virtualDev);
+                  "Expecting VMX entry '%s' to be 'buslogic' or 'lsilogic' or "
+                  "'lsisas1068' but found '%s'", virtualDev_name, *virtualDev);
         goto failure;
     }
 
@@ -1312,7 +1314,7 @@ esxVMX_ParseDisk(esxVI_Context *ctx, virConfPtr conf, int device, int bus,
      *        bus = VIR_DOMAIN_DISK_BUS_SCSI
      * controller = [0..3]
      *         id = [0..6,8..15]
-     * virtualDev = {'buslogic', 'lsilogic'}
+     * virtualDev = {'buslogic', 'lsilogic', 'lsisas1068'}
      *
      *     device = {VIR_DOMAIN_DISK_DEVICE_DISK, VIR_DOMAIN_DISK_DEVICE_CDROM}
      *        bus = VIR_DOMAIN_DISK_BUS_IDE
diff --git a/tests/vmx2xmldata/vmx2xml-scsi-buslogic.vmx b/tests/vmx2xmldata/vmx2xml-scsi-buslogic.vmx
deleted file mode 100644
index 1725051..0000000
--- a/tests/vmx2xmldata/vmx2xml-scsi-buslogic.vmx
+++ /dev/null
@@ -1,7 +0,0 @@
-config.version = "8"
-virtualHW.version = "4"
-scsi0.present = "true"
-scsi0.virtualDev = "buslogic"
-scsi0:0.present = "true"
-scsi0:0.deviceType = "scsi-hardDisk"
-scsi0:0.fileName = "harddisk.vmdk"
diff --git a/tests/vmx2xmldata/vmx2xml-scsi-buslogic.xml b/tests/vmx2xmldata/vmx2xml-scsi-buslogic.xml
deleted file mode 100644
index 2ffb866..0000000
--- a/tests/vmx2xmldata/vmx2xml-scsi-buslogic.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<domain type='vmware'>
-  <uuid>00000000-0000-0000-0000-000000000000</uuid>
-  <memory>32768</memory>
-  <currentMemory>32768</currentMemory>
-  <vcpu>1</vcpu>
-  <os>
-    <type arch='i686'>hvm</type>
-  </os>
-  <clock offset='utc'/>
-  <on_poweroff>destroy</on_poweroff>
-  <on_reboot>restart</on_reboot>
-  <on_crash>destroy</on_crash>
-  <devices>
-    <disk type='file' device='disk'>
-      <driver name='buslogic'/>
-      <source file='[datastore] directory/harddisk.vmdk'/>
-      <target dev='sda' bus='scsi'/>
-    </disk>
-  </devices>
-</domain>
diff --git a/tests/vmx2xmldata/vmx2xml-scsi-driver.vmx b/tests/vmx2xmldata/vmx2xml-scsi-driver.vmx
new file mode 100644
index 0000000..cb055f6
--- /dev/null
+++ b/tests/vmx2xmldata/vmx2xml-scsi-driver.vmx
@@ -0,0 +1,17 @@
+config.version = "8"
+virtualHW.version = "4"
+scsi0.present = "true"
+scsi0.virtualDev = "buslogic"
+scsi1.present = "true"
+scsi1.virtualDev = "lsilogic"
+scsi2.present = "true"
+scsi2.virtualDev = "lsisas1068"
+scsi0:0.present = "true"
+scsi0:0.deviceType = "scsi-hardDisk"
+scsi0:0.fileName = "harddisk1.vmdk"
+scsi1:0.present = "true"
+scsi1:0.deviceType = "scsi-hardDisk"
+scsi1:0.fileName = "harddisk2.vmdk"
+scsi2:0.present = "true"
+scsi2:0.deviceType = "scsi-hardDisk"
+scsi2:0.fileName = "harddisk3.vmdk"
diff --git a/tests/vmx2xmldata/vmx2xml-scsi-driver.xml b/tests/vmx2xmldata/vmx2xml-scsi-driver.xml
new file mode 100644
index 0000000..1fa9ac4
--- /dev/null
+++ b/tests/vmx2xmldata/vmx2xml-scsi-driver.xml
@@ -0,0 +1,30 @@
+<domain type='vmware'>
+  <uuid>00000000-0000-0000-0000-000000000000</uuid>
+  <memory>32768</memory>
+  <currentMemory>32768</currentMemory>
+  <vcpu>1</vcpu>
+  <os>
+    <type arch='i686'>hvm</type>
+  </os>
+  <clock offset='utc'/>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>destroy</on_crash>
+  <devices>
+    <disk type='file' device='disk'>
+      <driver name='buslogic'/>
+      <source file='[datastore] directory/harddisk1.vmdk'/>
+      <target dev='sda' bus='scsi'/>
+    </disk>
+    <disk type='file' device='disk'>
+      <driver name='lsilogic'/>
+      <source file='[datastore] directory/harddisk2.vmdk'/>
+      <target dev='sdp' bus='scsi'/>
+    </disk>
+    <disk type='file' device='disk'>
+      <driver name='lsisas1068'/>
+      <source file='[datastore] directory/harddisk3.vmdk'/>
+      <target dev='sdae' bus='scsi'/>
+    </disk>
+  </devices>
+</domain>
diff --git a/tests/vmx2xmltest.c b/tests/vmx2xmltest.c
index b4eb5d5..e75def4 100644
--- a/tests/vmx2xmltest.c
+++ b/tests/vmx2xmltest.c
@@ -122,7 +122,7 @@ mymain(int argc, char **argv)
 
     DO_TEST("graphics-vnc", "graphics-vnc", esxVI_APIVersion_25);
 
-    DO_TEST("scsi-buslogic", "scsi-buslogic", esxVI_APIVersion_25);
+    DO_TEST("scsi-driver", "scsi-driver", esxVI_APIVersion_25);
     DO_TEST("scsi-writethrough", "scsi-writethrough", esxVI_APIVersion_25);
 
     DO_TEST("harddisk-scsi-file", "harddisk-scsi-file", esxVI_APIVersion_25);
diff --git a/tests/xml2vmxdata/xml2vmx-scsi-buslogic.vmx b/tests/xml2vmxdata/xml2vmx-scsi-buslogic.vmx
deleted file mode 100644
index 2f98da3..0000000
--- a/tests/xml2vmxdata/xml2vmx-scsi-buslogic.vmx
+++ /dev/null
@@ -1,12 +0,0 @@
-config.version = "8"
-virtualHW.version = "4"
-guestOS = "other"
-uuid.bios = "56 4d 9b ef ac d9 b4 e0-c8 f0 ae a8 b9 10 35 15"
-displayName = "scsi-buslogic"
-memsize = "4"
-numvcpus = "1"
-scsi0.present = "true"
-scsi0.virtualDev = "buslogic"
-scsi0:0.present = "true"
-scsi0:0.deviceType = "scsi-hardDisk"
-scsi0:0.fileName = "/vmfs/volumes/datastore/directory/harddisk.vmdk"
diff --git a/tests/xml2vmxdata/xml2vmx-scsi-buslogic.xml b/tests/xml2vmxdata/xml2vmx-scsi-buslogic.xml
deleted file mode 100644
index 5d52c54..0000000
--- a/tests/xml2vmxdata/xml2vmx-scsi-buslogic.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<domain type='vmware'>
-  <name>scsi-buslogic</name>
-  <uuid>564d9bef-acd9-b4e0-c8f0-aea8b9103515</uuid>
-  <memory>4096</memory>
-  <os>
-    <type>hvm</type>
-  </os>
-  <devices>
-    <disk type='file' device='disk'>
-      <driver name='buslogic'/>
-      <source file='[datastore] directory/harddisk.vmdk'/>
-      <target dev='sda' bus='scsi'/>
-    </disk>
-  </devices>
-</domain>
diff --git a/tests/xml2vmxdata/xml2vmx-scsi-driver.vmx b/tests/xml2vmxdata/xml2vmx-scsi-driver.vmx
new file mode 100644
index 0000000..7cceca0
--- /dev/null
+++ b/tests/xml2vmxdata/xml2vmx-scsi-driver.vmx
@@ -0,0 +1,22 @@
+config.version = "8"
+virtualHW.version = "4"
+guestOS = "other"
+uuid.bios = "56 4d 9b ef ac d9 b4 e0-c8 f0 ae a8 b9 10 35 15"
+displayName = "scsi-buslogic"
+memsize = "4"
+numvcpus = "1"
+scsi0.present = "true"
+scsi0.virtualDev = "buslogic"
+scsi1.present = "true"
+scsi1.virtualDev = "lsilogic"
+scsi2.present = "true"
+scsi2.virtualDev = "lsisas1068"
+scsi0:0.present = "true"
+scsi0:0.deviceType = "scsi-hardDisk"
+scsi0:0.fileName = "/vmfs/volumes/datastore/directory/harddisk1.vmdk"
+scsi1:0.present = "true"
+scsi1:0.deviceType = "scsi-hardDisk"
+scsi1:0.fileName = "/vmfs/volumes/datastore/directory/harddisk2.vmdk"
+scsi2:0.present = "true"
+scsi2:0.deviceType = "scsi-hardDisk"
+scsi2:0.fileName = "/vmfs/volumes/datastore/directory/harddisk3.vmdk"
diff --git a/tests/xml2vmxdata/xml2vmx-scsi-driver.xml b/tests/xml2vmxdata/xml2vmx-scsi-driver.xml
new file mode 100644
index 0000000..797a26e
--- /dev/null
+++ b/tests/xml2vmxdata/xml2vmx-scsi-driver.xml
@@ -0,0 +1,25 @@
+<domain type='vmware'>
+  <name>scsi-buslogic</name>
+  <uuid>564d9bef-acd9-b4e0-c8f0-aea8b9103515</uuid>
+  <memory>4096</memory>
+  <os>
+    <type>hvm</type>
+  </os>
+  <devices>
+    <disk type='file' device='disk'>
+      <driver name='buslogic'/>
+      <source file='[datastore] directory/harddisk1.vmdk'/>
+      <target dev='sda' bus='scsi'/>
+    </disk>
+    <disk type='file' device='disk'>
+      <driver name='lsilogic'/>
+      <source file='[datastore] directory/harddisk2.vmdk'/>
+      <target dev='sdp' bus='scsi'/>
+    </disk>
+    <disk type='file' device='disk'>
+      <driver name='lsisas1068'/>
+      <source file='[datastore] directory/harddisk3.vmdk'/>
+      <target dev='sdae' bus='scsi'/>
+    </disk>
+  </devices>
+</domain>
diff --git a/tests/xml2vmxtest.c b/tests/xml2vmxtest.c
index b8b9d6f..f9c4730 100644
--- a/tests/xml2vmxtest.c
+++ b/tests/xml2vmxtest.c
@@ -175,7 +175,7 @@ mymain(int argc, char **argv)
 
     DO_TEST("graphics-vnc", "graphics-vnc", esxVI_APIVersion_25);
 
-    DO_TEST("scsi-buslogic", "scsi-buslogic", esxVI_APIVersion_25);
+    DO_TEST("scsi-driver", "scsi-driver", esxVI_APIVersion_25);
     DO_TEST("scsi-writethrough", "scsi-writethrough", esxVI_APIVersion_25);
 
     DO_TEST("harddisk-scsi-file", "harddisk-scsi-file", esxVI_APIVersion_25);
-- 
1.6.3.3




More information about the libvir-list mailing list