[libvirt] [PATCH v2 8/8] domain: Keep assigned class_id in domstatus XML

Laine Stump laine at laine.org
Tue Dec 11 12:03:51 UTC 2012


On 12/04/2012 02:19 PM, Michal Privoznik wrote:
> Interfaces keeps a class_id, which is an ID from which bridge
> part of QoS settings is derived. We need to store class_id
> in domain status file, so we can later pass it to
> virNetDevBandwidthUnplug.
> ---
>  src/conf/domain_conf.c |   13 +++++++++++++
>  1 files changed, 13 insertions(+), 0 deletions(-)
>
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index 99aa08d..9f6d1e9 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -4777,6 +4777,17 @@ virDomainActualNetDefParseXML(xmlNodePtr node,
>                                         hostdev, flags) < 0) {
>              goto error;
>          }
> +    } else if (actual->type == VIR_DOMAIN_NET_TYPE_NETWORK) {
> +        char *class_id = virXPathString("string(./class/@id)", ctxt);
> +        if (class_id &&
> +            virStrToLong_ui(class_id, NULL, 10, &actual->class_id) < 0) {
> +            virReportError(VIR_ERR_INTERNAL_ERROR,
> +                           _("Unable to parse class id '%s'"),
> +                           class_id);
> +            VIR_FREE(class_id);
> +            goto error;
> +        }
> +        VIR_FREE(class_id);
>      }
>  
>      bandwidth_node = virXPathNode("./bandwidth", ctxt);
> @@ -12467,6 +12478,8 @@ virDomainActualNetDefFormat(virBufferPtr buf,
>          break;
>  
>      case VIR_DOMAIN_NET_TYPE_NETWORK:
> +        if (def->class_id)
> +            virBufferAsprintf(buf, "<class id='%u'/>", def->class_id);
>          break;
>      default:
>          virReportError(VIR_ERR_INTERNAL_ERROR,

I just added a comment to 6/8 - I think this patch should be done prior
to 6/8, and include the addition of class_id to the actualNetDef (well,
really I think that the class_id would be better added to
virNetDevBandwidth instead).

ACK with class_id moved into the bandwidth object (unless there's some
reason you didn't do that), and a preference for re-ordering/re-grouping
as I mentioned in the previous paragraph.




More information about the libvir-list mailing list