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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list