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