mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-03 11:35:19 +00:00
qemu: process: Refresh ejectable media tray state on VM start
Empty floppy drives start with tray in "open" state and libvirt did not refresh it after startup. The code that inserts media into the tray then waited until the tray was open before inserting the media and thus floppies could not be inserted. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1326660
This commit is contained in:
parent
809d02ca36
commit
a34faf3301
@ -300,8 +300,14 @@ qemuDomainCheckEjectableMedia(virQEMUDriverPtr driver,
|
||||
if (!info)
|
||||
goto cleanup;
|
||||
|
||||
if (info->tray_open && virDomainDiskGetSource(disk))
|
||||
ignore_value(virDomainDiskSetSource(disk, NULL));
|
||||
if (info->tray_open) {
|
||||
if (virDomainDiskGetSource(disk))
|
||||
ignore_value(virDomainDiskSetSource(disk, NULL));
|
||||
|
||||
disk->tray_status = VIR_DOMAIN_DISK_TRAY_OPEN;
|
||||
} else {
|
||||
disk->tray_status = VIR_DOMAIN_DISK_TRAY_CLOSED;
|
||||
}
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
|
@ -5555,6 +5555,10 @@ qemuProcessLaunch(virConnectPtr conn,
|
||||
if (qemuProcessUpdateVideoRamSize(driver, vm, asyncJob) < 0)
|
||||
goto cleanup;
|
||||
|
||||
VIR_DEBUG("Updating ejectable media status");
|
||||
if (qemuDomainCheckEjectableMedia(driver, vm, asyncJob) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (flags & VIR_QEMU_PROCESS_START_AUTODESTROY &&
|
||||
qemuProcessAutoDestroyAdd(driver, vm, conn) < 0)
|
||||
goto cleanup;
|
||||
|
Loading…
Reference in New Issue
Block a user