diff --git a/qemu-img.c b/qemu-img.c index 07935cb23229f02a70fd419f6a11a8ab91164e67..b1c1e484d215463ac4585b81873ce3ca0b3ecfed 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -249,6 +249,11 @@ static int print_block_option_help(const char *filename, const char *fmt) return 1; } + if (!drv->create_opts) { + error_report("Format driver '%s' does not support image creation", fmt); + return 1; + } + create_opts = qemu_opts_append(create_opts, drv->create_opts); if (filename) { proto_drv = bdrv_find_protocol(filename, true, &local_err); @@ -257,6 +262,11 @@ static int print_block_option_help(const char *filename, const char *fmt) qemu_opts_free(create_opts); return 1; } + if (!proto_drv->create_opts) { + error_report("Protocal driver '%s' does not support image creation", + proto_drv->format_name); + return 1; + } create_opts = qemu_opts_append(create_opts, proto_drv->create_opts); }