[libvirt] [PATCH 1/2] network: only clear bandwidth if it has been set

Michal Privoznik mprivozn at redhat.com
Wed Feb 25 11:12:04 UTC 2015


On 24.02.2015 20:39, Laine Stump wrote:
> libvirt was unconditionally calling virNetDevBandwidthClear() for
> every interface (and network bridge) of a type that supported
> bandwidth, whether it actually had anything set or not. This doesn't
> hurt anything (unless ifname == NULL!), but is wasteful.
> 
> This patch makes sure that all calls to virNetDevBandwidthClear() are
> qualified by checking that ifname != NULL and that it really had some
> bandwidth setup done.
> 
> (NB: an sa_assert(detach->ifname) was added in
> lxcDomainDetachDeviceNetLive() because the preceding new check of
> detach->ifname before calling virNetDevBandwidthClear() caused
> Coverity to complain about a possible null dereference.)
> ---
>  src/conf/netdev_bandwidth_conf.c | 6 ++++--
>  src/lxc/lxc_driver.c             | 7 ++++++-
>  src/network/bridge_driver.c      | 6 ++++--
>  src/qemu/qemu_hotplug.c          | 4 +++-
>  4 files changed, 17 insertions(+), 6 deletions(-)
> 

How about moving the check for non-NULL ifname into
virNetDevBandwidthClear()? Its counterpart virNetDevBandwidthSet() does
something similar over @bandwidth argument. And after 2/2 it'll done the
same over @ifname.

Michal




More information about the libvir-list mailing list