Message ID | 1355571343-19878-1-git-send-email-sw@weilnetz.de |
---|---|
State | Superseded |
Headers | show |
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 <sw@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
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 */
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 <sw@weilnetz.de> --- This patch can also be used for the latest stable version of QEMU. blockdev.c | 7 +++++++ 1 file changed, 7 insertions(+)