[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 2/3] geometry detection: use HDIO_GETGEO

From: Alexander Graf
Subject: Re: [Qemu-devel] [PATCH 2/3] geometry detection: use HDIO_GETGEO
Date: Wed, 02 May 2012 13:09:58 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.3) Gecko/20120306 Thunderbird/10.0.3

On 05/02/2012 12:27 PM, Christian Borntraeger wrote:
On 27/04/12 18:12, Paolo Bonzini wrote:
Il 26/04/2012 15:49, Christian Borntraeger ha scritto:
+#ifdef __linux__
+    } else if (bdrv_ioctl(bs, HDIO_GETGEO,&geo) == 0) {
+        *pcyls = geo.cylinders;
+        *pheads = geo.heads;
+        *psecs = geo.sectors;
+        bdrv_set_geometry_hint(bs, *pcyls, *pheads, *psecs);
Perhaps you could instead move guess_disk_lchs to target-specific code,
adding add this code to the s390-specific implementation and under
#ifdef __s390__.  For x86 it doesn't make much sense, because a disk's
geometry most likely will be a wrong guess for the geometry that a guest
(for guests that care at all about geometries).
Fine with me. We care about the geometry only for dasd devices, Even for 
SCSI devices on s390 the geometry is not relevant. So moving that part to
s390 specific code might make sense if nobody else needs that.
Is that the case?
Alex, would that be ok for you?

As hinted in my other mail, I think the way to go would be to give a hint to the geometry code that we're running on a DASD disk. Then we can

  * Ask the host device if it can give us its geometry, if so, use it
  * Guess depending on the logical block size

and everyone should be happy :). I would really like to have as little #ifdef TARGET_S390 code in QEMU. And #ifdef __s390__ is even worse, as it means we won't be able to execise that code path on other architectures.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]