@@ -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,
@@ -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:
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 <armbru@redhat.com> --- hmp.c | 4 ++-- qapi/block-core.json | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-)