On 11.08.2015 03:31, John Ferlan wrote: > > > On 08/03/2015 02:39 AM, Michal Privoznik wrote: >> Well, there are just two places that needs adjustment: >> >> qemuDomainGetInterfaceParameters - to report the @floor >> qemuDomainSetInterfaceParameters - now that the function has been >> fixed, we can allow updating @floor too. >> >> Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> >> --- >> src/qemu/qemu_driver.c | 23 ++++++++++++++++++----- >> 1 file changed, 18 insertions(+), 5 deletions(-) >> >> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c >> index 171b58f..7123083 100644 >> --- a/src/qemu/qemu_driver.c >> +++ b/src/qemu/qemu_driver.c >> @@ -138,7 +138,7 @@ VIR_LOG_INIT("qemu.qemu_driver"); >> >> #define QEMU_NB_BLKIO_PARAM 6 >> >> -#define QEMU_NB_BANDWIDTH_PARAM 6 >> +#define QEMU_NB_BANDWIDTH_PARAM 7 >> >> static void processWatchdogEvent(virQEMUDriverPtr driver, >> virDomainObjPtr vm, >> @@ -11126,6 +11126,8 @@ qemuDomainSetInterfaceParameters(virDomainPtr dom, >> VIR_TYPED_PARAM_UINT, >> VIR_DOMAIN_BANDWIDTH_IN_BURST, >> VIR_TYPED_PARAM_UINT, >> + VIR_DOMAIN_BANDWIDTH_IN_FLOOR, >> + VIR_TYPED_PARAM_UINT, >> VIR_DOMAIN_BANDWIDTH_OUT_AVERAGE, >> VIR_TYPED_PARAM_UINT, >> VIR_DOMAIN_BANDWIDTH_OUT_PEAK, >> @@ -11178,6 +11180,9 @@ qemuDomainSetInterfaceParameters(virDomainPtr dom, >> bandwidth->in->peak = params[i].value.ui; >> } else if (STREQ(param->field, VIR_DOMAIN_BANDWIDTH_IN_BURST)) { >> bandwidth->in->burst = params[i].value.ui; >> + } else if (STREQ(param->field, VIR_DOMAIN_BANDWIDTH_IN_FLOOR)) { >> + bandwidth->in->floor = params[i].value.ui; >> + inboundSpecified = true; > > If 'average' is required, then can one really provide just floor? > >> } else if (STREQ(param->field, VIR_DOMAIN_BANDWIDTH_OUT_AVERAGE)) { >> bandwidth->out->average = params[i].value.ui; >> outboundSpecified = true; >> @@ -11191,7 +11196,7 @@ qemuDomainSetInterfaceParameters(virDomainPtr dom, >> /* average is mandatory, peak and burst are optional. So if no >> * average is given, we free inbound/outbound here which causes >> * inbound/outbound to not be set. */ > > Adjust comment to account for floor... > >> - if (!bandwidth->in->average) >> + if (!bandwidth->in->average && !bandwidth->in->floor) > > Again, I thought average was required ... sorry it's just late. Maybe > the updated comment will answer my query... Either average or floor is required. This is what I am squashing in: diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index d92c6e0..2e44500 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -11197,9 +11197,9 @@ qemuDomainSetInterfaceParameters(virDomainPtr dom, } } - /* average is mandatory, peak and burst are optional. So if no - * average is given, we free inbound/outbound here which causes - * inbound/outbound to not be set. */ + /* average or floor are mandatory, peak and burst are optional. + * So if no average or floor is given, we free inbound/outbound + * here which causes inbound/outbound to not be set. */ if (!bandwidth->in->average && !bandwidth->in->floor) VIR_FREE(bandwidth->in); if (!bandwidth->out->average) > > ACK in principle > > John Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list