qemu/hw/block
John Snow fd9bdbd345 fdc: fix detection under Linux
Accidentally, I removed a "feature" where empty drives had geometry
values applied to them, which allows seek on empty drives to work
"by accident," as QEMU actually tries to disallow that.

Seeks on empty drives should work, though, but the easiest thing is to
restore the misfeature where empty drives have non-zero geometries
applied.

Document the hack accordingly.

[Maintainer edit]

This fix corrects a regression introduced in d5d47efc, where
pick_geometry was modified such that it would not operate on empty
drives, and as a result if there is no diskette inserted, QEMU
no longer populates it with geometry bounds. As a result, seek fails
when QEMU denies to move the current track, but reports success anyway.
This can confuse the guest, leading to kernel panics in the guest.


Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-id: 1454106932-17236-1-git-send-email-jsnow@redhat.com
2016-02-03 11:28:55 -05:00
..
dataplane virtio-blk: Functions for op blocker management 2016-02-02 17:50:46 +01:00
block.c block: Clean up includes 2016-01-20 13:36:23 +01:00
cdrom.c block: Clean up includes 2016-01-20 13:36:23 +01:00
ecc.c block: Clean up includes 2016-01-20 13:36:23 +01:00
fdc.c fdc: fix detection under Linux 2016-02-03 11:28:55 -05:00
hd-geometry.c block: Clean up includes 2016-01-20 13:36:23 +01:00
m25p80.c ssi: Move ssi.h into a separate directory 2016-01-21 14:15:03 +00:00
Makefile.objs block: Always compile virtio-blk dataplane 2014-09-22 11:39:51 +01:00
nand.c hw: Inline the qdev_prop_set_drive_nofail() wrapper 2016-01-13 11:58:58 +01:00
nvme.c nvme: generate OpenFirmware device path in the "bootorder" fw_cfg file 2016-02-02 12:45:01 +01:00
nvme.h nvme: implement the Flush command 2015-07-14 15:55:19 +02:00
onenand.c block: Clean up includes 2016-01-20 13:36:23 +01:00
pflash_cfi01.c block: Clean up includes 2016-01-20 13:36:23 +01:00
pflash_cfi02.c block: Clean up includes 2016-01-20 13:36:23 +01:00
tc58128.c block: Clean up includes 2016-01-20 13:36:23 +01:00
virtio-blk.c block: Clean up includes 2016-01-20 13:36:23 +01:00
xen_blkif.h xen/blkif: Avoid double access to src->nr_segments 2015-12-18 15:09:58 +00:00
xen_disk.c xen: Switch to libxengnttab interface for compat shims. 2016-01-26 17:19:28 +00:00