[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 13/28] remove -writeconfig
From: |
Paolo Bonzini |
Subject: |
[PATCH 13/28] remove -writeconfig |
Date: |
Wed, 2 Dec 2020 04:02:50 -0500 |
Like -set and -readconfig, it would not really be too hard to
extend -writeconfig to parsing mechanisms other than QemuOpts.
However, the uses of -writeconfig are substantially more
limited, as it is generally easier to write the configuration
by hand in the first place. In addition, -writeconfig does
not even try to detect cases where it prints incorrect
syntax (for example if values have a quote in them, since
qemu_config_parse does not support any kind of escaping.
Just remove it.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
include/qemu/config-file.h | 1 -
qemu-options.hx | 13 ++----------
softmmu/vl.c | 19 -----------------
util/qemu-config.c | 42 --------------------------------------
4 files changed, 2 insertions(+), 73 deletions(-)
diff --git a/include/qemu/config-file.h b/include/qemu/config-file.h
index 29226107bd..7d26fe3816 100644
--- a/include/qemu/config-file.h
+++ b/include/qemu/config-file.h
@@ -10,7 +10,6 @@ void qemu_add_opts(QemuOptsList *list);
void qemu_add_drive_opts(QemuOptsList *list);
int qemu_global_option(const char *str);
-void qemu_config_write(FILE *fp);
int qemu_config_parse(FILE *fp, QemuOptsList **lists, const char *fname);
int qemu_read_config_file(const char *filename);
diff --git a/qemu-options.hx b/qemu-options.hx
index e60ad42976..408d9c2def 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -4278,23 +4278,14 @@ SRST
ERST
DEF("readconfig", HAS_ARG, QEMU_OPTION_readconfig,
- "-readconfig <file>\n", QEMU_ARCH_ALL)
+ "-readconfig <file>\n",
+ " read config file\n", QEMU_ARCH_ALL)
SRST
``-readconfig file``
Read device configuration from file. This approach is useful when
you want to spawn QEMU process with many command line options but
you don't want to exceed the command line character limit.
ERST
-DEF("writeconfig", HAS_ARG, QEMU_OPTION_writeconfig,
- "-writeconfig <file>\n"
- " read/write config file\n", QEMU_ARCH_ALL)
-SRST
-``-writeconfig file``
- Write device configuration to file. The file can be either filename
- to save command line and device configuration into file or dash
- ``-``) character to print the output to stdout. This can be later
- used as input file for ``-readconfig`` option.
-ERST
DEF("no-user-config", 0, QEMU_OPTION_nouserconfig,
"-no-user-config\n"
diff --git a/softmmu/vl.c b/softmmu/vl.c
index 023c16245b..4039bf3a39 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -3309,25 +3309,6 @@ void qemu_init(int argc, char **argv, char **envp)
}
display_remote++;
break;
- case QEMU_OPTION_writeconfig:
- {
- FILE *fp;
- if (strcmp(optarg, "-") == 0) {
- fp = stdout;
- } else {
- fp = fopen(optarg, "w");
- if (fp == NULL) {
- error_report("open %s: %s", optarg,
- strerror(errno));
- exit(1);
- }
- }
- qemu_config_write(fp);
- if (fp != stdout) {
- fclose(fp);
- }
- break;
- }
case QEMU_OPTION_qtest:
qtest_chrdev = optarg;
break;
diff --git a/util/qemu-config.c b/util/qemu-config.c
index 725e3d7e4b..cc5be3c779 100644
--- a/util/qemu-config.c
+++ b/util/qemu-config.c
@@ -313,48 +313,6 @@ void qemu_add_opts(QemuOptsList *list)
abort();
}
-struct ConfigWriteData {
- QemuOptsList *list;
- FILE *fp;
-};
-
-static int config_write_opt(void *opaque, const char *name, const char *value,
- Error **errp)
-{
- struct ConfigWriteData *data = opaque;
-
- fprintf(data->fp, " %s = \"%s\"\n", name, value);
- return 0;
-}
-
-static int config_write_opts(void *opaque, QemuOpts *opts, Error **errp)
-{
- struct ConfigWriteData *data = opaque;
- const char *id = qemu_opts_id(opts);
-
- if (id) {
- fprintf(data->fp, "[%s \"%s\"]\n", data->list->name, id);
- } else {
- fprintf(data->fp, "[%s]\n", data->list->name);
- }
- qemu_opt_foreach(opts, config_write_opt, data, NULL);
- fprintf(data->fp, "\n");
- return 0;
-}
-
-void qemu_config_write(FILE *fp)
-{
- struct ConfigWriteData data = { .fp = fp };
- QemuOptsList **lists = vm_config_groups;
- int i;
-
- fprintf(fp, "# qemu config file\n\n");
- for (i = 0; lists[i] != NULL; i++) {
- data.list = lists[i];
- qemu_opts_foreach(data.list, config_write_opts, &data, NULL);
- }
-}
-
/* Returns number of config groups on success, -errno on error */
int qemu_config_parse(FILE *fp, QemuOptsList **lists, const char *fname)
{
--
2.26.2
- [PATCH 06/28] keyval: accept escaped commas in implied option, (continued)
- [PATCH 06/28] keyval: accept escaped commas in implied option, Paolo Bonzini, 2020/12/02
- [PATCH 11/28] qom: use qemu_printf to print help for user-creatable objects, Paolo Bonzini, 2020/12/02
- [PATCH 07/28] keyval: simplify keyval_parse_one, Paolo Bonzini, 2020/12/02
- [PATCH 08/28] tests: convert check-qom-proplist to keyval, Paolo Bonzini, 2020/12/02
- [PATCH 09/28] keyval: introduce keyval_parse_into, Paolo Bonzini, 2020/12/02
- [PATCH 19/28] qemu-io: use keyval for -object parsing, Paolo Bonzini, 2020/12/02
- [PATCH 25/28] vl: rename local variable in configure_accelerators, Paolo Bonzini, 2020/12/02
- [PATCH 24/28] qom: export more functions for use with non-UserCreatable objects, Paolo Bonzini, 2020/12/02
- [PATCH 10/28] hmp: replace "O" parser with keyval, Paolo Bonzini, 2020/12/02
- [PATCH 14/28] qemu-config: add error propagation to qemu_config_parse, Paolo Bonzini, 2020/12/02
- [PATCH 13/28] remove -writeconfig,
Paolo Bonzini <=
- [PATCH 18/28] qom: do not modify QDict argument in user_creatable_add_dict, Paolo Bonzini, 2020/12/02
- [PATCH 28/28] vl: switch -accel parsing to keyval, Paolo Bonzini, 2020/12/02
- [PATCH 27/28] qemu-option: remove now-dead code, Paolo Bonzini, 2020/12/02
- [PATCH 12/28] hmp: special case help options for object_add, Paolo Bonzini, 2020/12/02
- [PATCH 22/28] qemu: use keyval for -object parsing, Paolo Bonzini, 2020/12/02
- [PATCH 21/28] qemu-img: use keyval for -object parsing, Paolo Bonzini, 2020/12/02
- [PATCH 23/28] storage-daemon: do not register the "object" group with QemuOpts, Paolo Bonzini, 2020/12/02
- [PATCH 15/28] qemu-option: support accept-any QemuOptsList in qemu_opts_absorb_qdict, Paolo Bonzini, 2020/12/02
- [PATCH 16/28] qemu-config: parse configuration files to a QDict, Paolo Bonzini, 2020/12/02
- [PATCH 17/28] vl: plumb keyval-based options into -set and -readconfig, Paolo Bonzini, 2020/12/02