[libvirt] [PATCH 1/2] qemu: delete exist bandwidth restrictions when they are removed from config

Michal Privoznik mprivozn at redhat.com
Thu Dec 14 06:21:53 UTC 2017


On 12/13/2017 08:24 PM, Laine Stump wrote:
> When the <bandwidth> of an interface is changed with update-device,
> the old settings are cleared with tc, then new settings added with
> tc. But if the <bandwidth has been removed, the old settings weren't
> being removed, so the bandwidth restrictions would still be active on
> the interface although the interface status in libvirt showed that
> they had been removed.
> 
> This patch fixes it by calling virNetDevBandwidthClear() if the
> "modification" to the interface bandwidth was to completely clear
> it.
> 
> An alternative could have been to modify virNetDevBandwidthSet() to
> always clear existing bandwith settings at the beginning of the
> function (currently it short circuits in that case, doing nothing),
> but that would have led to cases where virNetDevBandwidthClear() was
> now being called in cases where it previously wasn't, and while many
> of those cases would be NOPs, there could be cases where it would
> cause an error. The way this patch works, the ...Clear() function is
> only called in cases where the ...Set() function had previously been
> called successfully, so the risk of regression is minimized.

Yeah. Let's go the way you implement here.

> 
>   Resolves: https://bugzilla.redhat.com/1454709
> ---
> 
> I'm currently unable to test this fix because
> https://bugzilla.redhat.com/1514963 (filed against the iproute
> package) is unresolved in the version of Fedora running on my host.

I'm running a fixed version of iproute and successfully tested this patch.

Michal




More information about the libvir-list mailing list