blockjob: Fix recent BLOCK_JOB_READY regression

Commit bcada37 dropped the (up to now undocumented) members type, len,
offset, speed, breaking tests/qemu-iotests/040 and 041.

Restore and document them.  This fixes 040, and partially fixes 041.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Tested-By: Benoit Canet <benoit@irqsave.net>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Markus Armbruster 2014-06-27 19:24:13 +02:00 committed by Kevin Wolf
parent d64c60a75f
commit 518848a214
2 changed files with 19 additions and 2 deletions

View File

@ -270,7 +270,11 @@ void block_job_event_completed(BlockJob *job, const char *msg)
void block_job_event_ready(BlockJob *job) void block_job_event_ready(BlockJob *job)
{ {
qapi_event_send_block_job_ready(bdrv_get_device_name(job->bs), &error_abort); qapi_event_send_block_job_ready(job->driver->job_type,
bdrv_get_device_name(job->bs),
job->len,
job->offset,
job->speed, &error_abort);
} }
BlockErrorAction block_job_error_action(BlockJob *job, BlockDriverState *bs, BlockErrorAction block_job_error_action(BlockJob *job, BlockDriverState *bs,

View File

@ -1558,12 +1558,25 @@
# #
# Emitted when a block job is ready to complete # Emitted when a block job is ready to complete
# #
# @type: job type
#
# @device: device name # @device: device name
# #
# @len: maximum progress value
#
# @offset: current progress value. On success this is equal to len.
# On failure this is less than len
#
# @speed: rate limit, bytes per second
#
# Note: The "ready to complete" status is always reset by a @BLOCK_JOB_ERROR # Note: The "ready to complete" status is always reset by a @BLOCK_JOB_ERROR
# event # event
# #
# Since: 1.3 # Since: 1.3
## ##
{ 'event': 'BLOCK_JOB_READY', { 'event': 'BLOCK_JOB_READY',
'data': { 'device': 'str' } } 'data': { 'type' : 'BlockJobType',
'device': 'str',
'len' : 'int',
'offset': 'int',
'speed' : 'int' } }