From nobody Mon Feb 9 08:03:46 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1497441228255390.49876423796104; Wed, 14 Jun 2017 04:53:48 -0700 (PDT) Received: from localhost ([::1]:47972 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dL6rp-00015h-1X for importer@patchew.org; Wed, 14 Jun 2017 07:53:45 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52290) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dL6py-0007q5-0R for qemu-devel@nongnu.org; Wed, 14 Jun 2017 07:51:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dL6pv-0000S3-M7 for qemu-devel@nongnu.org; Wed, 14 Jun 2017 07:51:50 -0400 Received: from mx1.redhat.com ([209.132.183.28]:44084) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dL6pv-0000Rk-FN for qemu-devel@nongnu.org; Wed, 14 Jun 2017 07:51:47 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 4B4AB80C0A for ; Wed, 14 Jun 2017 11:51:46 +0000 (UTC) Received: from secure.mitica (ovpn-116-65.ams2.redhat.com [10.36.116.65]) by smtp.corp.redhat.com (Postfix) with ESMTP id EB9D886F50; Wed, 14 Jun 2017 11:51:44 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 4B4AB80C0A Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=quintela@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 4B4AB80C0A From: Juan Quintela To: qemu-devel@nongnu.org Date: Wed, 14 Jun 2017 13:51:34 +0200 Message-Id: <20170614115138.19571-2-quintela@redhat.com> In-Reply-To: <20170614115138.19571-1-quintela@redhat.com> References: <20170614115138.19571-1-quintela@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Wed, 14 Jun 2017 11:51:46 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 1/5] migration: Fix compilation with older compilers X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, dgilbert@redhat.com, peterx@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" That typedefs are needed on both files. New compilers (F25 where I work) don't complain about repeating a typedef. But older ones complain. Signed-off-by: Juan Quintela Reviewed-by: Greg Kurz --- include/migration/register.h | 3 --- include/migration/vmstate.h | 1 - include/qemu/typedefs.h | 2 ++ 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/include/migration/register.h b/include/migration/register.h index 717c617..d9498d9 100644 --- a/include/migration/register.h +++ b/include/migration/register.h @@ -14,9 +14,6 @@ #ifndef MIGRATION_REGISTER_H #define MIGRATION_REGISTER_H =20 -typedef void SaveStateHandler(QEMUFile *f, void *opaque); -typedef int LoadStateHandler(QEMUFile *f, void *opaque, int version_id); - typedef struct SaveVMHandlers { /* This runs inside the iothread lock. */ SaveStateHandler *save_state; diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h index f3f3c2a..e85fbd8 100644 --- a/include/migration/vmstate.h +++ b/include/migration/vmstate.h @@ -29,7 +29,6 @@ =20 #include "migration/qjson.h" =20 -typedef int LoadStateHandler(QEMUFile *f, void *opaque, int version_id); typedef struct VMStateInfo VMStateInfo; typedef struct VMStateDescription VMStateDescription; typedef struct VMStateField VMStateField; diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h index 51958bf..f745d5f 100644 --- a/include/qemu/typedefs.h +++ b/include/qemu/typedefs.h @@ -96,5 +96,7 @@ typedef struct uWireSlave uWireSlave; typedef struct VirtIODevice VirtIODevice; typedef struct Visitor Visitor; typedef struct node_info NodeInfo; +typedef void SaveStateHandler(QEMUFile *f, void *opaque); +typedef int LoadStateHandler(QEMUFile *f, void *opaque, int version_id); =20 #endif /* QEMU_TYPEDEFS_H */ --=20 2.9.4 From nobody Mon Feb 9 08:03:46 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1497441227667821.4731870272179; Wed, 14 Jun 2017 04:53:47 -0700 (PDT) Received: from localhost ([::1]:47973 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dL6rq-000177-5y for importer@patchew.org; Wed, 14 Jun 2017 07:53:46 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52291) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dL6py-0007q6-0T for qemu-devel@nongnu.org; Wed, 14 Jun 2017 07:51:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dL6px-0000SG-7d for qemu-devel@nongnu.org; Wed, 14 Jun 2017 07:51:50 -0400 Received: from mx1.redhat.com ([209.132.183.28]:36954) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dL6px-0000S8-1J for qemu-devel@nongnu.org; Wed, 14 Jun 2017 07:51:49 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id F0E7D368E4 for ; Wed, 14 Jun 2017 11:51:47 +0000 (UTC) Received: from secure.mitica (ovpn-116-65.ams2.redhat.com [10.36.116.65]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9C91286F50; Wed, 14 Jun 2017 11:51:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com F0E7D368E4 Authentication-Results: ext-mx06.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx06.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=quintela@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com F0E7D368E4 From: Juan Quintela To: qemu-devel@nongnu.org Date: Wed, 14 Jun 2017 13:51:35 +0200 Message-Id: <20170614115138.19571-3-quintela@redhat.com> In-Reply-To: <20170614115138.19571-1-quintela@redhat.com> References: <20170614115138.19571-1-quintela@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Wed, 14 Jun 2017 11:51:48 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 2/5] migration: fix incorrect enable return path X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, dgilbert@redhat.com, peterx@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Peter Xu 0425dc9 is actually v1 of that patch, but it was accidentally merged (while there was a v2). That will cause problem when we try to migrate to some old QEMUs when return path is not really there. Let's fix it, then squashing this patch with 0425dc9 will be exactly patch content of v2. Fixes: 0425dc9 ("migration: isolate return path on src") Signed-off-by: Peter Xu Reviewed-by: Juan Quintela Reviewed-by: Dr. David Alan Gilbert Signed-off-by: Juan Quintela --- migration/migration.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/migration/migration.c b/migration/migration.c index 8ef6d6c..f9053b0 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -1814,7 +1814,11 @@ static void *migration_thread(void *opaque) =20 qemu_savevm_state_header(s->to_dst_file); =20 - if (s->to_dst_file) { + /* + * If we opened the return path, we need to make sure dst has it + * opened as well. + */ + if (s->rp_state.from_dst_file) { /* Now tell the dest that it should open its end so it can reply */ qemu_savevm_send_open_return_path(s->to_dst_file); =20 --=20 2.9.4 From nobody Mon Feb 9 08:03:46 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 149744136752798.31402980271002; Wed, 14 Jun 2017 04:56:07 -0700 (PDT) Received: from localhost ([::1]:47988 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dL6u6-00033B-7n for importer@patchew.org; Wed, 14 Jun 2017 07:56:06 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52312) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dL6q0-0007qK-DD for qemu-devel@nongnu.org; Wed, 14 Jun 2017 07:51:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dL6pz-0000Sz-3N for qemu-devel@nongnu.org; Wed, 14 Jun 2017 07:51:52 -0400 Received: from mx1.redhat.com ([209.132.183.28]:50768) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dL6py-0000Sg-R7 for qemu-devel@nongnu.org; Wed, 14 Jun 2017 07:51:51 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id B2CB3C0467C5 for ; Wed, 14 Jun 2017 11:51:49 +0000 (UTC) Received: from secure.mitica (ovpn-116-65.ams2.redhat.com [10.36.116.65]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4E3DC86F50; Wed, 14 Jun 2017 11:51:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com B2CB3C0467C5 Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=quintela@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com B2CB3C0467C5 From: Juan Quintela To: qemu-devel@nongnu.org Date: Wed, 14 Jun 2017 13:51:36 +0200 Message-Id: <20170614115138.19571-4-quintela@redhat.com> In-Reply-To: <20170614115138.19571-1-quintela@redhat.com> References: <20170614115138.19571-1-quintela@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Wed, 14 Jun 2017 11:51:49 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 3/5] migration: Remove unneeded includes X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, dgilbert@redhat.com, peterx@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Juan Quintela Reviewed-by: Peter Xu --- include/migration/colo.h | 3 --- include/migration/misc.h | 2 ++ migration/block.c | 6 ------ migration/colo-failover.c | 2 ++ migration/colo.c | 2 -- migration/exec.c | 2 -- migration/fd.c | 2 -- migration/global_state.c | 1 - migration/migration.c | 6 ------ migration/migration.h | 2 -- migration/postcopy-ram.c | 2 -- migration/qemu-file.c | 2 -- migration/ram.c | 4 ---- migration/savevm.c | 6 ------ 14 files changed, 4 insertions(+), 38 deletions(-) diff --git a/include/migration/colo.h b/include/migration/colo.h index ba0bb6e..be6beba 100644 --- a/include/migration/colo.h +++ b/include/migration/colo.h @@ -14,9 +14,6 @@ #define QEMU_COLO_H =20 #include "qemu-common.h" -#include "qemu/coroutine_int.h" -#include "qemu/thread.h" -#include "qemu/main-loop.h" =20 bool colo_supported(void); void colo_info_init(void); diff --git a/include/migration/misc.h b/include/migration/misc.h index d5a433a..65c7070 100644 --- a/include/migration/misc.h +++ b/include/migration/misc.h @@ -14,6 +14,8 @@ #ifndef MIGRATION_MISC_H #define MIGRATION_MISC_H =20 +#include "qemu/notify.h" + /* migration/ram.c */ =20 void ram_mig_init(void); diff --git a/migration/block.c b/migration/block.c index ae06975..3aae5a3 100644 --- a/migration/block.c +++ b/migration/block.c @@ -15,19 +15,13 @@ =20 #include "qemu/osdep.h" #include "qapi/error.h" -#include "qemu-common.h" -#include "block/block.h" #include "qemu/error-report.h" -#include "qemu/main-loop.h" -#include "hw/hw.h" #include "qemu/cutils.h" #include "qemu/queue.h" -#include "qemu/timer.h" #include "block.h" #include "migration/misc.h" #include "migration.h" #include "migration/register.h" -#include "sysemu/blockdev.h" #include "qemu-file.h" #include "migration/vmstate.h" #include "sysemu/block-backend.h" diff --git a/migration/colo-failover.c b/migration/colo-failover.c index cc229f5..f991486 100644 --- a/migration/colo-failover.c +++ b/migration/colo-failover.c @@ -13,6 +13,8 @@ #include "qemu/osdep.h" #include "migration/colo.h" #include "migration/failover.h" +#include "qemu/main-loop.h" +#include "migration.h" #include "qmp-commands.h" #include "qapi/qmp/qerror.h" #include "qemu/error-report.h" diff --git a/migration/colo.c b/migration/colo.c index 45e9b46..c436d63 100644 --- a/migration/colo.c +++ b/migration/colo.c @@ -11,7 +11,6 @@ */ =20 #include "qemu/osdep.h" -#include "qemu/timer.h" #include "sysemu/sysemu.h" #include "qemu-file-channel.h" #include "migration.h" @@ -22,7 +21,6 @@ #include "io/channel-buffer.h" #include "trace.h" #include "qemu/error-report.h" -#include "qapi/error.h" #include "migration/failover.h" #include "replication.h" #include "qmp-commands.h" diff --git a/migration/exec.c b/migration/exec.c index b1de445..08b599e 100644 --- a/migration/exec.c +++ b/migration/exec.c @@ -19,10 +19,8 @@ =20 #include "qemu/osdep.h" #include "qapi/error.h" -#include "qemu-common.h" #include "channel.h" #include "exec.h" -#include "migration.h" #include "io/channel-command.h" #include "trace.h" =20 diff --git a/migration/fd.c b/migration/fd.c index b2384bf..30f5258 100644 --- a/migration/fd.c +++ b/migration/fd.c @@ -16,10 +16,8 @@ =20 #include "qemu/osdep.h" #include "qapi/error.h" -#include "qemu-common.h" #include "channel.h" #include "fd.h" -#include "migration.h" #include "monitor/monitor.h" #include "io/channel-util.h" #include "trace.h" diff --git a/migration/global_state.c b/migration/global_state.c index 16ac63f..f792cf5 100644 --- a/migration/global_state.c +++ b/migration/global_state.c @@ -17,7 +17,6 @@ #include "qapi/util.h" #include "migration/global_state.h" #include "migration/vmstate.h" -#include "sysemu/sysemu.h" #include "trace.h" =20 typedef struct { diff --git a/migration/migration.c b/migration/migration.c index f9053b0..b9d8798 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -16,7 +16,6 @@ #include "qemu/osdep.h" #include "qemu/cutils.h" #include "qemu/error-report.h" -#include "qemu/main-loop.h" #include "migration/blocker.h" #include "exec.h" #include "fd.h" @@ -30,11 +29,9 @@ #include "qemu-file-channel.h" #include "qemu-file.h" #include "migration/vmstate.h" -#include "sysemu/sysemu.h" #include "block/block.h" #include "qapi/qmp/qerror.h" #include "qapi/util.h" -#include "qemu/sockets.h" #include "qemu/rcu.h" #include "block.h" #include "postcopy-ram.h" @@ -42,9 +39,6 @@ #include "qmp-commands.h" #include "trace.h" #include "qapi-event.h" -#include "qom/cpu.h" -#include "exec/memory.h" -#include "exec/address-spaces.h" #include "exec/target_page.h" #include "io/channel-buffer.h" #include "migration/colo.h" diff --git a/migration/migration.h b/migration/migration.h index 601e4ab..d9a268a 100644 --- a/migration/migration.h +++ b/migration/migration.h @@ -14,10 +14,8 @@ #ifndef QEMU_MIGRATION_H #define QEMU_MIGRATION_H =20 -#include "qapi/qmp/qdict.h" #include "qemu-common.h" #include "qemu/thread.h" -#include "qemu/notify.h" #include "qapi-types.h" #include "exec/cpu-common.h" #include "qemu/coroutine_int.h" diff --git a/migration/postcopy-ram.c b/migration/postcopy-ram.c index c8c4500..7e21e6f 100644 --- a/migration/postcopy-ram.c +++ b/migration/postcopy-ram.c @@ -17,8 +17,6 @@ */ =20 #include "qemu/osdep.h" - -#include "qemu-common.h" #include "exec/target_page.h" #include "migration.h" #include "qemu-file.h" diff --git a/migration/qemu-file.c b/migration/qemu-file.c index e65c373..2ab2bf3 100644 --- a/migration/qemu-file.c +++ b/migration/qemu-file.c @@ -26,8 +26,6 @@ #include "qemu-common.h" #include "qemu/error-report.h" #include "qemu/iov.h" -#include "qemu/sockets.h" -#include "qemu/coroutine.h" #include "migration.h" #include "qemu-file.h" #include "trace.h" diff --git a/migration/ram.c b/migration/ram.c index c1b4f4a..7f687f5 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -26,14 +26,12 @@ * THE SOFTWARE. */ #include "qemu/osdep.h" -#include "qemu-common.h" #include "cpu.h" #include #include "qapi-event.h" #include "qemu/cutils.h" #include "qemu/bitops.h" #include "qemu/bitmap.h" -#include "qemu/timer.h" #include "qemu/main-loop.h" #include "xbzrle.h" #include "ram.h" @@ -41,9 +39,7 @@ #include "migration/register.h" #include "migration/misc.h" #include "qemu-file.h" -#include "migration/vmstate.h" #include "postcopy-ram.h" -#include "exec/address-spaces.h" #include "migration/page_cache.h" #include "qemu/error-report.h" #include "trace.h" diff --git a/migration/savevm.c b/migration/savevm.c index 30cda2c..f32a82d 100644 --- a/migration/savevm.c +++ b/migration/savevm.c @@ -28,12 +28,8 @@ =20 #include "qemu/osdep.h" #include "hw/boards.h" -#include "hw/hw.h" -#include "hw/qdev.h" #include "hw/xen/xen.h" #include "net/net.h" -#include "sysemu/sysemu.h" -#include "qemu/timer.h" #include "migration.h" #include "migration/snapshot.h" #include "migration/misc.h" @@ -46,13 +42,11 @@ #include "postcopy-ram.h" #include "qapi/qmp/qerror.h" #include "qemu/error-report.h" -#include "qemu/queue.h" #include "sysemu/cpus.h" #include "exec/memory.h" #include "exec/target_page.h" #include "qmp-commands.h" #include "trace.h" -#include "qemu/bitops.h" #include "qemu/iov.h" #include "block/snapshot.h" #include "qemu/cutils.h" --=20 2.9.4 From nobody Mon Feb 9 08:03:46 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1497441241878439.2909422937288; Wed, 14 Jun 2017 04:54:01 -0700 (PDT) Received: from localhost ([::1]:47976 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dL6s4-0001Ie-AL for importer@patchew.org; Wed, 14 Jun 2017 07:54:00 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52328) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dL6q4-0007tf-0c for qemu-devel@nongnu.org; Wed, 14 Jun 2017 07:52:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dL6q3-0000TP-2W for qemu-devel@nongnu.org; Wed, 14 Jun 2017 07:51:56 -0400 Received: from mx1.redhat.com ([209.132.183.28]:37044) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dL6q2-0000TK-Sb for qemu-devel@nongnu.org; Wed, 14 Jun 2017 07:51:54 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id BF14F3B470 for ; Wed, 14 Jun 2017 11:51:53 +0000 (UTC) Received: from secure.mitica (ovpn-116-65.ams2.redhat.com [10.36.116.65]) by smtp.corp.redhat.com (Postfix) with ESMTP id 10BB186F50; Wed, 14 Jun 2017 11:51:49 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com BF14F3B470 Authentication-Results: ext-mx06.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx06.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=quintela@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com BF14F3B470 From: Juan Quintela To: qemu-devel@nongnu.org Date: Wed, 14 Jun 2017 13:51:37 +0200 Message-Id: <20170614115138.19571-5-quintela@redhat.com> In-Reply-To: <20170614115138.19571-1-quintela@redhat.com> References: <20170614115138.19571-1-quintela@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Wed, 14 Jun 2017 11:51:53 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 4/5] migration: Test for disabled features on reception X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, dgilbert@redhat.com, peterx@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Right now, if we receive a compressed page while this features are disabled, Bad Things (TM) can happen. Just add a test for them. Signed-off-by: Juan Quintela Reviewed-by: Dr. David Alan Gilbert Reviewed-by: Peter Xu -- I had XBZRLE here also, but it don't need extra resources on destination, only on source. Additionally libvirt don't enable it on destination, so don't put it here. - initialize invalid_flags at declaration time. - remove extra space (peter) --- migration/ram.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/migration/ram.c b/migration/ram.c index 7f687f5..09b483c 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -2455,7 +2455,7 @@ static int ram_load_postcopy(QEMUFile *f) =20 static int ram_load(QEMUFile *f, void *opaque, int version_id) { - int flags =3D 0, ret =3D 0; + int flags =3D 0, ret =3D 0, invalid_flags =3D 0; static uint64_t seq_iter; int len =3D 0; /* @@ -2472,6 +2472,9 @@ static int ram_load(QEMUFile *f, void *opaque, int ve= rsion_id) ret =3D -EINVAL; } =20 + if (!migrate_use_compression()) { + invalid_flags |=3D RAM_SAVE_FLAG_COMPRESS_PAGE; + } /* This RCU critical section can be very long running. * When RCU reclaims in the code start to become numerous, * it will be necessary to reduce the granularity of this @@ -2492,6 +2495,15 @@ static int ram_load(QEMUFile *f, void *opaque, int v= ersion_id) flags =3D addr & ~TARGET_PAGE_MASK; addr &=3D TARGET_PAGE_MASK; =20 + if (flags & invalid_flags) { + if (flags & invalid_flags & RAM_SAVE_FLAG_COMPRESS_PAGE) { + error_report("Received an unexpected compressed page"); + } + + ret =3D -EINVAL; + break; + } + if (flags & (RAM_SAVE_FLAG_ZERO | RAM_SAVE_FLAG_PAGE | RAM_SAVE_FLAG_COMPRESS_PAGE | RAM_SAVE_FLAG_XBZRLE)) { RAMBlock *block =3D ram_block_from_stream(f, flags); --=20 2.9.4 From nobody Mon Feb 9 08:03:46 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1497441365442772.613319484054; Wed, 14 Jun 2017 04:56:05 -0700 (PDT) Received: from localhost ([::1]:47986 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dL6u4-00031Q-4T for importer@patchew.org; Wed, 14 Jun 2017 07:56:04 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52341) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dL6q8-0007x6-Br for qemu-devel@nongnu.org; Wed, 14 Jun 2017 07:52:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dL6q4-0000Tk-OY for qemu-devel@nongnu.org; Wed, 14 Jun 2017 07:52:00 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49628) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dL6q4-0000TY-I6 for qemu-devel@nongnu.org; Wed, 14 Jun 2017 07:51:56 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7625E15554 for ; Wed, 14 Jun 2017 11:51:55 +0000 (UTC) Received: from secure.mitica (ovpn-116-65.ams2.redhat.com [10.36.116.65]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1B1B286F50; Wed, 14 Jun 2017 11:51:53 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 7625E15554 Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=quintela@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 7625E15554 From: Juan Quintela To: qemu-devel@nongnu.org Date: Wed, 14 Jun 2017 13:51:38 +0200 Message-Id: <20170614115138.19571-6-quintela@redhat.com> In-Reply-To: <20170614115138.19571-1-quintela@redhat.com> References: <20170614115138.19571-1-quintela@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Wed, 14 Jun 2017 11:51:55 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 5/5] migration: Don't create decompression threads if not enabled X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, dgilbert@redhat.com, peterx@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Juan Quintela Reviewed-by: Dr. David Alan Gilbert Reviewed-by: Peter Xu -- I removed the [HACK] part because previous patch just check that compression pages are not received. --- migration/ram.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/migration/ram.c b/migration/ram.c index 09b483c..0baa1e0 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -2234,6 +2234,9 @@ void migrate_decompress_threads_create(void) { int i, thread_count; =20 + if (!migrate_use_compression()) { + return; + } thread_count =3D migrate_decompress_threads(); decompress_threads =3D g_new0(QemuThread, thread_count); decomp_param =3D g_new0(DecompressParam, thread_count); @@ -2255,6 +2258,9 @@ void migrate_decompress_threads_join(void) { int i, thread_count; =20 + if (!migrate_use_compression()) { + return; + } thread_count =3D migrate_decompress_threads(); for (i =3D 0; i < thread_count; i++) { qemu_mutex_lock(&decomp_param[i].mutex); --=20 2.9.4