The first patch is only used to see if it is suitable for exteeding blkiotune to implement disk I/O throttling. As you have known, when blkiotune is issued without options, it will display current tuning parameters; If we exceed it, without options, what should it display? both info will? or should one new option be added to separately display them? Signed-off-by: Zhi Yong Wu <wuzhy@xxxxxxxxxxxxxxxxxx> --- src/conf/domain_conf.c | 18 ++++++++++++++++++ src/conf/domain_conf.h | 11 +++++++++++ 2 files changed, 29 insertions(+), 0 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index cce9955..7dd350a 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -9065,6 +9065,24 @@ virDomainDiskDefFormat(virBufferPtr buf, virBufferAsprintf(buf, " <target dev='%s' bus='%s'/>\n", def->dst, bus); + /*disk I/O throttling*/ + if (def->blkio.blkiothrottle) { + virBufferAsprintf(&buf, " <blkiothrottle>\n"); + virBufferAsprintf(&buf, " <bps>%llu</bps>\n", + def->blkiothrottle.bps); + virBufferAsprintf(&buf, " <bps_rd>%llu</bps_rd>\n", + def->blkiothrottle.bps_rd); + virBufferAsprintf(&buf, " <bps_wr>%llu</bps_wr>\n", + def->blkiothrottle.bps_wr); + virBufferAsprintf(&buf, " <iops>%llu</iops>\n", + def->blkiothrottle.iops); + virBufferAsprintf(&buf, " <iops_rd>%llu</iops_rd>\n", + def->blkiothrottle.iops_rd); + virBufferAsprintf(&buf, " <iops_wr>%llu</iops_wr>\n", + def->blkiothrottle.iops_wr); + virBufferAsprintf(&buf, " </blkiothrottle>\n"); + } + if (def->bootIndex) virBufferAsprintf(buf, " <boot order='%d'/>\n", def->bootIndex); if (def->readonly) diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index e218a30..5902377 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -258,6 +258,17 @@ struct _virDomainDiskDef { virDomainDiskHostDefPtr hosts; char *driverName; char *driverType; + + /*disk I/O throttling*/ + struct { + unsigned long long bps; + unsigned long long bps_rd; + unsigned long long bps_wr; + unsigned long long iops; + unsigned long long iops_rd; + unsigned long long iops_wr; + } blkiothrottle; + char *serial; int cachemode; int error_policy; -- 1.7.6 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list