Re: [PATCH 1/2] [block]: Fix scsi-generic breakage in find_image_format()

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

 



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


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux