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

Michal Privoznik mprivozn at redhat.com
Tue Dec 11 17:48:33 UTC 2012


On 11.12.2012 17:38, Laine Stump wrote:
> On 12/11/2012 11:09 AM, 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 18e65ca..f5e2f71 100644
>> --- a/src/conf/domain_conf.c
>> +++ b/src/conf/domain_conf.c
>> @@ -4819,6 +4819,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);
>> @@ -12511,6 +12522,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,
> 
> ACK.
> 

Thanks, I've pushed the patches now.

Michal




More information about the libvir-list mailing list