Bug 1374246

Summary: floppy device can not be detached on q35 under ovmf
Product: Red Hat Enterprise Linux 7 Reporter: jingzhao <jinzhao>
Component: qemu-kvm-rhevAssignee: Virtualization Maintenance <virt-maint>
Status: CLOSED NOTABUG QA Contact: Virtualization Bugs <virt-bugs>
Severity: high Docs Contact:
Priority: high    
Version: 7.3CC: aliang, chayang, juzhang, virt-maint
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-09-08 10:31:13 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:

Description jingzhao 2016-09-08 10:15:28 UTC
Description of problem:
floppy device can not be detached on q35 under ovmf

Version-Release number of selected component (if applicable):
OVMF-20160608-3.git988715a.el7.noarch
qemu-kvm-rhev-2.6.0-22.el7.x86_64 
host kernel:3.10.0-500.el7.x86_64
guest kernel:3.10.0-500.el7.x86_64

How reproducible:
3/3

Steps to Reproduce:
1.Boot guest with floppy device
/usr/libexec/qemu-kvm \
-M q35 \
-cpu SandyBridge \
-nodefaults -rtc base=utc \
-m 4G \
-smp 2,sockets=2,cores=1,threads=1 \
-enable-kvm \
-uuid 990ea161-6b67-47b2-b803-19fb01d30d12 \
-k en-us \
-nodefaults \
-drive file=/usr/share/OVMF/OVMF_CODE.secboot.fd,if=pflash,format=raw,unit=0,readonly=on \
-drive file=/home/OVMF_VARS.fd,if=pflash,format=raw,unit=1 \
-serial unix:/tmp/serial0,server,nowait \
-debugcon file:/home/ovmf.log \
-global isa-debugcon.iobase=0x402 \
-boot menu=on \
-qmp tcp:0:6666,server,nowait \
-vga qxl \
-spice port=5932,disable-ticketing \
-drive file=/home/bug/rhelovmf.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=none,werror=stop,rerror=stop \
-device virtio-blk-pci,drive=drive-virtio-disk0,id=virtio-disk0 \
-device virtio-net-pci,netdev=tap10,mac=9a:6a:6b:6c:6d:6e -netdev tap,id=tap10 \
-drive file=/home/floppy1.vfd,if=none,id=drive-fdc0-0-0,format=raw,cache=none \
-global isa-fdc.driveA=drive-fdc0-0-0 \
-usb -device usb-mouse,id=mouse \
-monitor stdio \

2.(qemu) info block
pflash0 (#block131): /usr/share/OVMF/OVMF_CODE.secboot.fd (raw, read-only)
    Cache mode:       writeback

pflash1 (#block333): /home/OVMF_VARS.fd (raw)
    Cache mode:       writeback

drive-virtio-disk0 (#block507): /home/bug/rhelovmf.qcow2 (qcow2)
    Cache mode:       writeback, direct

drive-fdc0-0-0 (#block702): /home/floppy1.vfd (raw)
    Removable device: not locked, tray closed
    Cache mode:       writeback, direct

3.check the floppy device on guest

Actual results:
Didn't found the floppy device
[root@localhost ~]# lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda           252:0    0   30G  0 disk 
├─vda1        252:1    0  200M  0 part /boot/efi
├─vda2        252:2    0    1G  0 part /boot
└─vda3        252:3    0 28.8G  0 part 
  ├─rhel-root 253:0    0 25.8G  0 lvm  /
  └─rhel-swap 253:1    0    3G  0 lvm  [SWAP]


Expected results:
floppy device can be detached

Additional info:
floppy can be detached on pc +seabios
Also failed on qemu-kvm-rhev-2.6.0-23.el7.x86_64 and host kernel:3.10.0-503.el7.x86_64,OVMF-20160608-3.git988715a.el7.noarch

Comment 2 jingzhao 2016-09-08 10:31:13 UTC
Update the cmd and floppy device can be found in guest

/usr/libexec/qemu-kvm \
-M q35 \
-cpu SandyBridge \
-nodefaults -rtc base=utc \
-m 4G \
-smp 2,sockets=2,cores=1,threads=1 \
-enable-kvm \
-uuid 990ea161-6b67-47b2-b803-19fb01d30d12 \
-k en-us \
-nodefaults \
-drive file=/usr/share/OVMF/OVMF_CODE.secboot.fd,if=pflash,format=raw,unit=0,readonly=on \
-drive file=/home/OVMF_VARS.fd,if=pflash,format=raw,unit=1 \
-serial unix:/tmp/serial0,server,nowait \
-debugcon file:/home/ovmf.log \
-global isa-debugcon.iobase=0x402 \
-boot menu=on \
-qmp tcp:0:6666,server,nowait \
-vga qxl \
-spice port=5932,disable-ticketing \
-drive file=/home/bug/rhelovmf.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=none,werror=stop,rerror=stop \
-device virtio-blk-pci,drive=drive-virtio-disk0,id=virtio-disk0 \
-device virtio-net-pci,netdev=tap10,mac=9a:6a:6b:6c:6d:6e -netdev tap,id=tap10 \
-drive file=/home/floppy1.vfd,if=none,id=drive-fdc0-0-0,format=raw,cache=none \
-device isa-fdc,driveA=drive-fdc0-0-0 \
-usb -device usb-mouse,id=mouse \
-monitor stdio \

According to above command and bz 1227880, close the bz