Message ID | 1453112371-29760-1-git-send-email-shmulik.ladkani@ravellosystems.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 01/18/2016 05:19 AM, Shmulik Ladkani wrote: > In b7eb0c9: > hw/block-common: Factor out fall back to legacy -drive cyls=... > 'blkconf_geometry()' was introduced, factoring out CHS limit validation > code that was repeated in ide, scsi, virtio-blk. > > The original IDE CHS limit prior b7eb0c9 was 65535,16,255 (as per ATA > CHS addressing). > However the 'cyls_max' argument passed to 'blkconf_geometry' in the > ide_dev_initfn case was accidentally set to 65536 instead of 65535. > > Fix, providing the correct 'cyls_max'. > > Signed-off-by: Shmulik Ladkani <shmulik.ladkani@ravellosystems.com> > --- > hw/ide/qdev.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/ide/qdev.c b/hw/ide/qdev.c > index 1f83109..fea5425 100644 > --- a/hw/ide/qdev.c > +++ b/hw/ide/qdev.c > @@ -172,7 +172,7 @@ static int ide_dev_initfn(IDEDevice *dev, IDEDriveKind kind) > > blkconf_serial(&dev->conf, &dev->serial); > if (kind != IDE_CD) { > - blkconf_geometry(&dev->conf, &dev->chs_trans, 65536, 16, 255, &err); > + blkconf_geometry(&dev->conf, &dev->chs_trans, 65535, 16, 255, &err); > if (err) { > error_report_err(err); > return -1; > Yep, this value eventually gets reported out via uint16_t, so 65535 is correct. Reviewed-by: John Snow <jsnow@redhat.com> Thanks, applied to my IDE tree: https://github.com/jnsnow/qemu/commits/ide https://github.com/jnsnow/qemu.git --js
diff --git a/hw/ide/qdev.c b/hw/ide/qdev.c index 1f83109..fea5425 100644 --- a/hw/ide/qdev.c +++ b/hw/ide/qdev.c @@ -172,7 +172,7 @@ static int ide_dev_initfn(IDEDevice *dev, IDEDriveKind kind) blkconf_serial(&dev->conf, &dev->serial); if (kind != IDE_CD) { - blkconf_geometry(&dev->conf, &dev->chs_trans, 65536, 16, 255, &err); + blkconf_geometry(&dev->conf, &dev->chs_trans, 65535, 16, 255, &err); if (err) { error_report_err(err); return -1;
In b7eb0c9: hw/block-common: Factor out fall back to legacy -drive cyls=... 'blkconf_geometry()' was introduced, factoring out CHS limit validation code that was repeated in ide, scsi, virtio-blk. The original IDE CHS limit prior b7eb0c9 was 65535,16,255 (as per ATA CHS addressing). However the 'cyls_max' argument passed to 'blkconf_geometry' in the ide_dev_initfn case was accidentally set to 65536 instead of 65535. Fix, providing the correct 'cyls_max'. Signed-off-by: Shmulik Ladkani <shmulik.ladkani@ravellosystems.com> --- hw/ide/qdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)