Am 15.12.2012 12:35, schrieb Stefan Weil:
Probe for the file format if the file format was specified explicitly
and a probe function is available.
example: -drive file=myfile,format=qcow2
Then myfile is probed and must be in qcow2 format.
This fixes those bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=556482
https://bugs.launchpad.net/qemu/+bug/1090600
Signed-off-by: Stefan Weil <s...@weilnetz.de>
---
This patch can also be used for the latest stable version of QEMU.
blockdev.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/blockdev.c b/blockdev.c
index 9a05e57..5a4cd56 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -411,6 +411,13 @@ DriveInfo *drive_init(QemuOpts *opts, BlockInterfaceType
block_default_type)
error_report("'%s' invalid format", buf);
return NULL;
}
+ if (file && drv->bdrv_probe) {
+ uint8_t data[2048];
+ if (drv->bdrv_probe(data, sizeof(data), file) == 0) {
+ error_report("file '%s' not in '%s' format", file, buf);
+ return NULL;
+ }
+ }
}
/* disk I/O throttling */
Sorry, this patch was not tested enough. I'll send a v2.
- Stefan Weil