This patches provide qmp interface to query/set io throttle parameters of a fsdev. Some of patches also refactor the code and structure that was present in block and fsdev files.
xiezhide (6): fsdev-throttle-qmp: factor out throttle code to reuse code fsdev-throttle-qmp: Rename the ThrottleLimits member names fsdev-throttle-qmp: Rewrite BlockIOThrottle with ThrottleLimits as its base class fsdev-throttle-qmp: Move ThrottleLimits into a new file for future reuse fsdev-throttle-qmp: qmp interface for fsdev io throttling fsdev-throttle-qmp: hmp interface for fsdev io throttling Makefile | 18 ++++ Makefile.objs | 8 ++ block/throttle.c | 6 +- blockdev.c | 45 +------- fsdev/qemu-fsdev-dummy.c | 11 ++ fsdev/qemu-fsdev-throttle.c | 142 +++++++++++++++--------- fsdev/qemu-fsdev-throttle.h | 6 +- fsdev/qemu-fsdev.c | 29 +++++ hmp-commands-info.hx | 15 +++ hmp-commands.hx | 15 +++ hmp.c | 81 ++++++++++++-- hmp.h | 4 + include/qemu/throttle-options.h | 2 + include/qemu/throttle.h | 4 +- include/qemu/typedefs.h | 1 + qapi/block-core.json | 122 +-------------------- qapi/fsdev.json | 96 +++++++++++++++++ qapi/qapi-schema.json | 2 + qapi/tlimits.json | 53 +++++++++ qmp.c | 13 +++ util/throttle.c | 231 ++++++++++++++++++++++++++-------------- 21 files changed, 598 insertions(+), 306 deletions(-) create mode 100644 qapi/fsdev.json create mode 100644 qapi/tlimits.json v0 -> v1: Addressed comments from Eric Blake and Greg Kurz. Fix patch corrupt issue due to email client change the patch format with copy-to-paster Break patch to patches v1 -> v2: Addressed comments from Greg Kurz. send patch with outlook,patch corrupted, resend with git send-email v2 -> v3: Addressed comments from Eric Blake. split patch1 into two patches v3 -> v4: Fix issue cause test failed on centos and fedora v4 -> v5: Addressed comments from Eric Blake. split patch3 into three patches -- 1.8.3.1