]> git.proxmox.com Git - mirror_qemu.git/commitdiff
ide scsi: Mess with geometry only for hard disk devices
authorMarkus Armbruster <armbru@redhat.com>
Thu, 12 Jul 2012 16:52:31 +0000 (18:52 +0200)
committerKevin Wolf <kwolf@redhat.com>
Mon, 6 Aug 2012 20:39:14 +0000 (22:39 +0200)
Legacy -drive cyls=... are now ignored completely when the drive
doesn't back a hard disk device.  Before, they were first checked
against a hard disk's limits, then ignored.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
hw/ide/qdev.c
hw/scsi-disk.c

index 22e58dfc8a23869ba67c5fae0e553fe064a4933f..5ea9b8f4b29a95db8e46f9db7f0bd8e84ddbaace 100644 (file)
@@ -149,7 +149,8 @@ static int ide_dev_initfn(IDEDevice *dev, IDEDriveKind kind)
     }
 
     blkconf_serial(&dev->conf, &dev->serial);
-    if (blkconf_geometry(&dev->conf, &dev->chs_trans, 65536, 16, 255) < 0) {
+    if (kind != IDE_CD
+        && blkconf_geometry(&dev->conf, &dev->chs_trans, 65536, 16, 255) < 0) {
         return -1;
     }
 
index a9c727905a6233f947b2ace81f6fc381352209d7..c8d5edd86e25b575d724c4368688f101844c42de 100644 (file)
@@ -1958,7 +1958,8 @@ static int scsi_initfn(SCSIDevice *dev)
     }
 
     blkconf_serial(&s->qdev.conf, &s->serial);
-    if (blkconf_geometry(&dev->conf, NULL, 65535, 255, 255) < 0) {
+    if (dev->type == TYPE_DISK
+        && blkconf_geometry(&dev->conf, NULL, 65535, 255, 255) < 0) {
         return -1;
     }