[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 01/14] remove -writeconfig
From: |
Paolo Bonzini |
Subject: |
[PATCH 01/14] remove -writeconfig |
Date: |
Thu, 13 May 2021 12:28:48 -0400 |
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>
---
docs/system/deprecated.rst | 7 ------
docs/system/removed-features.rst | 6 +++++
include/qemu/config-file.h | 1 -
qemu-options.hx | 8 ++----
softmmu/vl.c | 20 ---------------
util/qemu-config.c | 42 --------------------------------
6 files changed, 8 insertions(+), 76 deletions(-)
diff --git a/docs/system/deprecated.rst b/docs/system/deprecated.rst
index f9169077ae..36d0b24633 100644
--- a/docs/system/deprecated.rst
+++ b/docs/system/deprecated.rst
@@ -96,13 +96,6 @@ library enabled as a cryptography provider.
Neither the ``nettle`` library, or the built-in cryptography provider are
supported on FIPS enabled hosts.
-``-writeconfig`` (since 6.0)
-'''''''''''''''''''''''''''''
-
-The ``-writeconfig`` option is not able to serialize the entire contents
-of the QEMU command line. It is thus considered a failed experiment
-and deprecated, with no current replacement.
-
Userspace local APIC with KVM (x86, since 6.0)
''''''''''''''''''''''''''''''''''''''''''''''
diff --git a/docs/system/removed-features.rst b/docs/system/removed-features.rst
index c21e6fa5ee..85a988ce2d 100644
--- a/docs/system/removed-features.rst
+++ b/docs/system/removed-features.rst
@@ -126,6 +126,12 @@ devices. Drives the board doesn't pick up can no longer
be used with
This option was undocumented and not used in the field.
Use `-device usb-ccid`` instead.
+``-writeconfig`` (since 6.1)
+'''''''''''''''''''''''''''''
+
+The ``-writeconfig`` option was not able to serialize the entire contents
+of the QEMU command line. It is thus considered a failed experiment
+and removed without a replacement.
QEMU Machine Protocol (QMP) commands
------------------------------------
diff --git a/include/qemu/config-file.h b/include/qemu/config-file.h
index 8d3e53ae4d..9a44d2a77b 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,
Error **errp);
diff --git a/qemu-options.hx b/qemu-options.hx
index acd8b4f6f9..317d33ea11 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -4395,18 +4395,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 (deprecated)\n", QEMU_ARCH_ALL)
-SRST
-ERST
DEF("no-user-config", 0, QEMU_OPTION_nouserconfig,
"-no-user-config\n"
diff --git a/softmmu/vl.c b/softmmu/vl.c
index 11ac3750d8..c7653fe788 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -3388,26 +3388,6 @@ void qemu_init(int argc, char **argv, char **envp)
}
display_remote++;
break;
- case QEMU_OPTION_writeconfig:
- {
- FILE *fp;
- warn_report("-writeconfig is deprecated and will go away
without a replacement");
- 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 670bd6ebca..9bd86aab1b 100644
--- a/util/qemu-config.c
+++ b/util/qemu-config.c
@@ -307,48 +307,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, Error
**errp)
{
--
2.26.2
- [PATCH 00/14] vl: compound properties for machines and accelerators, Paolo Bonzini, 2021/05/13
- [PATCH 01/14] remove -writeconfig,
Paolo Bonzini <=
- [PATCH 05/14] keyval: introduce keyval_parse_into, Paolo Bonzini, 2021/05/13
- [PATCH 03/14] vl: plumb keyval-based options into -set and -readconfig, Paolo Bonzini, 2021/05/13
- [PATCH 09/14] machine: move dies from X86MachineState to CpuTopology, Paolo Bonzini, 2021/05/13
- [PATCH 08/14] vl: switch -accel parsing to keyval, Paolo Bonzini, 2021/05/13
- [PATCH 07/14] qemu-option: remove now-dead code, Paolo Bonzini, 2021/05/13
- [PATCH 06/14] vl: switch -M parsing to keyval, Paolo Bonzini, 2021/05/13
- [PATCH 02/14] qemu-config: parse configuration files to a QDict, Paolo Bonzini, 2021/05/13
- [PATCH 04/14] qom: export more functions for use with non-UserCreatable objects, Paolo Bonzini, 2021/05/13
- [PATCH 14/14] machine: add smp compound property, Paolo Bonzini, 2021/05/13