From: Paolo Bonzini Date: Tue, 15 Nov 2011 15:57:50 +0000 (+0100) Subject: scsi-disk: guess geometry X-Git-Tag: qemu-xen-4.3.0-rc1~1991^2~6 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=245d0049475206995ed39e36ecb95b0ca08878e6;p=qemu-upstream-4.6-testing.git scsi-disk: guess geometry Old operating systems rely on correct geometry to convert from CHS addresses to LBA. Providing correct data is necessary for them to boot. Signed-off-by: Paolo Bonzini Signed-off-by: Kevin Wolf --- diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c index cc4f9efa5..73de0f681 100644 --- a/hw/scsi-disk.c +++ b/hw/scsi-disk.c @@ -797,7 +797,7 @@ static int mode_sense_page(SCSIDiskState *s, int page, uint8_t **p_outbuf, break; } /* if a geometry hint is available, use it */ - bdrv_get_geometry_hint(bdrv, &cylinders, &heads, &secs); + bdrv_guess_geometry(bdrv, &cylinders, &heads, &secs); p[2] = (cylinders >> 16) & 0xff; p[3] = (cylinders >> 8) & 0xff; p[4] = cylinders & 0xff; @@ -831,7 +831,7 @@ static int mode_sense_page(SCSIDiskState *s, int page, uint8_t **p_outbuf, p[2] = 5000 >> 8; p[3] = 5000 & 0xff; /* if a geometry hint is available, use it */ - bdrv_get_geometry_hint(bdrv, &cylinders, &heads, &secs); + bdrv_guess_geometry(bdrv, &cylinders, &heads, &secs); p[4] = heads & 0xff; p[5] = secs & 0xff; p[6] = s->qdev.blocksize >> 8;