[libvirt] [PATCH v2 09/12] getstats: prepare for dynamic block.count stat

Eric Blake eblake at redhat.com
Wed Dec 17 07:13:39 UTC 2014


On 12/16/2014 08:09 AM, Peter Krempa wrote:
> On 12/16/14 09:04, Eric Blake wrote:
>> A coming patch will make it optionally possible to list backing
>> chain block stats; in this mode of operation, block.counts is no
>> longer the number of <disks> in the domain, but the number of
>> blocks in the array being reported.  We still want block.count
>> listed first, but rather than iterate the tree twice (once to
>> count, and once to list stats), it's easier to just touch things
>> up after the fact.
>>

>> +    count_index = record->nparams;
> 
> The index is remembered prior ..
> 
>> +    QEMU_ADD_COUNT_PARAM(record, maxparams, "block", 0);
> 
> to adding the element into the array. As the macro may jump to cleanup
> precisely at this moment, if adding of the element failed you'd ...
> 
>>
>> -    for (i = 0; i < dom->def->ndisks; i++) {
>> +    for (; i < dom->def->ndisks; i++) {
>>          qemuBlockStats *entry;
>>          virDomainDiskDefPtr disk = dom->def->disks[i];
>>
>> @@ -18627,6 +18632,8 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr driver,
>>      ret = 0;
>>
>>   cleanup:
>> +    if (count_index >= 0)
>> +        record->params[count_index].value.ui = i;
> 
> Touch a non-existent field here.

Ooh, good catch.

> 
> if (ret == 0 && count_index >= 0) ...
> 
> 
>>      virHashFree(stats);
>>      virObjectUnref(cfg);
>>      return ret;
>>
> 
> ACK with the tweak above.

Fixed, and will push shortly.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 539 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20141217/a7efc217/attachment-0001.sig>


More information about the libvir-list mailing list