Bug 625319

Summary: Failed to update the media in floppy device
Product: Red Hat Enterprise Linux 6 Reporter: xhu
Component: qemu-kvmAssignee: Kevin Wolf <kwolf>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: high    
Version: 6.0CC: bcao, berrange, eblake, ehabkost, llim, mjenner, mkenneth, szhou, tburke, virt-maint, xen-maint, yoyzhang
Target Milestone: beta   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: qemu-kvm-0.12.1.2-2.122.el6 Doc Type: Bug Fix
Doc Text:
Cause: bugs in the 'removable' check for virtual media change for 'if=none' devices in qemu-kvm. Consequence: it was not possible to change the media for virtual floppy devices. Fix: added code to support virtual media change for if=none devices too. Result: changing of media of virtual floppy devices now works.
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-05-19 11:26:55 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 580954    

Description xhu 2010-08-19 04:43:04 UTC
Description of problem:
Failed to update the media in floppy device

Version-Release number of selected component (if applicable):
kernel-2.6.32-63.el6.x86_64
libvirt-0.8.1-25.el6.x86_64
qemu-kvm-0.12.1.2-2.111.el6.x86_64

How reproducible:
everytime

Steps to Reproduce:
1. Make two floppy disk image file
# dd if=/dev/zero of=/var/lib/libvirt/images/fd1.img count=1024 bs=1024
# mkfs.ext3 /var/lib/libvirt/images/fd1.img
# dd if=/dev/zero of=/var/lib/libvirt/images/fd2.img count=1024 bs=1024
# mkfs.ext3 /var/lib/libvirt/images/fd2.img
2. Define a domain with floppy device connected with in config xml file
<disk type='file' device='floppy'>
    <driver name='qemu' type='raw'/>
      <source file='/var/lib/libvirt/images/fd1.img'/>
      <target dev='fda' bus='fdc'/>
</disk>
3.Start the domain
# virsh start rhel6
Domain rhel6 started
4. In guest, mount floppy device, do some write opertion to floppy device.
# modprobe floppy
# mount /dev/fd0 /media
5. Prepare a xml as flollowing:
# cat floppy.xml
<disk type='file' device='floppy'>
    <driver name='qemu' type='raw'/>
      <source file='/var/lib/libvirt/images/fd2.img'/>
      <target dev='fda' bus='fdc'/>
</disk>
6. Try to update the media int floppy device
# virsh update-device rhel6 floppy.xml
error: Failed to update device from floppy.xml
error: internal error unable to execute QEMU command 'change': Device 'drive-fdc0-0-0' is not removable

Actual results:
After step 6, Failed to update the media int floppy device and error occures.

Expected results:
After step 6, the floppy device should be updated successfully.

Additional info:

Comment 2 Daniel Berrangé 2010-08-19 08:02:01 UTC
QEMU seems to be confused, thinking the floppy is a fixed disk device. It is obviously removable.

Comment 3 Mike Cao 2010-08-20 05:37:52 UTC
1.start VM with 
-drive file=/virtio-win-1.1.12-0.vfd,if=none,id=drive-fdc0-0-0,format=raw -global isa-fdc.driveA=drive-fdc0-0-0
2.(qemu)info block
drive-fdc-0-0-0:type=hd removable=0 file=/virtio-win-1.1.12.0.vfd ro=0 drv=raw encrypted=0.

This will hit the issue described in comment #0.


Addtional:
1.start VM with -fda /virtio-win.vfd
2.(qemu)info block
floppy0:type=floppy removable=1 locked =0 file=/virtio-vin.vfd ro=0 drv=raw encrypted=0

In this way floppy can be changed.

Comment 8 Shirley Zhou 2010-12-29 05:18:32 UTC
Reproduce this bug with qemu-kvm-0.12.1.2-2.113.el6.x86_64.rpm
# virsh update-device RHEL6 floppy.xml
error: Failed to update device from floppy.xml
error: internal error unable to execute QEMU command 'change': Device 'drive-fdc0-0-0' is not removable

Verify this bug with qemu-kvm-0.12.1.2-2.128.el6.x86_64.rpm
#virsh update-device RHEL6 floppy.xml
Device updated successfully

so this bug has been fixed.

Comment 10 Eduardo Habkost 2011-05-05 19:38:54 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause: bugs in the 'removable' check for virtual media change for 'if=none' devices in qemu-kvm.
Consequence: it was not possible to change the media for virtual floppy devices.
Fix: added code to support virtual media change for if=none devices too.
Result: changing of media of virtual floppy devices now works.

Comment 11 errata-xmlrpc 2011-05-19 11:26:55 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2011-0534.html

Comment 12 errata-xmlrpc 2011-05-19 12:47:36 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2011-0534.html