On Fri, Jun 23, 2017 at 03:46:52PM +0300, Manos Pitsidianakis wrote: > This patch series adds a filter driver that uses the existing I/O throttle > code. Throttle groups can be then created and managed with QOM. > > The 'remove legacy I/O throttling' patch replaces existing interface (command > line, qmp, hmp) to use the throttle filter transparently so as to not break > backwards compatibility. The created throttle node is stored in a field in > BlockBackendPublic so that the legacy interface can access it. The patch > currently breaks test 129 which commits, mirrors and backups a device with > legacy throttling options. I assume the internal throttling node affects this, > so I'd like some advice on how to approach this. > > Test 139 could be updated to include the throttle driver though I'm not sure > if > it's needed. > > I'm also not sure about the test I created for this (last patch). > > v2: > - Move throttle group membership to ThrottleGroupMember struct > v3: > - add ThrottleGroup object > - convert legacy interface to use the driver > - add tests > > > Manos Pitsidianakis (8): > block: move ThrottleGroup membership to ThrottleGroupMember > block: Add aio_context field in ThrottleGroupMember > block: add throttle block filter driver > block: convert ThrottleGroup to object with QOM > block: add BlockDevOptionsThrottle to QAPI > block: add options parameter to bdrv_new_open_driver() > block: remove legacy I/O throttling > block: add throttle block filter driver interface tests
Can BlockBackendPublic be removed now? Since throttling only knows about ThrottleGroupMember there may be no need for BlockBackendPublic as a public struct anymore. It's fields can be inlined inside BlockBackend. Stefan
signature.asc
Description: PGP signature