[libvirt] [PATCH v4 03/12] qemu: Introduce QEMU_DOMAIN_JOB_STATS_TYPE_SAVEDUMP

John Ferlan jferlan at redhat.com
Fri Feb 2 22:07:44 UTC 2018



On 02/02/2018 08:21 AM, Jiri Denemark wrote:
> On Thu, Feb 01, 2018 at 18:24:34 -0500, John Ferlan wrote:
>> Add a TYPE_SAVEDUMP so that when coalescing stats for a save or
>> dump we don't needlessly try to get the mirror stats for a migration.
>> Other conditions can still use MIGRATION and SAVEDUMP interchangably
>> including usage of the @migStats field to fetch/store the data.
>>
>> Signed-off-by: John Ferlan <jferlan at redhat.com>
>> ---
>>  src/qemu/qemu_domain.c | 10 ++++++++++
>>  src/qemu/qemu_domain.h |  1 +
>>  src/qemu/qemu_driver.c |  6 ++++--
>>  3 files changed, 15 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
>> index ba28131c8..4e7557b4d 100644
>> --- a/src/qemu/qemu_domain.c
>> +++ b/src/qemu/qemu_domain.c
>> @@ -461,6 +461,15 @@ qemuDomainJobInfoToInfo(qemuDomainJobInfoPtr jobInfo,
>>                                jobInfo->mirrorStats.transferred;
>>          break;
>>  
>> +    case QEMU_DOMAIN_JOB_STATS_TYPE_SAVEDUMP:
>> +        info->memTotal = jobInfo->s.migStats.ram_total;
>> +        info->memRemaining = jobInfo->s.migStats.ram_remaining;
>> +        info->memProcessed = jobInfo->s.migStats.ram_transferred;
>> +        info->fileTotal = jobInfo->s.migStats.disk_total;
>> +        info->fileRemaining = jobInfo->s.migStats.disk_remaining;
>> +        info->fileProcessed = jobInfo->s.migStats.disk_transferred;
> 
> Just realized... setting the file* here doesn't make a lot of sense
> since we're not migrating disks here. But it doesn't hurt either since
> they are going to be 0 anyway. For this reason, I don't think it's
> necessary to complicate qemuDomainMigrationJobInfoToParams with
> decisions based on statsType. That said, you could delete the three
> lines here when renaming the union. Whether you leave
> qemuDomainMigrationJobInfoToParams untouched or add some ifs there or
> even make a new JobInfoToParams which would set just the relevant stats
> is up to you. I don't mind either way.
> 

Well the reason I left them there was because I wasn't 100% sure there
wasn't some part of save/dump that wasn't somehow using or filling in
values.

As for qemuDomainMigrationJobInfoToParams - I added a goto there...

Tks -

John
>> +        break;
>> +
>>      case QEMU_DOMAIN_JOB_STATS_TYPE_NONE:
>>      case QEMU_DOMAIN_JOB_STATS_TYPE_LAST:
>>          break;
>> @@ -650,6 +659,7 @@ qemuDomainJobInfoToParams(qemuDomainJobInfoPtr jobInfo,
>>  {
>>      switch ((qemuDomainJobStatsType) jobInfo->statsType) {
>>      case QEMU_DOMAIN_JOB_STATS_TYPE_MIGRATION:
>> +    case QEMU_DOMAIN_JOB_STATS_TYPE_SAVEDUMP:
>>          return qemuDomainMigrationJobInfoToParams(jobInfo, type, params, nparams);
> ...
> 
> Jirka
> 




More information about the libvir-list mailing list