From 0afec75734331a0b52fa3aa4235220eda8c7846f Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Wed, 20 Jan 2021 15:42:34 +0100 Subject: [PATCH] qmp: remove deprecated "change" command MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Paolo Bonzini Reviewed-by: Gerd Hoffmann Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20210120144235.345983-3-pbonzini@redhat.com> Signed-off-by: Paolo Bonzini --- docs/system/deprecated.rst | 5 ---- docs/system/removed-features.rst | 5 ++++ monitor/qmp-cmds.c | 51 ---------------------------------------- qapi/misc.json | 49 -------------------------------------- 4 files changed, 5 insertions(+), 105 deletions(-) diff --git a/docs/system/deprecated.rst b/docs/system/deprecated.rst index e20bfcb17a..651182b2df 100644 --- a/docs/system/deprecated.rst +++ b/docs/system/deprecated.rst @@ -131,11 +131,6 @@ devices. It is possible to use drives the board doesn't pick up with QEMU Machine Protocol (QMP) commands ------------------------------------ -``change`` (since 2.5.0) -'''''''''''''''''''''''' - -Use ``blockdev-change-medium`` or ``change-vnc-password`` instead. - ``blockdev-open-tray``, ``blockdev-close-tray`` argument ``device`` (since 2.8.0) ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' diff --git a/docs/system/removed-features.rst b/docs/system/removed-features.rst index 5b0ff6ab1f..88b81a6156 100644 --- a/docs/system/removed-features.rst +++ b/docs/system/removed-features.rst @@ -53,6 +53,11 @@ are automatically loaded from qcow2 images. Use ``device_add`` for hotplugging vCPUs instead of ``cpu-add``. See documentation of ``query-hotpluggable-cpus`` for additional details. +``change`` (removed in 6.0) +''''''''''''''''''''''''''' + +Use ``blockdev-change-medium`` or ``change-vnc-password`` instead. + Human Monitor Protocol (HMP) commands ------------------------------------- diff --git a/monitor/qmp-cmds.c b/monitor/qmp-cmds.c index 34f7e75b7b..990936136c 100644 --- a/monitor/qmp-cmds.c +++ b/monitor/qmp-cmds.c @@ -251,58 +251,7 @@ void qmp_change_vnc_password(const char *password, Error **errp) error_setg(errp, "Could not set password"); } } - -static void qmp_change_vnc_listen(const char *target, Error **errp) -{ - QemuOptsList *olist = qemu_find_opts("vnc"); - QemuOpts *opts; - - if (strstr(target, "id=")) { - error_setg(errp, "id not supported"); - return; - } - - opts = qemu_opts_find(olist, "default"); - if (opts) { - qemu_opts_del(opts); - } - opts = vnc_parse(target, errp); - if (!opts) { - return; - } - - vnc_display_open("default", errp); -} - -static void qmp_change_vnc(const char *target, bool has_arg, const char *arg, - Error **errp) -{ - if (strcmp(target, "passwd") == 0 || strcmp(target, "password") == 0) { - if (!has_arg) { - error_setg(errp, QERR_MISSING_PARAMETER, "password"); - } else { - qmp_change_vnc_password(arg, errp); - } - } else { - qmp_change_vnc_listen(target, errp); - } -} -#endif /* !CONFIG_VNC */ - -void qmp_change(const char *device, const char *target, - bool has_arg, const char *arg, Error **errp) -{ - if (strcmp(device, "vnc") == 0) { -#ifdef CONFIG_VNC - qmp_change_vnc(target, has_arg, arg, errp); -#else - error_setg(errp, QERR_FEATURE_DISABLED, "vnc"); #endif - } else { - qmp_blockdev_change_medium(true, device, false, NULL, target, - has_arg, arg, false, 0, errp); - } -} void qmp_add_client(const char *protocol, const char *fdname, bool has_skipauth, bool skipauth, bool has_tls, bool tls, diff --git a/qapi/misc.json b/qapi/misc.json index 27ccd7385f..156f98203e 100644 --- a/qapi/misc.json +++ b/qapi/misc.json @@ -239,55 +239,6 @@ 'features': [ 'savevm-monitor-nodes' ] } ## -# @change: -# -# This command is multiple commands multiplexed together. -# -# @device: This is normally the name of a block device but it may also be 'vnc'. -# when it's 'vnc', then sub command depends on @target -# -# @target: If @device is a block device, then this is the new filename. -# If @device is 'vnc', then if the value 'password' selects the vnc -# change password command. Otherwise, this specifies a new server URI -# address to listen to for VNC connections. -# -# @arg: If @device is a block device, then this is an optional format to open -# the device with. -# If @device is 'vnc' and @target is 'password', this is the new VNC -# password to set. See change-vnc-password for additional notes. -# -# Features: -# @deprecated: This command is deprecated. For changing block -# devices, use 'blockdev-change-medium' instead; for changing VNC -# parameters, use 'change-vnc-password' instead. -# -# Returns: - Nothing on success. -# - If @device is not a valid block device, DeviceNotFound -# -# Since: 0.14 -# -# Example: -# -# 1. Change a removable medium -# -# -> { "execute": "change", -# "arguments": { "device": "ide1-cd0", -# "target": "/srv/images/Fedora-12-x86_64-DVD.iso" } } -# <- { "return": {} } -# -# 2. Change VNC password -# -# -> { "execute": "change", -# "arguments": { "device": "vnc", "target": "password", -# "arg": "foobar1" } } -# <- { "return": {} } -# -## -{ 'command': 'change', - 'data': {'device': 'str', 'target': 'str', '*arg': 'str'}, - 'features': [ 'deprecated' ] } - -## # @getfd: # # Receive a file descriptor via SCM rights and assign it a name -- 2.11.4.GIT