block-raw is not a protocol
authoraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>
Tue, 16 Sep 2008 13:21:58 +0000 (13:21 +0000)
committeraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>
Tue, 16 Sep 2008 13:21:58 +0000 (13:21 +0000)
The protocol_name "file" was added to the block driver when async IO was
introduced.  This can be used to select that a file is treated as a raw
device instead of probing for the type.  However, protocols are not subject
to path interpretation which cases qcow2 images with raw base images to not
function is the path was specified relatively.

The fix is simply to remove the protocol_name from the raw block driver.  The
proper way to force the use of a raw block format is to use the format= option
with -drive.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5233 c046a42c-6fe2-441c-8c8c-71466251a162

block-raw-posix.c
block-raw-win32.c

index 8339071..7c42c10 100644 (file)
@@ -846,7 +846,6 @@ BlockDriver bdrv_raw = {
     .bdrv_aio_cancel = raw_aio_cancel,
     .aiocb_size = sizeof(RawAIOCB),
 #endif
-    .protocol_name = "file",
     .bdrv_pread = raw_pread,
     .bdrv_pwrite = raw_pwrite,
     .bdrv_truncate = raw_truncate,
index 2c3f88f..71404ac 100644 (file)
@@ -369,7 +369,6 @@ BlockDriver bdrv_raw = {
     .bdrv_aio_cancel = raw_aio_cancel,
     .aiocb_size = sizeof(RawAIOCB);
 #endif
-    .protocol_name = "file",
     .bdrv_pread = raw_pread,
     .bdrv_pwrite = raw_pwrite,
     .bdrv_truncate = raw_truncate,