Skip to content

Commit

Permalink
qmp: remove deprecated "change" command
Browse files Browse the repository at this point in the history
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20210120144235.345983-3-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
  • Loading branch information
bonzini committed Jan 23, 2021
1 parent cfb5387 commit 0afec75
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 105 deletions.
5 changes: 0 additions & 5 deletions docs/system/deprecated.rst
Expand Up @@ -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)
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Expand Down
5 changes: 5 additions & 0 deletions docs/system/removed-features.rst
Expand Up @@ -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
-------------------------------------

Expand Down
51 changes: 0 additions & 51 deletions monitor/qmp-cmds.c
Expand Up @@ -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,
Expand Down
49 changes: 0 additions & 49 deletions qapi/misc.json
Expand Up @@ -238,55 +238,6 @@
'returns': 'str',
'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:
#
Expand Down

0 comments on commit 0afec75

Please sign in to comment.