[libvirt] [PATCH] esx: Explicitly disable unused floppy0 device for GSX

Matthias Bolte matthias.bolte at googlemail.com
Fri Aug 6 00:45:49 UTC 2010


floppy0.present defaults to true for GSX. Therefore, it needs to be
explicitly disabled for GSX.
---
 src/esx/esx_vmx.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/src/esx/esx_vmx.c b/src/esx/esx_vmx.c
index d5d9ff0..61aaf10 100644
--- a/src/esx/esx_vmx.c
+++ b/src/esx/esx_vmx.c
@@ -216,6 +216,7 @@ def->disks[0]...
 ## disks: floppy from .flp image ###############################################
 
                                         floppy0.present = "true"                # defaults to "false"
+                                                                                # defaults to "true" for GSX
                                         floppy0.startConnected = "true"         # defaults to "true"
                                         floppy0.clientDevice = "false"          # defaults to "false"
 
@@ -236,6 +237,7 @@ def->disks[0]...
 ## disks: floppy from host device ##############################################
 
                                         floppy0.present = "true"                # defaults to "false"
+                                                                                # defaults to "true" for GSX
                                         floppy0.startConnected = "true"         # defaults to "true"
                                         floppy0.clientDevice = "false"          # defaults to "false"
 
@@ -2320,6 +2322,7 @@ esxVMX_FormatConfig(esxVMX_Context *ctx, virCapsPtr caps, virDomainDefPtr def,
     virBuffer buffer = VIR_BUFFER_INITIALIZER;
     bool scsi_present[4] = { false, false, false, false };
     int scsi_virtualDev[4] = { -1, -1, -1, -1 };
+    bool hasFloppyDevice = false;
 
     if (ctx->formatFileName == NULL) {
         ESX_ERROR(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -2525,6 +2528,8 @@ esxVMX_FormatConfig(esxVMX_Context *ctx, virCapsPtr caps, virDomainDefPtr def,
             break;
 
           case VIR_DOMAIN_DISK_DEVICE_FLOPPY:
+            hasFloppyDevice = true;
+
             if (esxVMX_FormatFloppy(ctx, def->disks[i], &buffer) < 0) {
                 goto failure;
             }
@@ -2539,6 +2544,11 @@ esxVMX_FormatConfig(esxVMX_Context *ctx, virCapsPtr caps, virDomainDefPtr def,
         }
     }
 
+    if (!hasFloppyDevice && productVersion & esxVI_ProductVersion_GSX) {
+        /* floppy0.present defaults to true for GSX, disable it explicitly */
+        virBufferAddLit(&buffer, "floppy0.present = \"false\"\n");
+    }
+
     /* def:fss */
     /* FIXME */
 
-- 
1.7.0.4




More information about the libvir-list mailing list