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(-) -- 1.8.5.5