mirror of
https://github.com/qemu/qemu.git
synced 2026-07-08 17:46:10 +00:00
block: Make find_image_format() return 'raw' BlockDriver for SG_IO devices
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.
The patch then returns the BlockDriver * from bdrv_find_format("raw"), skipping the
subsequent bdrv_read() and rest of find_image_format().
Signed-off-by: Nicholas A. Bellinger <nab@linux-iscsi.org>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
committed by
Kevin Wolf
parent
77be4366ba
commit
f8ea0b00e0
5
block.c
5
block.c
@@ -329,6 +329,11 @@ static BlockDriver *find_image_format(const char *filename)
|
||||
ret = bdrv_file_open(&bs, filename, 0);
|
||||
if (ret < 0)
|
||||
return NULL;
|
||||
|
||||
/* Return the raw BlockDriver * to scsi-generic devices */
|
||||
if (bs->sg)
|
||||
return bdrv_find_format("raw");
|
||||
|
||||
ret = bdrv_pread(bs, 0, buf, sizeof(buf));
|
||||
bdrv_delete(bs);
|
||||
if (ret < 0) {
|
||||
|
||||
Reference in New Issue
Block a user