All of lore.kernel.org
 help / color / mirror / Atom feed
From: Xiao Guangrong <guangrong.xiao@gmail.com>
To: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: kvm@vger.kernel.org, mst@redhat.com, mtosatti@redhat.com,
	Xiao Guangrong <xiaoguangrong@tencent.com>,
	qemu-devel@nongnu.org, peterx@redhat.com, wei.w.wang@intel.com,
	jiang.biao2@zte.com.cn, pbonzini@redhat.com
Subject: Re: [PATCH] migration: introduce decompress-error-check
Date: Thu, 26 Apr 2018 21:18:01 +0800	[thread overview]
Message-ID: <34c11cfa-3199-6097-3412-d7214fde0a08@gmail.com> (raw)
In-Reply-To: <20180426093443.GA2631@work-vm>



On 04/26/2018 05:34 PM, Dr. David Alan Gilbert wrote:
> * guangrong.xiao@gmail.com (guangrong.xiao@gmail.com) wrote:
>> From: Xiao Guangrong <xiaoguangrong@tencent.com>
>>
>> QEMU 2.13 enables strict check for compression & decompression to
>> make the migration more robuster, that depends on the source to fix
>> the internal design which triggers the unexpected error conditions
> 
> Hmm that's painful!

Yup, i will think it more carefully next time. :(

> 
>> To make it work for migrating old version QEMU to 2.13 QEMU, we
>> introduce this parameter to disable the error check on the
>> destination
>>
>> Signed-off-by: Xiao Guangrong <xiaoguangrong@tencent.com>
>> ---
>>   hmp.c                 |  8 ++++++++
>>   migration/migration.c | 19 +++++++++++++++++++
>>   migration/migration.h |  1 +
>>   migration/ram.c       |  2 +-
>>   qapi/migration.json   | 43 +++++++++++++++++++++++++++++++++++++++----
>>   5 files changed, 68 insertions(+), 5 deletions(-)
>>
>> diff --git a/hmp.c b/hmp.c
>> index 898e25f3e1..f0b934368b 100644
>> --- a/hmp.c
>> +++ b/hmp.c
>> @@ -329,6 +329,10 @@ void hmp_info_migrate_parameters(Monitor *mon, const QDict *qdict)
>>           monitor_printf(mon, "%s: %u\n",
>>               MigrationParameter_str(MIGRATION_PARAMETER_DECOMPRESS_THREADS),
>>               params->decompress_threads);
>> +        assert(params->has_decompress_error_check);
>> +        monitor_printf(mon, "%s: %s\n",
>> +            MigrationParameter_str(MIGRATION_PARAMETER_DECOMPRESS_ERROR_CHECK),
>> +            params->decompress_error_check ? "on" : "off");
> 
> Since it's a bool, this should be a migration-capability rather than a
> parameter I think.
> 

The parameter, @block-incremental, it is also a bool, i think it is okay to
decompress-error-check as well, and it is one of the configurations
of decompression, it is better to group them. Right? :)

> Also, we need to make sure it defaults to off for compatibility.

Yes, the parameter is allocated by zalloc, it has already been false on
default, do you think we should make it be false explicitly?

> 
> Other than that, I think it's OK.

Thank you, Dave!

WARNING: multiple messages have this Message-ID
From: Xiao Guangrong <guangrong.xiao@gmail.com>
To: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: pbonzini@redhat.com, mst@redhat.com, mtosatti@redhat.com,
	qemu-devel@nongnu.org, kvm@vger.kernel.org, peterx@redhat.com,
	jiang.biao2@zte.com.cn, wei.w.wang@intel.com,
	Xiao Guangrong <xiaoguangrong@tencent.com>
Subject: Re: [Qemu-devel] [PATCH] migration: introduce decompress-error-check
Date: Thu, 26 Apr 2018 21:18:01 +0800	[thread overview]
Message-ID: <34c11cfa-3199-6097-3412-d7214fde0a08@gmail.com> (raw)
In-Reply-To: <20180426093443.GA2631@work-vm>



On 04/26/2018 05:34 PM, Dr. David Alan Gilbert wrote:
> * guangrong.xiao@gmail.com (guangrong.xiao@gmail.com) wrote:
>> From: Xiao Guangrong <xiaoguangrong@tencent.com>
>>
>> QEMU 2.13 enables strict check for compression & decompression to
>> make the migration more robuster, that depends on the source to fix
>> the internal design which triggers the unexpected error conditions
> 
> Hmm that's painful!

Yup, i will think it more carefully next time. :(

> 
>> To make it work for migrating old version QEMU to 2.13 QEMU, we
>> introduce this parameter to disable the error check on the
>> destination
>>
>> Signed-off-by: Xiao Guangrong <xiaoguangrong@tencent.com>
>> ---
>>   hmp.c                 |  8 ++++++++
>>   migration/migration.c | 19 +++++++++++++++++++
>>   migration/migration.h |  1 +
>>   migration/ram.c       |  2 +-
>>   qapi/migration.json   | 43 +++++++++++++++++++++++++++++++++++++++----
>>   5 files changed, 68 insertions(+), 5 deletions(-)
>>
>> diff --git a/hmp.c b/hmp.c
>> index 898e25f3e1..f0b934368b 100644
>> --- a/hmp.c
>> +++ b/hmp.c
>> @@ -329,6 +329,10 @@ void hmp_info_migrate_parameters(Monitor *mon, const QDict *qdict)
>>           monitor_printf(mon, "%s: %u\n",
>>               MigrationParameter_str(MIGRATION_PARAMETER_DECOMPRESS_THREADS),
>>               params->decompress_threads);
>> +        assert(params->has_decompress_error_check);
>> +        monitor_printf(mon, "%s: %s\n",
>> +            MigrationParameter_str(MIGRATION_PARAMETER_DECOMPRESS_ERROR_CHECK),
>> +            params->decompress_error_check ? "on" : "off");
> 
> Since it's a bool, this should be a migration-capability rather than a
> parameter I think.
> 

The parameter, @block-incremental, it is also a bool, i think it is okay to
decompress-error-check as well, and it is one of the configurations
of decompression, it is better to group them. Right? :)

> Also, we need to make sure it defaults to off for compatibility.

Yes, the parameter is allocated by zalloc, it has already been false on
default, do you think we should make it be false explicitly?

> 
> Other than that, I think it's OK.

Thank you, Dave!

  reply	other threads:[~2018-04-26 13:18 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-26  9:15 [PATCH] migration: introduce decompress-error-check guangrong.xiao
2018-04-26  9:15 ` [Qemu-devel] " guangrong.xiao
2018-04-26  9:19 ` Xiao Guangrong
2018-04-26  9:19   ` [Qemu-devel] " Xiao Guangrong
2018-04-26  9:34 ` Dr. David Alan Gilbert
2018-04-26  9:34   ` [Qemu-devel] " Dr. David Alan Gilbert
2018-04-26 13:18   ` Xiao Guangrong [this message]
2018-04-26 13:18     ` Xiao Guangrong
2018-04-26 14:01 ` Eric Blake
2018-04-26 14:01   ` [Qemu-devel] " Eric Blake
2018-04-27  3:15   ` Xiao Guangrong
2018-04-27  3:15     ` [Qemu-devel] " Xiao Guangrong
2018-04-27  9:31     ` Peter Xu
2018-04-27  9:31       ` [Qemu-devel] " Peter Xu
2018-04-27 10:40       ` Xiao Guangrong
2018-04-27 10:40         ` [Qemu-devel] " Xiao Guangrong
2018-05-02  3:03         ` Peter Xu
2018-05-02  3:03           ` [Qemu-devel] " Peter Xu
2018-05-02 14:57           ` Dr. David Alan Gilbert
2018-05-02 14:57             ` [Qemu-devel] " Dr. David Alan Gilbert
2018-05-03  2:10             ` Peter Xu
2018-05-03  2:10               ` [Qemu-devel] " Peter Xu
2018-04-27 11:29     ` Dr. David Alan Gilbert
2018-04-27 11:29       ` [Qemu-devel] " Dr. David Alan Gilbert
2018-04-28  6:13       ` Xiao Guangrong
2018-04-28  6:13         ` [Qemu-devel] " Xiao Guangrong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=34c11cfa-3199-6097-3412-d7214fde0a08@gmail.com \
    --to=guangrong.xiao@gmail.com \
    --cc=dgilbert@redhat.com \
    --cc=jiang.biao2@zte.com.cn \
    --cc=kvm@vger.kernel.org \
    --cc=mst@redhat.com \
    --cc=mtosatti@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peterx@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=wei.w.wang@intel.com \
    --cc=xiaoguangrong@tencent.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.