On 12/01/2017 02:05 PM, Klim Kireev wrote:
Now, if you type something like

qemu-img create disk.qcow2 1G
or
qemu-img dd if=/dev/sda of=disk.qcow2

it creates a raw image and if you need you should
manually specify an image format with -f qcow2. It would
be more convenient if it could be detected from an extension.

This patch adds a simple heuristic to recognize the image format
for qcow, qcow2, vmdk, vhdx, vdi

Signed-off-by: Klim Kireev <klim.kir...@virtuozzo.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com>
---
  qemu-img.c | 24 ++++++++++++++++++++++--
  1 file changed, 22 insertions(+), 2 deletions(-)

Is it also worth warning the user that we guessed, and that they should specify -f if our guess was wrong?

@@ -496,6 +510,9 @@ static int img_create(int argc, char **argv)
/* Get the filename */
      filename = (optind < argc) ? argv[optind] : NULL;
+    if (fmt == NULL) {
+        fmt = get_format(filename);

Particularly if fmt == "raw", because the user typed something like 'foo.img' instead of 'foo.qcow2'. I suspect another common mis-guess would be users that type .qcow but want qcow2.

The idea makes sense to me, though.

--
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

Reply via email to