Byte rates should use QAPI type 'size' (uint64_t). BlockJobInfo member @speed and parameter @speed of events BLOCK_JOB_COMPLETED, BLOCK_JOB_CANCELLED, BLOCK_JOB_READY are 'int' (int64_t).
block_job_query(), block_job_event_completed(), block_job_event_cancelled(), block_job_event_ready() all get it from BlockJob member @speed, implicitly converting from uint64_t (since the commit before previous). The conversion is safe, because block_job_set_speed() won't set speeds above INT_MAX. Change the BlockJobInfo member and the event parameters to 'size', for QAPI/QMP consistency. Signed-off-by: Markus Armbruster <arm...@redhat.com> --- hmp.c | 4 ++-- qapi/block-core.json | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/hmp.c b/hmp.c index ecacb7f..fae974e 100644 --- a/hmp.c +++ b/hmp.c @@ -967,7 +967,7 @@ void hmp_info_block_jobs(Monitor *mon, const QDict *qdict) while (list) { if (strcmp(list->value->type, "stream") == 0) { monitor_printf(mon, "Streaming device %s: Completed %" PRId64 - " of %" PRId64 " bytes, speed limit %" PRId64 + " of %" PRId64 " bytes, speed limit %" PRIu64 " bytes/s\n", list->value->device, list->value->offset, @@ -975,7 +975,7 @@ void hmp_info_block_jobs(Monitor *mon, const QDict *qdict) list->value->speed); } else { monitor_printf(mon, "Type %s, device %s: Completed %" PRId64 - " of %" PRId64 " bytes, speed limit %" PRId64 + " of %" PRId64 " bytes, speed limit %" PRIu64 " bytes/s\n", list->value->type, list->value->device, diff --git a/qapi/block-core.json b/qapi/block-core.json index 1d68669..ceaab43 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json @@ -956,7 +956,8 @@ ## { 'struct': 'BlockJobInfo', 'data': {'type': 'str', 'device': 'str', 'len': 'int', - 'offset': 'int', 'busy': 'bool', 'paused': 'bool', 'speed': 'int', + 'offset': 'int', 'busy': 'bool', 'paused': 'bool', + 'speed': 'size', 'io-status': 'BlockDeviceIoStatus', 'ready': 'bool'} } ## @@ -3607,7 +3608,7 @@ 'device': 'str', 'len' : 'int', 'offset': 'int', - 'speed' : 'int', + 'speed' : 'size', '*error': 'str' } } ## @@ -3643,7 +3644,7 @@ 'device': 'str', 'len' : 'int', 'offset': 'int', - 'speed' : 'int' } } + 'speed' : 'size' } } ## # @BLOCK_JOB_ERROR: @@ -3708,7 +3709,7 @@ 'device': 'str', 'len' : 'int', 'offset': 'int', - 'speed' : 'int' } } + 'speed' : 'size' } } ## # @PreallocMode: -- 2.7.5