From nobody Sun May 5 20:50:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1554211602428192.21876573372094; Tue, 2 Apr 2019 06:26:42 -0700 (PDT) Received: from localhost ([127.0.0.1]:57623 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hBJQw-0002Nd-Eb for importer@patchew.org; Tue, 02 Apr 2019 09:26:34 -0400 Received: from eggs.gnu.org ([209.51.188.92]:34561) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hBJ2Y-0005Zf-34 for qemu-devel@nongnu.org; Tue, 02 Apr 2019 09:01:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hBJ2W-0001P6-Nl for qemu-devel@nongnu.org; Tue, 02 Apr 2019 09:01:21 -0400 Received: from mx1.redhat.com ([209.132.183.28]:35328) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hBJ2V-0001NK-Sa for qemu-devel@nongnu.org; Tue, 02 Apr 2019 09:01:20 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0D50565419 for ; Tue, 2 Apr 2019 13:01:14 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-116.ams2.redhat.com [10.36.116.116]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CF84164047 for ; Tue, 2 Apr 2019 13:01:13 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 54C751132BB6; Tue, 2 Apr 2019 15:01:12 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Tue, 2 Apr 2019 15:01:05 +0200 Message-Id: <20190402130112.15142-2-armbru@redhat.com> In-Reply-To: <20190402130112.15142-1-armbru@redhat.com> References: <20190402130112.15142-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Tue, 02 Apr 2019 13:01:14 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 1/8] vl: Fix error location of positional arguments 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" We blame badness in positional arguments on the last option argument: $ qemu-system-x86_64 -vnc :1 bad.img qemu-system-x86_64: -vnc :1: Could not open 'foo': No such file or dire= ctory I believe we've done this ever since we reported locations. Fix it to qemu-system-x86_64: bad.img: Could not open 'bad.img': No such file or = directory Reported-by: Daniel P. Berrang=C3=A9 Signed-off-by: Markus Armbruster Message-Id: <20190318183312.4684-1-armbru@redhat.com> Reviewed-by: Daniel P. Berrang=C3=A9 Reviewed-by: Stefano Garzarella --- vl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/vl.c b/vl.c index d61d5604e5..24572de0bd 100644 --- a/vl.c +++ b/vl.c @@ -3119,6 +3119,7 @@ int main(int argc, char **argv, char **envp) if (optind >=3D argc) break; if (argv[optind][0] !=3D '-') { + loc_set_cmdline(argv, optind, 1); drive_add(IF_DEFAULT, 0, argv[optind++], HD_OPTS); } else { const QEMUOption *popt; --=20 2.17.2 From nobody Sun May 5 20:50:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1554210433547457.5286426245691; Tue, 2 Apr 2019 06:07:13 -0700 (PDT) Received: from localhost ([127.0.0.1]:52574 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hBJ83-0001lU-3h for importer@patchew.org; Tue, 02 Apr 2019 09:07:03 -0400 Received: from eggs.gnu.org ([209.51.188.92]:34485) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hBJ2S-0005RN-Av for qemu-devel@nongnu.org; Tue, 02 Apr 2019 09:01:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hBJ2R-0001Gk-8Q for qemu-devel@nongnu.org; Tue, 02 Apr 2019 09:01:16 -0400 Received: from mx1.redhat.com ([209.132.183.28]:35288) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hBJ2R-0001EJ-0O for qemu-devel@nongnu.org; Tue, 02 Apr 2019 09:01:15 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0F2357266C; Tue, 2 Apr 2019 13:01:14 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-116.ams2.redhat.com [10.36.116.116]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D00A67F2EF; Tue, 2 Apr 2019 13:01:13 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 58A821132BD3; Tue, 2 Apr 2019 15:01:12 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Tue, 2 Apr 2019 15:01:06 +0200 Message-Id: <20190402130112.15142-3-armbru@redhat.com> In-Reply-To: <20190402130112.15142-1-armbru@redhat.com> References: <20190402130112.15142-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Tue, 02 Apr 2019 13:01:14 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 2/8] qapi/migration.json: Fix ColoStatus member last_mode's version 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: Zhang Chen Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Zhang Chen Signed-off-by: Zhang Chen Message-Id: <20190326174510.13303-1-chen.zhang@intel.com> Reviewed-by: Eric Blake [Commit message tweaked as per Eric's review] Signed-off-by: Markus Armbruster --- qapi/migration.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qapi/migration.json b/qapi/migration.json index cfde29acf8..798c6ac2df 100644 --- a/qapi/migration.json +++ b/qapi/migration.json @@ -1382,7 +1382,7 @@ # # @last_mode: COLO last running mode. If COLO is running, this field # will return same like mode field, after failover we can -# use this field to get last colo mode. (since 4.1) +# use this field to get last colo mode. (since 4.0) # # @reason: describes the reason for the COLO exit. # --=20 2.17.2 From nobody Sun May 5 20:50:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1554210431044197.7389985665252; Tue, 2 Apr 2019 06:07:11 -0700 (PDT) Received: from localhost ([127.0.0.1]:52598 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hBJ89-0001pY-L4 for importer@patchew.org; Tue, 02 Apr 2019 09:07:09 -0400 Received: from eggs.gnu.org ([209.51.188.92]:34605) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hBJ2c-0005dr-Da for qemu-devel@nongnu.org; Tue, 02 Apr 2019 09:01:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hBJ2W-0001PE-QA for qemu-devel@nongnu.org; Tue, 02 Apr 2019 09:01:26 -0400 Received: from mx1.redhat.com ([209.132.183.28]:44470) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hBJ2V-0001NJ-TP for qemu-devel@nongnu.org; Tue, 02 Apr 2019 09:01:20 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 1288DDF882; Tue, 2 Apr 2019 13:01:14 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-116.ams2.redhat.com [10.36.116.116]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D39DB7F2F5; Tue, 2 Apr 2019 13:01:13 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 5CC931132B6C; Tue, 2 Apr 2019 15:01:12 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Tue, 2 Apr 2019 15:01:07 +0200 Message-Id: <20190402130112.15142-4-armbru@redhat.com> In-Reply-To: <20190402130112.15142-1-armbru@redhat.com> References: <20190402130112.15142-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Tue, 02 Apr 2019 13:01:14 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 3/8] qapi/migration.json: Rename COLOStatus last_mode to last-mode 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: Zhang Chen Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Zhang Chen Signed-off-by: Zhang Chen Message-Id: <20190402085521.17973-1-chen.zhang@intel.com> Reviewed-by: Markus Armbruster [Commit message rephrased] Signed-off-by: Markus Armbruster --- qapi/migration.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qapi/migration.json b/qapi/migration.json index 798c6ac2df..9cfbaf8c6c 100644 --- a/qapi/migration.json +++ b/qapi/migration.json @@ -1380,7 +1380,7 @@ # @mode: COLO running mode. If COLO is running, this field will return # 'primary' or 'secondary'. # -# @last_mode: COLO last running mode. If COLO is running, this field +# @last-mode: COLO last running mode. If COLO is running, this field # will return same like mode field, after failover we can # use this field to get last colo mode. (since 4.0) # @@ -1389,7 +1389,7 @@ # Since: 3.1 ## { 'struct': 'COLOStatus', - 'data': { 'mode': 'COLOMode', 'last_mode': 'COLOMode', + 'data': { 'mode': 'COLOMode', 'last-mode': 'COLOMode', 'reason': 'COLOExitReason' } } =20 ## --=20 2.17.2 From nobody Sun May 5 20:50:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1554210228043915.130010111805; Tue, 2 Apr 2019 06:03:48 -0700 (PDT) Received: from localhost ([127.0.0.1]:51784 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hBJ4r-0007KZ-2e for importer@patchew.org; Tue, 02 Apr 2019 09:03:45 -0400 Received: from eggs.gnu.org ([209.51.188.92]:34483) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hBJ2S-0005RM-AQ for qemu-devel@nongnu.org; Tue, 02 Apr 2019 09:01:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hBJ2R-0001Gj-8C for qemu-devel@nongnu.org; Tue, 02 Apr 2019 09:01:16 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42180) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hBJ2Q-0001F2-W0 for qemu-devel@nongnu.org; Tue, 02 Apr 2019 09:01:15 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 309603688E for ; Tue, 2 Apr 2019 13:01:14 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-116.ams2.redhat.com [10.36.116.116]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D89757F2F6 for ; Tue, 2 Apr 2019 13:01:13 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 604681132B74; Tue, 2 Apr 2019 15:01:12 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Tue, 2 Apr 2019 15:01:08 +0200 Message-Id: <20190402130112.15142-5-armbru@redhat.com> In-Reply-To: <20190402130112.15142-1-armbru@redhat.com> References: <20190402130112.15142-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Tue, 02 Apr 2019 13:01:14 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 4/8] Revert "vl: Fix to create migration object before block backends again" 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" This reverts commit e60483f2f8498ae08ae79ca4c6fb03a3317f5e1e. Recent commit cda4aa9a5a0 moved block backend creation before machine property evaluation. This broke block backends registering migration blockers. Commit e60483f2f84 fixed it by moving migration object creation before block backend creation. This broke migration with Xen. Turns out we need to configure the accelerator before we create the migration object so that Xen's accelerator compat properties get applied. Revert the flawed commit. This fixes the Xen regression, but brings back the block backend regression. The next commits will fix it again. Signed-off-by: Markus Armbruster Message-Id: <20190401090827.20793-2-armbru@redhat.com> Reviewed-by: Igor Mammedov --- vl.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/vl.c b/vl.c index 24572de0bd..9b215341a3 100644 --- a/vl.c +++ b/vl.c @@ -4277,17 +4277,10 @@ int main(int argc, char **argv, char **envp) exit(0); } =20 - /* - * Migration object can only be created after global properties - * are applied correctly. - */ - migration_object_init(); - /* * Note: we need to create block backends before * machine_set_property(), so machine properties can refer to - * them, and after migration_object_init(), so we can create - * migration blockers. + * them. */ configure_blockdev(&bdo_queue, machine_class, snapshot); =20 @@ -4305,6 +4298,12 @@ int main(int argc, char **argv, char **envp) machine_class->name, machine_class->deprecation_reaso= n); } =20 + /* + * Migration object can only be created after global properties + * are applied correctly. + */ + migration_object_init(); + if (qtest_chrdev) { qtest_init(qtest_chrdev, qtest_log, &error_fatal); } --=20 2.17.2 From nobody Sun May 5 20:50:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1554210231040154.35821012845145; Tue, 2 Apr 2019 06:03:51 -0700 (PDT) Received: from localhost ([127.0.0.1]:51798 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hBJ4t-0007Oz-Am for importer@patchew.org; Tue, 02 Apr 2019 09:03:47 -0400 Received: from eggs.gnu.org ([209.51.188.92]:34523) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hBJ2V-0005Ww-8F for qemu-devel@nongnu.org; Tue, 02 Apr 2019 09:01:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hBJ2T-0001M4-QO for qemu-devel@nongnu.org; Tue, 02 Apr 2019 09:01:19 -0400 Received: from mx1.redhat.com ([209.132.183.28]:57684) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hBJ2T-0001Ig-EW for qemu-devel@nongnu.org; Tue, 02 Apr 2019 09:01:17 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id AA45FC05FFC4 for ; Tue, 2 Apr 2019 13:01:16 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-116.ams2.redhat.com [10.36.116.116]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 4E30117C3E for ; Tue, 2 Apr 2019 13:01:15 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 63E121132B38; Tue, 2 Apr 2019 15:01:12 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Tue, 2 Apr 2019 15:01:09 +0200 Message-Id: <20190402130112.15142-6-armbru@redhat.com> In-Reply-To: <20190402130112.15142-1-armbru@redhat.com> References: <20190402130112.15142-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Tue, 02 Apr 2019 13:01:16 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 5/8] Revert "migration: move only_migratable to MigrationState" 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" This reverts commit 3df663e575f1876d7f3bc684f80e72fca0703d39. This reverts commit b605c47b57b58e61a901a50a0762dccf43d94783. Command line option --only-migratable is for disallowing any configuration that can block migration. Initially, --only-migratable set global variable @only_migratable. Commit 3df663e575 "migration: move only_migratable to MigrationState" replaced it by MigrationState member @only_migratable. That was a mistake. First, it doesn't make sense on the design level. MigrationState captures the state of an individual migration, but --only-migratable isn't a property of an individual migration, it's a restriction on QEMU configuration. With fault tolerance, we could have several migrations at once. --only-migratable would certainly protect all of them. Storing it in MigrationState feels inappropriate. Second, it contributes to a dependency cycle that manifests itself as a bug now. Putting @only_migratable into MigrationState means its available only after migration_object_init(). We can't set it before migration_object_init(), so we delay setting it with a global property (this is fixup commit b605c47b57 "migration: fix handling for --only-migratable"). We can't get it before migration_object_init(), so anything that uses it can only run afterwards. Since migrate_add_blocker() needs to obey --only-migratable, any code adding migration blockers can run only afterwards. This contributes to the following dependency cycle: * configure_blockdev() must run before machine_set_property() so machine properties can refer to block backends * machine_set_property() before configure_accelerator() so machine properties like kvm-irqchip get applied * configure_accelerator() before migration_object_init() so that Xen's accelerator compat properties get applied. * migration_object_init() before configure_blockdev() so configure_blockdev() can add migration blockers The cycle was closed when recent commit cda4aa9a5a0 "Create block backends before setting machine properties" added the first dependency, and satisfied it by violating the last one. Broke block backends that add migration blockers. Moving @only_migratable into MigrationState was a mistake. Revert it. This doesn't quite break the "migration_object_init() before configure_blockdev() dependency, since migrate_add_blocker() still has another dependency on migration_object_init(). To be addressed the next commit. Note that the reverted commit made -only-migratable sugar for -global migration.only-migratable=3Don below the hood. Documentation has only ever mentioned -only-migratable. This commit removes the arcane & undocumented alternative to -only-migratable again. Nobody should be using it. Conflicts: include/migration/misc.h migration/migration.c migration/migration.h vl.c Signed-off-by: Markus Armbruster Message-Id: <20190401090827.20793-3-armbru@redhat.com> Reviewed-by: Igor Mammedov --- include/sysemu/sysemu.h | 1 + migration/migration.c | 5 ++--- migration/migration.h | 3 --- migration/savevm.c | 2 +- vl.c | 9 ++------- 5 files changed, 6 insertions(+), 14 deletions(-) diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h index 6065d9e420..5f133cae83 100644 --- a/include/sysemu/sysemu.h +++ b/include/sysemu/sysemu.h @@ -14,6 +14,7 @@ /* vl.c */ =20 extern const char *bios_name; +extern int only_migratable; extern const char *qemu_name; extern QemuUUID qemu_uuid; extern bool qemu_uuid_set; diff --git a/migration/migration.c b/migration/migration.c index 69f75124c9..f6076e5295 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -1707,7 +1707,7 @@ static GSList *migration_blockers; =20 int migrate_add_blocker(Error *reason, Error **errp) { - if (migrate_get_current()->only_migratable) { + if (only_migratable) { error_propagate_prepend(errp, error_copy(reason), "disallowing migration blocker " "(--only_migratable) for: "); @@ -3337,7 +3337,7 @@ void migration_global_dump(Monitor *mon) monitor_printf(mon, "store-global-state: %s\n", ms->store_global_state ? "on" : "off"); monitor_printf(mon, "only-migratable: %s\n", - ms->only_migratable ? "on" : "off"); + only_migratable ? "on" : "off"); monitor_printf(mon, "send-configuration: %s\n", ms->send_configuration ? "on" : "off"); monitor_printf(mon, "send-section-footer: %s\n", @@ -3352,7 +3352,6 @@ void migration_global_dump(Monitor *mon) static Property migration_properties[] =3D { DEFINE_PROP_BOOL("store-global-state", MigrationState, store_global_state, true), - DEFINE_PROP_BOOL("only-migratable", MigrationState, only_migratable, f= alse), DEFINE_PROP_BOOL("send-configuration", MigrationState, send_configuration, true), DEFINE_PROP_BOOL("send-section-footer", MigrationState, diff --git a/migration/migration.h b/migration/migration.h index 0f986935e1..438f17edad 100644 --- a/migration/migration.h +++ b/migration/migration.h @@ -219,9 +219,6 @@ struct MigrationState */ bool store_global_state; =20 - /* Whether the VM is only allowing for migratable devices */ - bool only_migratable; - /* Whether we send QEMU_VM_CONFIGURATION during migration */ bool send_configuration; /* Whether we send section footer during migration */ diff --git a/migration/savevm.c b/migration/savevm.c index 1415001d1c..34bcad3807 100644 --- a/migration/savevm.c +++ b/migration/savevm.c @@ -2844,7 +2844,7 @@ void vmstate_register_ram_global(MemoryRegion *mr) bool vmstate_check_only_migratable(const VMStateDescription *vmsd) { /* check needed if --only-migratable is specified */ - if (!migrate_get_current()->only_migratable) { + if (!only_migratable) { return true; } =20 diff --git a/vl.c b/vl.c index 9b215341a3..0d517a09e1 100644 --- a/vl.c +++ b/vl.c @@ -185,6 +185,7 @@ const char *prom_envs[MAX_PROM_ENVS]; int boot_menu; bool boot_strict; uint8_t *boot_splash_filedata; +int only_migratable; /* turn it off unless user states otherwise */ bool wakeup_suspend_enabled; =20 int icount_align_option; @@ -3800,13 +3801,7 @@ int main(int argc, char **argv, char **envp) incoming =3D optarg; break; case QEMU_OPTION_only_migratable: - /* - * TODO: we can remove this option one day, and we - * should all use: - * - * "-global migration.only-migratable=3Dtrue" - */ - qemu_global_option("migration.only-migratable=3Dtrue"); + only_migratable =3D 1; break; case QEMU_OPTION_nodefaults: has_defaults =3D 0; --=20 2.17.2 From nobody Sun May 5 20:50:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1554210522725255.43805691453917; Tue, 2 Apr 2019 06:08:42 -0700 (PDT) Received: from localhost ([127.0.0.1]:52975 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hBJ9b-0003Wz-Np for importer@patchew.org; Tue, 02 Apr 2019 09:08:39 -0400 Received: from eggs.gnu.org ([209.51.188.92]:34583) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hBJ2a-0005be-2m for qemu-devel@nongnu.org; Tue, 02 Apr 2019 09:01:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hBJ2Y-0001Rk-3f for qemu-devel@nongnu.org; Tue, 02 Apr 2019 09:01:23 -0400 Received: from mx1.redhat.com ([209.132.183.28]:59212) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hBJ2X-0001Ow-G9 for qemu-devel@nongnu.org; Tue, 02 Apr 2019 09:01:21 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 802B670D71 for ; Tue, 2 Apr 2019 13:01:15 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-116.ams2.redhat.com [10.36.116.116]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 4EDDB84909 for ; Tue, 2 Apr 2019 13:01:15 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 674AF1132B3B; Tue, 2 Apr 2019 15:01:12 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Tue, 2 Apr 2019 15:01:10 +0200 Message-Id: <20190402130112.15142-7-armbru@redhat.com> In-Reply-To: <20190402130112.15142-1-armbru@redhat.com> References: <20190402130112.15142-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Tue, 02 Apr 2019 13:01:15 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 6/8] migration: Support adding migration blockers earlier 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" migrate_add_blocker() asserts we have a current_migration object, in migrate_get_current(). We do only after migration_object_init(). This contributes to the following dependency cycle: * configure_blockdev() must run before machine_set_property() so machine properties can refer to block backends * machine_set_property() before configure_accelerator() so machine properties like kvm-irqchip get applied * configure_accelerator() before migration_object_init() so that Xen's accelerator compat properties get applied. * migration_object_init() before configure_blockdev() so configure_blockdev() can add migration blockers The cycle was closed when recent commit cda4aa9a5a0 "Create block backends before setting machine properties" added the first dependency, and satisfied it by violating the last one. Broke block backends that add migration blockers, as demonstrated by qemu-iotests 055. To fix it, break the last dependency: make migrate_add_blocker() usable before migration_object_init(). The previous commit already removed the use of migrate_get_current() from migrate_add_blocker() itself. Didn't quite do the trick, as there's another one hiding in migration_is_idle(). The use there isn't actually necessary: when no migration object has been created yet, migration is surely idle. Make migration_is_idle() return true then. Fixes: cda4aa9a5a08777cf13e164c0543bd4888b8adce Signed-off-by: Markus Armbruster Message-Id: <20190401090827.20793-4-armbru@redhat.com> Reviewed-by: Igor Mammedov --- migration/migration.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/migration/migration.c b/migration/migration.c index f6076e5295..609e0df5d0 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -1646,7 +1646,11 @@ bool migration_in_postcopy_after_devices(MigrationSt= ate *s) =20 bool migration_is_idle(void) { - MigrationState *s =3D migrate_get_current(); + MigrationState *s =3D current_migration; + + if (!s) { + return true; + } =20 switch (s->state) { case MIGRATION_STATUS_NONE: --=20 2.17.2 From nobody Sun May 5 20:50:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1554210592707361.5905652732698; Tue, 2 Apr 2019 06:09:52 -0700 (PDT) Received: from localhost ([127.0.0.1]:53264 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hBJAg-0004b1-RQ for importer@patchew.org; Tue, 02 Apr 2019 09:09:46 -0400 Received: from eggs.gnu.org ([209.51.188.92]:34557) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hBJ2Y-0005ZV-1h for qemu-devel@nongnu.org; Tue, 02 Apr 2019 09:01:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hBJ2S-0001I7-Ea for qemu-devel@nongnu.org; Tue, 02 Apr 2019 09:01:21 -0400 Received: from mx1.redhat.com ([209.132.183.28]:37006) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hBJ2S-0001H0-75 for qemu-devel@nongnu.org; Tue, 02 Apr 2019 09:01:16 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 8959431688FA for ; Tue, 2 Apr 2019 13:01:15 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-116.ams2.redhat.com [10.36.116.116]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 567B71001DDB for ; Tue, 2 Apr 2019 13:01:15 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 6ADCF1132A03; Tue, 2 Apr 2019 15:01:12 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Tue, 2 Apr 2019 15:01:11 +0200 Message-Id: <20190402130112.15142-8-armbru@redhat.com> In-Reply-To: <20190402130112.15142-1-armbru@redhat.com> References: <20190402130112.15142-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.41]); Tue, 02 Apr 2019 13:01:15 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 7/8] vl: Document dependencies hiding in global and compat props 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Markus Armbruster Message-Id: <20190401090827.20793-5-armbru@redhat.com> Reviewed-by: Igor Mammedov --- vl.c | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/vl.c b/vl.c index 0d517a09e1..c696ad2a13 100644 --- a/vl.c +++ b/vl.c @@ -4286,16 +4286,36 @@ int main(int argc, char **argv, char **envp) current_machine->maxram_size =3D maxram_size; current_machine->ram_slots =3D ram_slots; =20 + /* + * Note: uses machine properties such as kernel-irqchip, must run + * after machine_set_property(). + */ configure_accelerator(current_machine, argv[0]); =20 + /* + * Beware, QOM objects created before this point miss global and + * compat properties. + * + * Global properties get set up by qdev_prop_register_global(), + * called from user_register_global_props(), and certain option + * desugaring. Also in CPU feature desugaring (buried in + * parse_cpu_model()), which happens below this point, but may + * only target the CPU type, which can only be created after + * parse_cpu_model() returned the type. + * + * Machine compat properties: object_set_machine_compat_props(). + * Accelerator compat props: object_set_accelerator_compat_props(), + * called from configure_accelerator(). + */ + if (!qtest_enabled() && machine_class->deprecation_reason) { error_report("Machine type '%s' is deprecated: %s", machine_class->name, machine_class->deprecation_reaso= n); } =20 /* - * Migration object can only be created after global properties - * are applied correctly. + * Note: creates a QOM object, must run only after global and + * compat properties have been set up. */ migration_object_init(); =20 --=20 2.17.2 From nobody Sun May 5 20:50:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 155421067012719.710174004015812; Tue, 2 Apr 2019 06:11:10 -0700 (PDT) Received: from localhost ([127.0.0.1]:53666 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hBJBy-0005gh-T8 for importer@patchew.org; Tue, 02 Apr 2019 09:11:06 -0400 Received: from eggs.gnu.org ([209.51.188.92]:34559) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hBJ2Y-0005Zd-2h for qemu-devel@nongnu.org; Tue, 02 Apr 2019 09:01:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hBJ2S-0001IC-F8 for qemu-devel@nongnu.org; Tue, 02 Apr 2019 09:01:21 -0400 Received: from mx1.redhat.com ([209.132.183.28]:36982) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hBJ2S-0001Gy-6C for qemu-devel@nongnu.org; Tue, 02 Apr 2019 09:01:16 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 816FA7E42E for ; Tue, 2 Apr 2019 13:01:15 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-116.ams2.redhat.com [10.36.116.116]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 50C4164046 for ; Tue, 2 Apr 2019 13:01:15 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 6E5B911329CD; Tue, 2 Apr 2019 15:01:12 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Tue, 2 Apr 2019 15:01:12 +0200 Message-Id: <20190402130112.15142-9-armbru@redhat.com> In-Reply-To: <20190402130112.15142-1-armbru@redhat.com> References: <20190402130112.15142-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Tue, 02 Apr 2019 13:01:15 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 8/8] accel: Unbreak accelerator fallback 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" When the user specifies a list of accelerators, we pick the first one that initializes successfully. Recent commit 1a3ec8c1564 broke that. Reproducer: $ qemu-system-x86_64 --machine accel=3Dxen:tcg xencall: error: Could not obtain handle on privileged command interface= : No such file or directory xen be core: xen be core: can't open xen interface can't open xen interface qemu-system-x86_64: failed to initialize Xen: Operation not permitted qemu-system-x86_64: /home/armbru/work/qemu/qom/object.c:436: object_set= _accelerator_compat_props: Assertion `!object_compat_props[0]' failed. Root cause: we register accelerator compat properties even when the accelerator fails. The failed assertion is object_set_accelerator_compat_props() telling us off. Fix by calling it only for the accelerator that succeeded. Fixes: 1a3ec8c1564f51628cce10d435a2e22559ea29fd Signed-off-by: Markus Armbruster Reviewed-by: Igor Mammedov Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20190401090827.20793-6-armbru@redhat.com> --- accel/accel.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/accel/accel.c b/accel/accel.c index 8deb475b5d..454fef9d92 100644 --- a/accel/accel.c +++ b/accel/accel.c @@ -65,8 +65,9 @@ static int accel_init_machine(AccelClass *acc, MachineSta= te *ms) ms->accelerator =3D NULL; *(acc->allowed) =3D false; object_unref(OBJECT(accel)); + } else { + object_set_accelerator_compat_props(acc->compat_props); } - object_set_accelerator_compat_props(acc->compat_props); return ret; } =20 --=20 2.17.2