qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2 0/6] Geometry and blocksize support for backi


From: Christian Borntraeger
Subject: Re: [Qemu-devel] [PATCH v2 0/6] Geometry and blocksize support for backing devices
Date: Wed, 19 Nov 2014 12:39:13 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0

Am 19.11.2014 um 11:17 schrieb Ekaterina Tumanova:
> Hi folks,
> 
> I'm sorry for the recent spam. I messed up during code submission last time.
> So please ignore any previous notes you received from me and answer only to
> this thread.
> 
> This is the rework of the geometry+blocksize patch, which was
> recently discussed here:
> http://lists.gnu.org/archive/html/qemu-devel/2014-11/msg01148.html
> 
> Markus suggested that we only detect blocksize and geometry for DASDs.
> 
> According to this agreement new version contains DASD special casing.
> The driver methods are implemented only for "host_device" and inner hdev_xxx
> functions check if the backing storage is a DASD by means of
> BIODASDINFO2 ioctl.
> 
> Original patchset can be found here:
> http://lists.gnu.org/archive/html/qemu-devel/2014-07/msg03791.html
> 
> Ekaterina Tumanova (6):
>   geometry: add bdrv functions for geometry and blocksize
>   geometry: Detect blocksize via ioctls in separate static functions
>   geometry: Add driver methods to probe blocksizes and geometry
>   geometry: Add block-backend wrappers for geometry probing
>   geometry: Call backend function to detect geometry and blocksize
>   geometry: Target specific hook for s390x in geometry guessing
> 
>  block.c                        |  26 +++++++++
>  block/block-backend.c          |  10 ++++
>  block/raw-posix.c              | 123 
> ++++++++++++++++++++++++++++++++++-------
>  block/raw_bsd.c                |  12 ++++
>  hw/block/Makefile.objs         |   6 +-
>  hw/block/block.c               |  11 ++++
>  hw/block/hd-geometry.c         |  43 ++++++++++++--
>  hw/block/virtio-blk.c          |   1 +
>  include/block/block.h          |  20 +++++++
>  include/block/block_int.h      |   3 +
>  include/hw/block/block.h       |   1 +
>  include/sysemu/block-backend.h |   2 +
>  12 files changed, 234 insertions(+), 24 deletions(-)
> 

I can confirm that it makes dasd devices on s390 work (partition detection is 
fine, so geometry/sector size must be as well)

This patch set needs to be fixed for i386, though:

/home/cborntra/REPOS/qemu/hw/block/hd-geometry.c: In function 
'hd_geometry_guess':
/home/cborntra/REPOS/qemu/hw/block/hd-geometry.c:159:5: error: pointer targets 
in passing argument 2 of 'guess_disk_lchs' differ in signedness 
[-Werror=pointer-sign]
     if (guess_disk_lchs(blk, &cylinders, &heads, &secs) < 0) {
     ^
/home/cborntra/REPOS/qemu/hw/block/hd-geometry.c:52:12: note: expected 
'uint32_t *' but argument is of type 'int *'
 static int guess_disk_lchs(BlockBackend *blk, uint32_t *pcylinders,




reply via email to

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