--- /dev/null
+Index: qemu-kvm-devel/vma.c
+===================================================================
+--- qemu-kvm-devel.orig/vma.c
++++ qemu-kvm-devel/vma.c
+@@ -299,7 +299,13 @@ static int extract_content(int argc, cha
+ }
+
+ BlockDriverState *bs = bdrv_new();
+- if (errp || bdrv_open(&bs, devfn, NULL, NULL, flags, NULL, &errp)) {
++
++ char *tmp = g_strrstr(devfn, ".");
++ char *format = (tmp == NULL) ? "raw" : ++tmp;
++
++ BlockDriver *drv = bdrv_find_format(format);
++
++ if (errp || bdrv_open(&bs, devfn, NULL, NULL, flags, drv, &errp)) {
+ g_error("can't open file %s - %s", devfn,
+ error_get_pretty(errp));
+ }