Polite ping. On Mon, Jan 11, 2021 at 12:49 PM Nikolay Shirokovskiy < nshirokovs...@virtuozzo.com> wrote:
> Hi, all. > > I started this work as adding missing parts/fixing issues/etc in block > iotune > code but then turned to refactoring code. We use a lot of macros in this > place > and if we get rid of them I belive we will have much more > readable/reusable/ > extendable code. > > Most of macros usage is for iterating over unsigned long long values. I'm > talking about parsing/formating xml, converting from/to > virTypedParameterPtr > list etc. These places do not care about tune semantics and thus we can > add tools for the said iteration. See patch [1] for the first such > conversion. > > Patches before it partially prepare for this conversion, partially just > improve code reuse and add missing parts. > > The work on removing macros in code handling iotunes is not finished as > I wanted to get an approvement that I have taken a right direction. At the > same time series shows the potential of the approach (take a look on how > qemuDomainSetBlockIoTune and testDomainSetBlockIoTune are looking now!). > > Some places like qemuDomainSetBlockIoTuneDefaults deal with fields > semantics. > So we need another approach to remove macros there but it is a matter of > a different RFC. > > Nikolay Shirokovskiy (23): > qemu: pass supportGroupNameOption as expected > qemu: factor out qemuValidateDomainBlkdeviotune > qemu: reuse validation in qemuDomainSetBlockIoTune > qemu: remove extra check for QEMU_BLOCK_IOTUNE_MAX > conf: factor out virDomainBlockIoTuneValidate > qemu: reuse virDomainBlockIoTuneValidate > test driver: reuse virDomainBlockIoTuneValidate > qemu: reset max iotune setting when needed > qemu: add max iotune settings check to virDomainBlockIoTuneValidate > qemu: remove iotune max checks > test driver: remove iotune max checks > qemu: prepare for removing qemuBlockIoTuneSetFlags > qemu: use group_name instead of QEMU_BLOCK_IOTUNE_SET_GROUP_NAME > qemu: remove qemuBlockIoTuneSetFlags usage in qemuDomainSetBlockIoTune > qemu: remove qemuBlockIoTuneSetFlags enum completly > conf: get rid of macros in virDomainDiskDefIotuneParse > [1] > conf: get rid of macros in virDomainDiskDefFormatIotune > conf: add virDomainBlockIoTuneFromParams > conf: add virDomainBlockIoTuneToEventParams > qemu: qemuDomainSetBlockIoTune use functions to convert to/from params > test driver: remove TEST_BLOCK_IOTUNE_MAX checks > test driver: prepare to delete macros in testDomainSetBlockIoTune > test driver: testDomainSetBlockIoTune: use functions to convert > to/from params > > src/conf/domain_conf.c | 303 > +++++++++++++++++++++++++++++++++-------------- > src/conf/domain_conf.h | 16 +++ > src/libvirt_private.syms | 3 + > src/qemu/qemu_driver.c | 281 ++++++++++++------------------------------- > src/qemu/qemu_validate.c | 100 +++++++++------- > src/qemu/qemu_validate.h | 4 + > src/test/test_driver.c | 156 ++---------------------- > 7 files changed, 380 insertions(+), 483 deletions(-) > > -- > 1.8.3.1 > >