[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 08/29] qemu-img: Recognize no creation support in -o
From: |
Max Reitz |
Subject: |
[Qemu-devel] [PULL 08/29] qemu-img: Recognize no creation support in -o help |
Date: |
Mon, 11 Jun 2018 16:25:50 +0200 |
The only users of print_block_option_help() are qemu-img create and
qemu-img convert for the output image, so this function is always used
for image creation (it used to be used for amendment also, but that is
no longer the case).
So if image creation is not supported by either the format or the
protocol, there is no need to print any option description, because the
user cannot create an image like this anyway.
This also fixes an assertion failure:
$ qemu-img create -f bochs -o help
Supported options:
qemu-img: util/qemu-option.c:219:
qemu_opts_print_help: Assertion `list' failed.
[1] 24831 abort (core dumped) qemu-img create -f bochs -o help
Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: John Snow <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>
---
qemu-img.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/qemu-img.c b/qemu-img.c
index 07935cb232..b1c1e484d2 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);
}
--
2.17.1
- [Qemu-devel] [PULL 04/29] qemu-img: Amendment support implies create_opts, (continued)
- [Qemu-devel] [PULL 04/29] qemu-img: Amendment support implies create_opts, Max Reitz, 2018/06/11
- [Qemu-devel] [PULL 03/29] iotests: Add creation test to 153, Max Reitz, 2018/06/11
- [Qemu-devel] [PULL 06/29] qemu-option: Pull out "Supported options" print, Max Reitz, 2018/06/11
- [Qemu-devel] [PULL 07/29] qemu-img: Add print_amend_option_help(), Max Reitz, 2018/06/11
- [Qemu-devel] [PULL 09/29] iotests: Test help option for unsupporting formats, Max Reitz, 2018/06/11
- [Qemu-devel] [PULL 05/29] block: Add Error parameter to bdrv_amend_options, Max Reitz, 2018/06/11
- [Qemu-devel] [PULL 11/29] qcow2: Repair OFLAG_COPIED when fixing leaks, Max Reitz, 2018/06/11
- [Qemu-devel] [PULL 10/29] iotests: Rework 113, Max Reitz, 2018/06/11
- [Qemu-devel] [PULL 12/29] iotests: Repairing error during snapshot deletion, Max Reitz, 2018/06/11
- [Qemu-devel] [PULL 15/29] qemu-io: Exit with error when a command failed, Max Reitz, 2018/06/11
- [Qemu-devel] [PULL 08/29] qemu-img: Recognize no creation support in -o help,
Max Reitz <=
- [Qemu-devel] [PULL 16/29] iotests.py: Add qemu_io_silent, Max Reitz, 2018/06/11
- [Qemu-devel] [PULL 18/29] qemu-img: Resolve relative backing paths in rebase, Max Reitz, 2018/06/11
- [Qemu-devel] [PULL 17/29] iotests: Let 216 make use of qemu-io's exit code, Max Reitz, 2018/06/11
- [Qemu-devel] [PULL 19/29] iotests: Add test for rebasing with relative paths, Max Reitz, 2018/06/11
- [Qemu-devel] [PULL 14/29] qemu-io: Let command functions return error code, Max Reitz, 2018/06/11
- [Qemu-devel] [PULL 20/29] qemu-img: Special post-backing convert handling, Max Reitz, 2018/06/11
- [Qemu-devel] [PULL 22/29] iotests: improve pause_job, Max Reitz, 2018/06/11
- [Qemu-devel] [PULL 13/29] qemu-io: Drop command functions' return values, Max Reitz, 2018/06/11
- [Qemu-devel] [PULL 21/29] iotests: Test post-backing convert target behavior, Max Reitz, 2018/06/11
- [Qemu-devel] [PULL 26/29] throttle: Fix crash on reopen, Max Reitz, 2018/06/11