Bug 1209362
Summary: | floppy fail to be accessible(Location is not available) after change from none | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Sibiao Luo <sluo> | ||||
Component: | qemu-kvm | Assignee: | John Snow <jsnow> | ||||
Status: | CLOSED WONTFIX | QA Contact: | Virtualization Bugs <virt-bugs> | ||||
Severity: | high | Docs Contact: | Jiri Herrmann <jherrman> | ||||
Priority: | high | ||||||
Version: | 6.7 | CC: | chayang, famz, jen, jsnow, juzhang, kwolf, michen, mkenneth, pbonzini, qzhang, rbalakri, rpacheco, virt-maint, xfu | ||||
Target Milestone: | rc | ||||||
Target Release: | --- | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Known Issue | |||||
Doc Text: |
Guests cannot access floppy disks larger than 1.44 MB
Guest virtual machines are currently unable to access floppy drive images larger than 1.44 MB if they are inserted while the guest is running. To work around the problem, insert the floppy drive image prior to booting the guest.
|
Story Points: | --- | ||||
Clone Of: | |||||||
: | 1209707 (view as bug list) | Environment: | |||||
Last Closed: | 2016-05-12 22:55:52 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: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 1209707, 1209708 | ||||||
Attachments: |
|
Description
Sibiao Luo
2015-04-07 08:02:52 UTC
Created attachment 1011644 [details]
floppy_fail_to_access_screenshot.
(In reply to Sibiao Luo from comment #0) > Description of problem: > floppy fail to be accessible(Location is not available) after change from > none, this will block users to update the virito-win driver. > > 2.change a virtio-win floppy to update the virtio-win driever. > # rpm -q virtio-win > virtio-win-1.7.2-2.el6.noarch > # rpm -ql virtio-win | grep win_amd64.vfd > /usr/share/virtio-win/virtio-win_amd64.vfd > (qemu) info block > drive-system-disk: removable=0 io-status=ok file=/mnt/win2012r2-64.qcow2 > ro=0 drv=qcow2 encrypted=0 > ide1-cd0: removable=1 locked=0 tray-open=0 io-status=ok [not inserted] > floppy0: removable=1 locked=0 tray-open=0 [not inserted] > sd0: removable=1 locked=0 tray-open=0 [not inserted] > (qemu) change floppy0 /usr/share/virtio-win/virtio-win_amd64.vfd > It still failed to work if you reboot the guest after you change the floppy from none. But it worked well if boot up a KVM guest with the floopy attached at first. Best Regards, sluo Reproduced upstream using QEMU 2.3-rc2 and virtio-win-1.7.2-2.el6.noarch. Interestingly enough, I found an older .vfd (1.2.1?) that works just fine. A newer virtio-win package, 1.7.3, also doesn't work quite right. Will investigate further next week. The problem is that QEMU currently decides what kind of floppy drive to emulate based on the type of floppy that is present at boot time. If a floppy is not present, it arbitrarily picks a low-density 3.5" floppy drive type. SeaBIOS supports floppy disk controllers that report a drive with a lower-density medium inserted, but does not support the concept of a higher-density diskette being added. and so the problem is thus: the virtio image we have shipped in recent times is a 2.88MB image, whereas virtio-1.2.1 (for instance) shipped in a 1.44MB image. By booting with a 1.44MB image (or nothing), QEMU is "stuck" with low density drives as SeaBIOS will not let us change this at runtime. By inserting a 2.88MB image at boot time we can change between them as needed. Workaround: Insert a 2.88 image at boot time. The virtio-win image is a prime choice. Bumped back to RHEL 6.8 for a few reasons: (1) This is not a customer reported bug, so I have no reason to believe anyone has been bitten by this. (2) There is a suitable workaround, as outlined above. (3) The changes necessary to allow swapping between 1.44 and 2.88 at will without planning ahead may require changes to the machine type to allow cross-version migration, and I am not comfortable making finnicky changes to legacy hardware so close to the snapshot date. Therefore, though I intend to fix this upstream, it seems unlikely this will make it to 6.7. Pushing back one last, final time. A fix has been merged upstream, see: https://github.com/qemu/qemu/commit/1535a6d699487740b490369e44f9ca8d305463cd However, that fix introduced a regression, and it seems wisest not to hurry the fix through the 6.8 process given that the FDC device is hard to verify correctness for. As such, I intend to backport this for 6.9, but recommend documenting the workaround for any customer who happens to bump into this: - high capacity (>1.44MB) floppy images must be inserted at boot time, not inserted via the "change" command later. As long as the floppy is there at boot time, you will be able to use it to install the virtio drivers. Once you have used a high-capacity floppy, you will not be able to switch back to 1.44MB floppy disk images until you reboot. - If a customer needs the 2.88MB virtio-win floppy disk image to install virtio drivers, advise them to attach the disk in libvirt prior to starting the VM. I failed to realize exactly *how old* the 6.* product was, and a backport to code this "delicate" does not seem wise. Recommend a documentation of a workaround, but will fix in the 7.x product and upstream and in RHEV. |