From: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Greetings Kevin and hch, After pulling from upstream qemu-kvm.git/master into the megasas qemu-kvm.git tree, I ran into some breakage with scsi-generic devices returning an -ESPIPE exception in bdrv_open() -> find_image_format() -> bdrv_read(), and then again from brdv_open_common() -> refresh_total_sectors() -> raw_getlength() -> lseek(). This breakage appears to be fallout from: commit b6ce07aa83bdee3cfd2610f270a0ce304e78df95 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Apr 12 16:37:13 2010 +0200 block: Split bdrv_open bdrv_open contains quite some code that is only useful for opening images (as opposed to opening files by a protocol), for example snapshots. This patch splits the code so that we have bdrv_open_file() for files (uses protocols), bdrv_open() for images (uses format drivers) and bdrv_open_common() for the code common for opening both images and files. commit 66f82ceed6781261c09e65fb440ca76842fd0500 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Apr 14 14:17:38 2010 +0200 block: Open the underlying image file in generic code Format drivers shouldn't need to bother with things like file names, but rather just get an open BlockDriverState for the underlying protocol. This patch introduces this behaviour for bdrv_open implementation. For protocols which need to access the filename to open their file/device/connection/... a new callback bdrv_file_open is introduced which doesn't get an underlying file opened. The following are two patches that where required in order to get hw/scsi-generic.c working with the latest upstream qemu-kvm.git/master. They appear to be straight forward enough, and have been lightly tested with megasas+SG_IO on a v2.6.34-rc7 KVM host. Please have a look and apply! Signed-off-by: Nicholas A. Bellinger <nab@xxxxxxxxxxxxxxx> Nicholas Bellinger (2): [block]: Fix scsi-generic breakage in find_image_format() [block]: Skip refresh_total_sectors() for scsi-generic devices block.c | 20 ++++++++++++++++---- 1 files changed, 16 insertions(+), 4 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html