Alberto Garcia <be...@igalia.com> writes: > On Mon 07 Aug 2017 04:45:35 PM CEST, Markus Armbruster wrote: >> Sizes and byte rates should use QAPI type 'size' (uint64_t). >> BlockIOThrottle and BlockDeviceInfo members @bps, @bps_rd, @bps_wr, >> @bps_max, @bps_rd_max, @bps_wr_max, @iops_size are 'int' (int64_t). >> qmp_block_set_io_throttle() and bdrv_block_device_info() copy @bps, >> @bps_rd, @bps_wr to / from LeakyBucket member @avg (implicit >> conversion to / from double), @bps_max, @bps_rd_max, @bps_wr_max to / >> from LeakyBucket member @max (implicit conversion to / from double), >> and @iops_size to / from ThrottleConfig member op_size (implicit >> conversion to / from uint64_t). >> >> Change these BlockIOThrottle and BlockDeviceInfo members to 'size'. >> >> block_set_io_throttle now accepts sizes and rates between 2^63 and >> 2^64-1. It accepts negative values as before, because that's how the >> QObject input visitor works for backward compatibility. >> >> Doing the same for HMP's block_set_io_throttle deserves its own commit >> (the next one). >> >> query-block and query-named-block-nodes now report sizes and rates >> above 2^63-1 correctly instead of their (negative) two's complement. >> >> So does HMP's "info block". >> >> Signed-off-by: Markus Armbruster <arm...@redhat.com> > > This is fine because all those parameters are limited to [0, 10^15], so > changing int64_t -> uint64_t is not a problem. > > I have already sent a patch that changes the fields in the data > structure in throttle.h from double to uint64_t
I expect v2 to be based on your patch. Might simplify the commit message. > Reviewed-by: Alberto Garcia <be...@igalia.com> Thanks!