On Mon 29 May 2017 10:57:37 PM CEST, Manos Pitsidianakis wrote: >>> A quirk in the current implementation is that the throttling limits >>> for the group are overwritten by each -drive throttling.group=group0. >>> Limits for all but the last -drive in a group are ignored. >> - bps or iops != 0 -> set the I/O limits of a throttling group. The >> selected device is moved to that group if it >> wasn't there yet. >> >> - bps and iops == 0 -> remove a device from a throttling group >> without touching that group's I/O limits. > > These are very unintuitive. However, even without considering > backwards compatibility, I think that using -object notation (eg > "object-add throttle-group,id=foo,iops=...) is intuitive in the case > of groups, but not when you need individual limits for each device as > the syntax would be too verbose. Of course the old interface covers > that.
Yes, that's clear. I think that when adding drives, the command-line UI -drive throttling.iops=XXX notation is good enough for individual devices and the -object notation is good for groups. My question was about the block_set_io_throttle QMP command, which you can use to change the limits of existing drives. But I think Kevin is right and we should probably think of an alternative interface for that. Berto
