diff options
| author | Markus Armbruster <armbru@redhat.com> | 2012-07-10 11:12:50 +0200 |
|---|---|---|
| committer | Kevin Wolf <kwolf@redhat.com> | 2012-07-17 16:48:31 +0200 |
| commit | 2b584959ed300ddff4acba0d7554becad5f274fd (patch) | |
| tree | ab5b71c96edf1e96951fddb0497c02e0cddc9dee /hw/pc.c | |
| parent | 856dcba23ad2aeea4d98d5d3c97cd46aac0cd073 (diff) | |
| download | focaccia-qemu-2b584959ed300ddff4acba0d7554becad5f274fd.tar.gz focaccia-qemu-2b584959ed300ddff4acba0d7554becad5f274fd.zip | |
block: Geometry and translation hints are now useless, purge them
There are two producers of these hints: drive_init() on behalf of -drive, and hd_geometry_guess(). The only consumer of the hint is hd_geometry_guess(). The callers of hd_geometry_guess() call it only when drive_init() didn't set the hints. Therefore, drive_init()'s hints are never used. Thus, hd_geometry_guess() only ever sees hints it produced itself in a prior call. Only the first call computes something, subsequent calls just repeat the first call's results. However, hd_geometry_guess() is never called more than once: the device models don't, and the block device is destroyed on unplug. Thus, dropping the repeat feature doesn't break anything now. If a block device wasn't destroyed on unplug and could be reused with a new device, then repeating old results would be wrong. Thus, dropping the repeat feature prevents future breakage. This renders the hints unused. Purge them from the block layer. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'hw/pc.c')
| -rw-r--r-- | hw/pc.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/pc.c b/hw/pc.c index 89a0c661db..77b12b4c11 100644 --- a/hw/pc.c +++ b/hw/pc.c @@ -44,6 +44,7 @@ #include "kvm.h" #include "xen.h" #include "blockdev.h" +#include "hw/block-common.h" #include "ui/qemu-spice.h" #include "memory.h" #include "exec-memory.h" |