Bug 1180486
Summary: | [Power KVM] Floppy disk couldn't be detected on PPC64 guest | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Gu Nini <ngu> |
Component: | libvirt | Assignee: | Andrea Bolognani <abologna> |
Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 7.1 | CC: | abologna, bugproxy, dgibson, dyuan, dzheng, fnovak, gsun, jdenemar, jtomko, knoel, lagarcia, lhuang, michen, mzhan, qzhang, rbalakri, virt-maint, xuhan, ypu |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | ppc64 | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | libvirt-1.3.1-1.el7 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2016-11-03 18:11:53 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Gu Nini
2015-01-09 09:59:03 UTC
Can you see floppy in ppc64 (BE) guest? What about RHEL 7.0 ppc64 (BE) guest? Is floppy supported on PowerKVM? If the host is IBM's PowerKVM, can the same RHEL guests see the floppy? The floppy disk controller, as a legacy ISA device, is not supported on ppc64. So, this isn't a bug in qemu. I'm not sure if it should be considered a bug in libvirt that it doesn't provide an earlier and more useful error message. Jirka, do you have an opinion? Yeah, we should definitely fail to start the domain. If there is a way to check whether fdc is supported by QEMU, we should make sure ppc64 version of QEMU does not advertise the support and libvirt should start probing for it. If this can't be done, it shouldn't be hard to hack around it in libvirt. BTW, does 32b PPC support floppies? Ok,. I'm moving this bug over to libvirt. It should be possible to check for floppy support by looking for the "isa-fdc" device in "qemu -device ?" output. I've verified this doesn't appear on the ppc64 version of qemu-kvm. "does 32b PPC support floppies?" isn't really a meaningful question - it depends on the emulated platform, not on whether the cpu is 32 or 64 bit. Technically any platform with PCI could have an ISA bridge, and an FDC connected to that. So the ppc64 "pseries" platform *could* have an FDC, but it's unlikely in real hardware, and we've chosen not to support it in emulation. There's a lot more variety in 32-bit platforms. The 32-bit "PReP" platform would usually have the legacy ISA suite including the FDC, but the embedded 32-bit platforms would be even less likely to have one than pseries. The 32-bit Mac platforms could have floppy too, I think, but I think it's an Apple specific controller instead of the normal ISA one. The bug also exists on power system, the software versions are as follows: Host kernel: 3.10.53-2020.1.pkvm2_1_1.49.ppc64 Qemu kvm: qemu-2.0.0-2.1.pkvm2_1_1.20.40.ppc64 qemu-debuginfo-2.0.0-2.1.pkvm2_1_1.20.40.ppc64 qemu-common-2.0.0-2.1.pkvm2_1_1.20.40.ppc64 qemu-kvm-tools-2.0.0-2.1.pkvm2_1_1.20.40.ppc64 qemu-img-2.0.0-2.1.pkvm2_1_1.20.40.ppc64 qemu-kvm-2.0.0-2.1.pkvm2_1_1.20.40.ppc64 qemu-system-x86-2.0.0-2.1.pkvm2_1_1.20.40.ppc64 qemu-system-ppc-2.0.0-2.1.pkvm2_1_1.20.40.ppc64 That's expected, but thanks for confirming. I'll request this bug be mirrored to IBM. So is the bug and solution we're looking for a better / earlier error by libvirt? Because as David points out, floppy is not supported on Power systems... ------- Comment From fnovak.com 2015-02-06 13:17 EDT------- reverse mirror of RHBZ 1180486 - [Power KVM] Floppy disk couldn't be detected on PPC64 guest ------- Comment From fnovak.com 2015-02-06 13:19 EDT------- Frank, Yes, we're looking for libvirt to detect the case of ppc and not offer the FDC as an option. ------- Comment From saxena.prerna.com 2015-02-17 03:36 EDT------- Posted a patch to libvirt mailing list : https://www.redhat.com/archives/libvir-list/2015-February/msg00487.html. This is pending community feedback. Prerna, that patch doesn't look like the right approach. Surely it would be better to check for the availability of the isa-fdc device, rather than explicitly checking for the pseries machine type. ------- Comment From saxena.prerna.com 2015-02-18 03:44 EDT------- (In reply to comment #8) > Prerna, that patch doesn't look like the right approach. > > Surely it would be better to check for the availability of the isa-fdc > device, rather than explicitly checking for the pseries machine type. Hi David, Qemu doesnt seem to advertise supported devices in an arch-specific manner : I used the following command to verify if ISA -fdc is supported on PowerKVM 2.1.1 SP1 system : [root@PowerKVM] # qemu-system-ppc64 -M pseries -device ? And I see isa-fdc listed therein : ..... name "ich9-ahci", bus PCI, alias "ahci" name "ide-cd", bus IDE, desc "virtual IDE CD-ROM" name "ide-drive", bus IDE, desc "virtual IDE disk or CD-ROM (legacy)" name "ide-hd", bus IDE, desc "virtual IDE disk" name "isa-fdc", bus ISA name "isa-ide", bus ISA name "lsi53c810", bus PCI name "lsi53c895a", bus PCI, alias "lsi" name "megasas", bus PCI, desc "LSI MegaRAID SAS 1078" name "nvme", bus PCI, desc "Non-Volatile Memory Express" ....[snip] This listing is certainly odd, and cannot be relied upon. This is why I have had to patch libvirt per https://bugzilla.redhat.com/show_bug.cgi?id=1180486#c4 Prerna, Ok, I think that's a problem better fixed in the powerkvm version of qemu. In the RHEL version we've already removed the isa-fdc device. Libvirt uses -M none when probing for the available devices ("qom-list-types" on the QMP monitor). Probing for all machine types would require a major rewrite of the code. So if at least one machine type provided by the qemu binary supports isa-fdc, it will be detected. Filtering it out after that, as was proposed by Michal for another capability could be a nicer solution: https://www.redhat.com/archives/libvir-list/2015-February/msg00410.html ------- Comment From saxena.prerna.com 2015-02-18 11:14 EDT------- (In reply to comment #11) > Libvirt uses -M none when probing for the available devices > ("qom-list-types" on the QMP monitor). Probing for all machine types would > require a major rewrite of the code. > > So if at least one machine type provided by the qemu binary supports > isa-fdc, it will be detected. Filtering it out after that, as was proposed > by Michal for another capability could be a nicer solution: > https://www.redhat.com/archives/libvir-list/2015-February/msg00410.html Thanks for the tip, Jan. I will rework my patch in line with this patchset and repost it. ------- Comment From seg.com 2015-06-17 14:00 EDT------- In the absence of additional justification for customer impact, we will not be working this in the 2.1x maintenance stream. We will consider it for the 3.1.1 release. Pushed upstream as: commit d9557572ae7a67f4af0b064e5923568cff63966c Author: Kothapally Madhu Pavan <kmp.ibm.com> AuthorDate: 2015-07-30 07:55:36 -0400 Commit: Ján Tomko <jtomko> CommitDate: 2015-08-04 10:17:07 +0200 Avoid starting a PowerPC VM with floppy disk PowerPC pseries based VMs do not support a floppy disk controller. This prohibits libvirt from creating qemu command with floppy device. Signed-off-by: Kothapally Madhu Pavan <kmp.ibm.com> https://bugzilla.redhat.com/show_bug.cgi?id=1180486 Signed-off-by: Ján Tomko <jtomko> commit 020a1783183d2993506e4c09aef0b435595ba9ed Author: Kothapally Madhu Pavan <kmp.ibm.com> AuthorDate: 2015-07-30 07:54:26 -0400 Commit: Ján Tomko <jtomko> CommitDate: 2015-08-04 10:16:20 +0200 Caps: Disable floppy disk for PowerPC VM PowerPC pseries based VMs do not support a floppy disk controller. This prohibits libvirt from adding floppy disk for a PowerPC pseries VM. Signed-off-by: Kothapally Madhu Pavan <kmp.ibm.com> git describe: v1.2.18-23-gd955757 The fix has made it downstream with the (not so) recent rebases. Moving the bug to MODIFIED. Test packages: qemu-kvm-rhev-2.6.0-24.el7.ppc64le libvirt-2.0.0-8.el7.ppc64le kernel-3.10.0-500.el7.ppc64le # virsh dumpxml avocado-vt-vm1 | grep disk -a3 -A3 <on_crash>restart</on_crash> <devices> <emulator>/usr/libexec/qemu-kvm</emulator> <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/usr/share/avocado/data/avocado-vt/images/jeos-23-64.qcow2'/> <target dev='vda' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk> <disk type='file' device='floppy'> <driver name='qemu' type='raw' cache='none'/> <source file='/mnt/nfs/dzheng.test.raw'/> <target dev='fda' bus='fdc'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> ... # virsh start avocado-vt-vm1 error: Failed to start domain avocado-vt-vm1 error: unsupported configuration: PowerPC pseries machines do not support floppy device Check the libvirtd.log and can find 2016-09-12 07:58:14.855+0000: 12994: error : qemuBuildDiskDriveCommandLine:2126 : unsupported configuration: PowerPC pseries machines do not support floppy device So mark it verified. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHSA-2016-2577.html |