[libvirt] [PATCH 2/9] virNetDevBandwidthUpdateRate: turn class_id into integer

John Ferlan jferlan at redhat.com
Mon Aug 10 20:42:03 UTC 2015



On 08/03/2015 02:39 AM, Michal Privoznik wrote:
> This is no functional change. It's just that later in the series we
> will need to pass class_id as an integer.
> 
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
>  src/network/bridge_driver.c   |  4 ++--
>  src/util/virnetdevbandwidth.c | 10 +++++++---
>  src/util/virnetdevbandwidth.h |  2 +-
>  3 files changed, 10 insertions(+), 6 deletions(-)
> 
> diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
> index 3d6721b..17fc430 100644
> --- a/src/network/bridge_driver.c
> +++ b/src/network/bridge_driver.c
> @@ -4840,7 +4840,7 @@ networkPlugBandwidth(virNetworkObjPtr net,
>      }
>      /* update rate for non guaranteed NICs */
>      new_rate -= net->floor_sum;
> -    if (virNetDevBandwidthUpdateRate(net->def->bridge, "1:2",
> +    if (virNetDevBandwidthUpdateRate(net->def->bridge, 2,
>                                       net->def->bandwidth, new_rate) < 0)
>          VIR_WARN("Unable to update rate for 1:2 class on %s bridge",
>                   net->def->bridge);
> @@ -4891,7 +4891,7 @@ networkUnplugBandwidth(virNetworkObjPtr net,
>          }
>          /* update rate for non guaranteed NICs */
>          new_rate -= net->floor_sum;
> -        if (virNetDevBandwidthUpdateRate(net->def->bridge, "1:2",
> +        if (virNetDevBandwidthUpdateRate(net->def->bridge, 2,
>                                           net->def->bandwidth, new_rate) < 0)
>              VIR_WARN("Unable to update rate for 1:2 class on %s bridge",
>                       net->def->bridge);
> diff --git a/src/util/virnetdevbandwidth.c b/src/util/virnetdevbandwidth.c
> index 6ae0877..91201ae 100644
> --- a/src/util/virnetdevbandwidth.c
> +++ b/src/util/virnetdevbandwidth.c
> @@ -638,7 +638,8 @@ virNetDevBandwidthUnplug(const char *brname,
>  /**
>   * virNetDevBandwidthUpdateRate:
>   * @ifname: interface name
> - * @classid: ID of class to update
> + * @id: unique identifier (MUST be greater than 2)
> + * @bandwidth: used to derive 'ceil' of class with @id
>   * @new_rate: new rate
>   *
>   * This function updates the 'rate' attribute of HTB class.
> @@ -650,16 +651,18 @@ virNetDevBandwidthUnplug(const char *brname,
>   */
>  int
>  virNetDevBandwidthUpdateRate(const char *ifname,
> -                             const char *class_id,
> +                             unsigned int id,
>                               virNetDevBandwidthPtr bandwidth,
>                               unsigned long long new_rate)
>  {
>      int ret = -1;
>      virCommandPtr cmd = NULL;
> +    char *class_id = NULL;
>      char *rate = NULL;
>      char *ceil = NULL;
>  
> -    if (virAsprintf(&rate, "%llukbps", new_rate) < 0 ||
> +    if (virAsprintf(&class_id, "1:%x", id) < 0 ||
> +        virAsprintf(&rate, "%llukbps", new_rate) < 0 ||
>          virAsprintf(&ceil, "%llukbps", bandwidth->in->peak ?
>                      bandwidth->in->peak :
>                      bandwidth->in->average) < 0)
> @@ -677,6 +680,7 @@ virNetDevBandwidthUpdateRate(const char *ifname,
>  
>   cleanup:
>      virCommandFree(cmd);
> +    VIR_FREE(class_id);
>      VIR_FREE(rate);
>      VIR_FREE(ceil);
>      return ret;
> diff --git a/src/util/virnetdevbandwidth.h b/src/util/virnetdevbandwidth.h
> index 9b1d2a6..f42094c 100644
> --- a/src/util/virnetdevbandwidth.h
> +++ b/src/util/virnetdevbandwidth.h
> @@ -68,7 +68,7 @@ int virNetDevBandwidthUnplug(const char *brname,
>      ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK;
>  
>  int virNetDevBandwidthUpdateRate(const char *ifname,
> -                                 const char *class_id,
> +                                 unsigned int id,
>                                   virNetDevBandwidthPtr bandwidth,
>                                   unsigned long long new_rate)
>      ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2)
> 

You'll need to remove the ATTRIBUTE_NONNULL(2) to make Coverity builds
happy...  You can move the ATTRIBUTE_RETURN_CHECK to the same line if
you want also.

ACK with that adjustment,

John




More information about the libvir-list mailing list