blockjob: introduce block-job-change QMP command

which will allow changing job-type-specific options after job
creation.

In the JobVerbTable, the same allow bits as for set-speed are used,
because set-speed can be considered an existing change command.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Message-ID: <20231031135431.393137-2-f.ebner@proxmox.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Fiona Ebner 2023-10-31 14:54:22 +01:00 committed by Kevin Wolf
parent 073458da56
commit 61a3a5a76a
7 changed files with 82 additions and 1 deletions

View file

@ -3044,6 +3044,32 @@
{ 'command': 'block-job-finalize', 'data': { 'id': 'str' },
'allow-preconfig': true }
##
# @BlockJobChangeOptions:
#
# Block job options that can be changed after job creation.
#
# @id: The job identifier
#
# @type: The job type
#
# Since 8.2
##
{ 'union': 'BlockJobChangeOptions',
'base': { 'id': 'str', 'type': 'JobType' },
'discriminator': 'type',
'data': {} }
##
# @block-job-change:
#
# Change the block job's options.
#
# Since: 8.2
##
{ 'command': 'block-job-change',
'data': 'BlockJobChangeOptions', 'boxed': true }
##
# @BlockdevDiscardOptions:
#

View file

@ -105,11 +105,13 @@
#
# @finalize: see @job-finalize
#
# @change: see @block-job-change (since 8.2)
#
# Since: 2.12
##
{ 'enum': 'JobVerb',
'data': ['cancel', 'pause', 'resume', 'set-speed', 'complete', 'dismiss',
'finalize' ] }
'finalize', 'change' ] }
##
# @JOB_STATUS_CHANGE: