Hide Forgot
Description of problem: Ejecting a busy floppy from guest causes I/O error Version-Release number of selected component (if applicable): - libvirt-0.8.7-8.el6.x86_64 - kernel-2.6.32-114.0.1.el6.x86_64 - qemu-kvm-0.12.1.2-2.144.el6.x86_64 How reproducible: always Steps to Reproduce: 1. Add a floppy to guest xml </disk> <disk type='block' device='floppy'> <driver name='qemu' type='raw'/> <source dev='/var/lib/libvirt/images/floppy1.img'/> <target dev='fda' bus='fdc'/> </disk> 2. Define and start the guest 3. In guest, # modprobe floppy # mount /dev/fd0 /mnt 4.Prepare a eject.xml # cat eject.xml <disk type='block' device='floppy'> <target dev='fda' bus='fdc'/> </disk> 5. # virsh update-device rhel61_i386_11 eject.xml Device updated successfully Actual results: 5. Could eject a busy floppy in guest without --force, and seconds later, could see I/O error in guest (please see the attachment) Expected results: 6. Should cannot eject a busy floppy in guest without --force, surely should not cause I/O error in guest Additional info:
Created attachment 482636 [details] I/O error in guest
The actual results are in fact expected. Floppy drives, unlike CD-ROM drives, do not support locking the media in. Thus the drive (qemu) doesn't know whether the floppy is mounted in the guest or not.