[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 07/31] storage-daemon: report unexpected arguments on the fly
From: |
Kevin Wolf |
Subject: |
[PULL 07/31] storage-daemon: report unexpected arguments on the fly |
Date: |
Fri, 5 Mar 2021 17:54:30 +0100 |
From: Paolo Bonzini <pbonzini@redhat.com>
If the first character of optstring is '-', then each nonoption argv
element is handled as if it were the argument of an option with character
code 1. This removes the reordering of the argv array, and enables usage
of loc_set_cmdline to provide better error messages.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20210301152844.291799-2-pbonzini@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
storage-daemon/qemu-storage-daemon.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/storage-daemon/qemu-storage-daemon.c
b/storage-daemon/qemu-storage-daemon.c
index 9021a46b3a..b7e1b90fb1 100644
--- a/storage-daemon/qemu-storage-daemon.c
+++ b/storage-daemon/qemu-storage-daemon.c
@@ -174,7 +174,7 @@ static void process_options(int argc, char *argv[])
* they are given on the command lines. This means that things must be
* defined first before they can be referenced in another option.
*/
- while ((c = getopt_long(argc, argv, "hT:V", long_options, NULL)) != -1) {
+ while ((c = getopt_long(argc, argv, "-hT:V", long_options, NULL)) != -1) {
switch (c) {
case '?':
exit(EXIT_FAILURE);
@@ -275,14 +275,13 @@ static void process_options(int argc, char *argv[])
qobject_unref(args);
break;
}
+ case 1:
+ error_report("Unexpected argument: %s", optarg);
+ exit(EXIT_FAILURE);
default:
g_assert_not_reached();
}
}
- if (optind != argc) {
- error_report("Unexpected argument: %s", argv[optind]);
- exit(EXIT_FAILURE);
- }
}
int main(int argc, char *argv[])
--
2.29.2
- [PULL 10/31] docs: show how to spawn qemu-storage-daemon with fd passing, (continued)
- [PULL 10/31] docs: show how to spawn qemu-storage-daemon with fd passing, Kevin Wolf, 2021/03/05
- [PULL 20/31] block/export: fix vhost-user-blk export sector number calculation, Kevin Wolf, 2021/03/05
- [PULL 17/31] tests/qtest: add multi-queue test case to vhost-user-blk-test, Kevin Wolf, 2021/03/05
- [PULL 21/31] block/export: port virtio-blk discard/write zeroes input validation, Kevin Wolf, 2021/03/05
- [PULL 23/31] block/export: port virtio-blk read/write range check, Kevin Wolf, 2021/03/05
- [PULL 03/31] backup-top: Refuse I/O in inactive state, Kevin Wolf, 2021/03/05
- [PULL 30/31] MAINTAINERS: update parallels block driver, Kevin Wolf, 2021/03/05
- [PULL 31/31] docs: qsd: Explain --export nbd,name=... default, Kevin Wolf, 2021/03/05
- [PULL 28/31] iotests.py: add unarchive_sample_image() helper, Kevin Wolf, 2021/03/05
- [PULL 24/31] qcow2-bitmap: make bytes_covered_by_bitmap_cluster() public, Kevin Wolf, 2021/03/05
- [PULL 07/31] storage-daemon: report unexpected arguments on the fly,
Kevin Wolf <=
- [PULL 04/31] iotests/283: Check that finalize drops backup-top, Kevin Wolf, 2021/03/05
- [PULL 27/31] parallels: support bitmap extension for read-only mode, Kevin Wolf, 2021/03/05
- [PULL 18/31] block/export: fix blk_size double byteswap, Kevin Wolf, 2021/03/05
- [PULL 22/31] vhost-user-blk-test: test discard/write zeroes invalid inputs, Kevin Wolf, 2021/03/05
- [PULL 29/31] iotests: add parallels-read-bitmap test, Kevin Wolf, 2021/03/05
- [PULL 16/31] test: new qTest case to test the vhost-user-blk-server, Kevin Wolf, 2021/03/05
- [PULL 12/31] vhost-user-blk: fix blkcfg->num_queues endianness, Kevin Wolf, 2021/03/05
- [PULL 14/31] libqtest: add qtest_kill_qemu(), Kevin Wolf, 2021/03/05
- Re: [PULL 00/31] Block layer patches, Peter Maydell, 2021/03/06