On Sun, 2010-05-16 at 15:29 +0200, Christoph Hellwig wrote: > On Sat, May 15, 2010 at 06:30:52AM -0700, Nicholas A. Bellinger wrote: > > From: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> > > > > This patch adds a special BlockDriverState->sg check in block.c:find_image_format() > > after bdrv_file_open() -> block/raw-posix.c:hdev_open() has been called to determine > > if we are dealing with a Linux host scsi-generic device or not. > > > > The patch then returns the BlockDriver * from find_protocol(), skipping the subsequent > > bdrv_read() and rest of find_image_format(). > > That's not quite correct as we don't want to expose formats directly. > Returning > > bdrv_find_format("raw"); > > should fix it for now, Ahh, that makes more sense.. Attached is updated patch #1: [PATCH 1/2] [block]: Make find_image_format() return 'raw' BlockDriver for SG_IO devices > although I really hate having these special > cases in block.c. Indeed having BlockDriverState->sg kinda feels kinda like a hack to begin with, but it appears this is currently QEMU's way of telling block code to disable internal SCSI CDB emulation for devices. Best, --nab
Attachment:
0001--block-Make-find_image_format-return-raw-Block.patch
Description: application/mbox