On Wed, Aug 12, 2015 at 09:59:08 +0200, Michal Privoznik wrote: > On 12.08.2015 07:45, Peter Krempa wrote: > > cmdAttachInterface doesn't support the 'floor' field that was added in > > d7f5c88961b52 but that commit didn't properly reject it from > > cmdAttachInterface where it's unused. > > --- > > tools/virsh-domain.c | 8 ++++++-- > > 1 file changed, 6 insertions(+), 2 deletions(-) > > > > diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c > > index 9f54691..94e7a5c 100644 > > --- a/tools/virsh-domain.c > > +++ b/tools/virsh-domain.c > > @@ -963,8 +963,12 @@ cmdAttachInterface(vshControl *ctl, const vshCmd *cmd) > > memset(&inbound, 0, sizeof(inbound)); > > if (vshParseRateStr(ctl, inboundStr, &inbound) < 0) > > goto cleanup; > > - if (!inbound.average && !inbound.floor) { > > - vshError(ctl, _("either inbound average or floor is mandatory")); > > + if (!inbound.average) { > > + vshError(ctl, _("inbound average is mandatory")); > > + goto cleanup; > > + } > > + if (inbound.floor) { > > + vshError(ctl, _("inbound floor is unsupported yet")); > > goto cleanup; > > } > > } > > > > Ah, it isn't. But it's not limitation of our API (which does support @floor of course). It's a virsh limitation. So how about instead of you patch have the following in? > > diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c > index a957836..7cd521e 100644 > --- a/tools/virsh-domain.c > +++ b/tools/virsh-domain.c > @@ -1041,12 +1041,16 @@ cmdAttachInterface(vshControl *ctl, const vshCmd *cmd) > if (inboundStr || outboundStr) { > virBufferAddLit(&buf, "<bandwidth>\n"); > virBufferAdjustIndent(&buf, 2); > - if (inboundStr && inbound.average > 0) { > - virBufferAsprintf(&buf, "<inbound average='%llu'", inbound.average); > + if (inboundStr && (inbound.average || inbound.floor)) { > + virBufferAddLit(&buf, "<inbound"); > + if (inbound.average > 0) > + virBufferAsprintf(&buf, " average='%llu'", inbound.average); > if (inbound.peak > 0) > virBufferAsprintf(&buf, " peak='%llu'", inbound.peak); > if (inbound.burst > 0) > virBufferAsprintf(&buf, " burst='%llu'", inbound.burst); > + if (inbound.floor > 0) > + virBufferAsprintf(&buf, " floor='%llu'", inbound.floor); > virBufferAddLit(&buf, "/>\n"); > } > if (outboundStr && outbound.average > 0) { Feel free to do it that way. I've noticed that the check didn't make much sense as it was now and I didn't care enough to see whether it was possible to use that. Peter
Attachment:
signature.asc
Description: Digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list