diff options
-rw-r--r-- | blockjob.c | 6 | ||||
-rw-r--r-- | qapi/block-core.json | 15 |
2 files changed, 19 insertions, 2 deletions
diff --git a/blockjob.c b/blockjob.c index a6db01e953..a32c1c8dd7 100644 --- a/blockjob.c +++ b/blockjob.c @@ -270,7 +270,11 @@ void block_job_event_completed(BlockJob *job, const char *msg) 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, diff --git a/qapi/block-core.json b/qapi/block-core.json index a46cdbe6aa..6f41f84c44 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json @@ -1558,12 +1558,25 @@ # # Emitted when a block job is ready to complete # +# @type: job type +# # @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 # event # # Since: 1.3 ## { 'event': 'BLOCK_JOB_READY', - 'data': { 'device': 'str' } } + 'data': { 'type' : 'BlockJobType', + 'device': 'str', + 'len' : 'int', + 'offset': 'int', + 'speed' : 'int' } } |