From patchwork Mon May 11 11:10:48 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lukas Straub X-Patchwork-Id: 283033 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.3 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2C46FC54E8D for ; Mon, 11 May 2020 11:21:26 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id F035E20722 for ; Mon, 11 May 2020 11:21:25 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=web.de header.i=@web.de header.b="Y7kPtTKD" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F035E20722 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=web.de Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:34768 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jY6Uu-0004ij-Uc for qemu-devel@archiver.kernel.org; Mon, 11 May 2020 07:21:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54868) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jY6Ko-0004uB-Qg for qemu-devel@nongnu.org; Mon, 11 May 2020 07:10:58 -0400 Received: from mout.web.de ([212.227.17.12]:50661) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jY6Kn-0005kp-Vb for qemu-devel@nongnu.org; Mon, 11 May 2020 07:10:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1589195449; bh=fHF36Ki6yNEwvH+HbsyWEOYKs0aX/3g3RLEGn37QNNQ=; h=X-UI-Sender-Class:Date:From:To:Cc:Subject:In-Reply-To:References; b=Y7kPtTKDnZLnyyUcEIb1sJ+hrK31f73NOOIdvjgr8TvWU4TzC+WtkkyWS7G9k24yZ imszOWin4ky8ZGMZwp6YaFzy9c2SEBgfwg3wTteU5Ko9u3fL9pFf0bo2pNk90lLTJL B0liIoggwDz7jzZeq/KFyJnmvqAjrUuYs/3U33eM= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from luklap ([89.247.255.192]) by smtp.web.de (mrweb101 [213.165.67.124]) with ESMTPSA (Nemesis) id 0MPpQU-1jUERf2eIc-004zSU; Mon, 11 May 2020 13:10:49 +0200 Date: Mon, 11 May 2020 13:10:48 +0200 From: Lukas Straub To: qemu-devel Subject: [PATCH 2/6] migration/colo.c: Use cpu_synchronize_all_states() Message-ID: <9675031ce557b73ebd10e7bd20ebbf57f30b177c.1589193382.git.lukasstraub2@web.de> In-Reply-To: References: MIME-Version: 1.0 X-Provags-ID: V03:K1:J4iiaiK1ynPM7Kmwo10bTHc7piCUCoI/HzNwQLPal82GaYiXvum MXqTuslu5KSg59/KDgWm7lhRITLwYcbII/a5Jkn+K2qNDNWL+Td2ma8/T440Itas4KCh4OL UioQxsxtPN5c9dQnjCEQHFrLRd7Q1dIQL6FfUSVsT0UvmnhW43NGcptvQYr391vVcxJnz5V lbU46LzV1EM8Y6iY8DFbA== X-UI-Out-Filterresults: notjunk:1; V03:K0:v8rXSVK0XTY=:K1WWX7lmUKDuUCj1Qpx/kC WqSxI4VeNh37f8/uOyYIRzQb+j0rLG2bwW5T0KGA9sh3jF6N00n4vb1aHDlRthUkuqTO2kOcI kK4DQJd+mBn21qxGy7NQ70eqbbDHEoLzz78pL70yYAXt4OTEzt7mOEL220o5NcPWbYPLBPCVr amusBpTnEu954twQHjEseO5y3jBOuMTRd6Jbt71aBwvwPFDl1GrzZ5p/BrSU2+LE5g0gfunCV oL6taFOH6SWYpo8of9YUrGMQoBCr/ZsCWe003NfH3uIew0dIw0TmlRGdJvEcpaG6iIZGSfsvS 1j4IR5az6F9wQebhmBVgvp0PVF08f2osN7vBIs+xDW0UqctxAF1MdZl4M4J+veTLt/0UotnvW 3A+sy2xTgokz6IEpH6K2JQtM9B1/MsDIGJuv7IojXdPMS5W+5DEv8tUURmmm8Ro7EUlP9xPhg AYICAQvuJB7tXFXBsIxb2vpeHujs6rdB+M0ZObFk5BUEBwZdKJLnqwkkZq7JnXWfqtomvAViA uPtvPHJs6CHZ1B//nYc6vQWSMXjieI61iu2YgQlwSqqiIyniWGgy6LBk4bTsbizsUPWbRRX1p EIgMo0L4qsBHO1uipmROhY0LEpx9j6onTkXrllARsPSxLyveA4FTkGCOyXK9OjAF5ioTbQu3v u+VMCeRsirsb/1JB86RRqHKsliGUucGb0QAWYfxSJO7DcQ11ZhhoKtaOGv1mxfgX1Dkubum3y najaqPxvM64lmgzDl3qcxxGt5Yl4CPBn02y5VDF8WjM8TySeYe/yWDixDZvklg7vZicXkFKtm MBJQgoHaxGs5IeXVDPJLUzP71/9iJDC6Eyu2NJh8HWKxZa1rgAGFjQyzmQFxUHMGCWu37T/Zi EuxDq8mAZEmpalh8CfKp3gIeG4VDRHpsrCxT0iDkVuFQQ8x0NfMrXIaHg2FaXZx+2gM47dkxR bNQ7RK/RxPXj8sziEeMEywhVryvRMag+NkdjXWqZzZGU2JV/VNGjz44WOCQksdWzA8e7hv6S8 RXt9Mh8fdtmmEcmrVnU937N/QFBnwyfT0sQYfJOUtxEABFhJ8yM4NhJk6RWbop2PTRDQ0hsAF sfKoQ4GpuQw8/Wq84EO48xNrieNNsoNmI4LIIRCsiva4UVDJbdUe4ku6Udn+VZBFxByTYyvX+ dg+df9CUjjgbClqTcMClD+rkGk8mNPm5hSPNDNg5gz7BRvx3riHqmJHs9fdloDg2WPvyDght4 8SvVq6PIzuXKJsDYq Received-SPF: pass client-ip=212.227.17.12; envelope-from=lukasstraub2@web.de; helo=mout.web.de X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/11 07:10:54 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Hailiang Zhang , "Dr. David Alan Gilbert" , Juan Quintela Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" cpu_synchronize_all_pre_loadvm() marks all vcpus as dirty, so the registers are loaded from CPUState before we continue running the vm. However if we failover during checkpoint, CPUState is not initialized and the registers are loaded with garbage. This causes guest hangs and crashes. Fix this by using cpu_synchronize_all_states(), which initializes CPUState from the current cpu registers additionally to marking the vcpus as dirty. Signed-off-by: Lukas Straub --- migration/colo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/migration/colo.c b/migration/colo.c index 09168627bc..6b2ad35aa4 100644 --- a/migration/colo.c +++ b/migration/colo.c @@ -696,7 +696,7 @@ static void colo_incoming_process_checkpoint(MigrationIncomingState *mis, } qemu_mutex_lock_iothread(); - cpu_synchronize_all_pre_loadvm(); + cpu_synchronize_all_states(); ret = qemu_loadvm_state_main(mis->from_src_file, mis); qemu_mutex_unlock_iothread(); From patchwork Mon May 11 11:10:58 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lukas Straub X-Patchwork-Id: 283031 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.3 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DAFFAC54E8E for ; Mon, 11 May 2020 11:26:46 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A92BB20736 for ; Mon, 11 May 2020 11:26:46 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=web.de header.i=@web.de header.b="HhJZf8wh" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A92BB20736 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=web.de Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:42254 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jY6a4-0000TX-BE for qemu-devel@archiver.kernel.org; Mon, 11 May 2020 07:26:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54888) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jY6Ky-00058W-NS for qemu-devel@nongnu.org; Mon, 11 May 2020 07:11:08 -0400 Received: from mout.web.de ([212.227.15.14]:56081) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jY6Kx-0005lb-T8 for qemu-devel@nongnu.org; Mon, 11 May 2020 07:11:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1589195460; bh=tUg9o884OMIklfCikslkyZW37XNcYKoP71AiwmXwais=; h=X-UI-Sender-Class:Date:From:To:Cc:Subject:In-Reply-To:References; b=HhJZf8whG4m37KkvMIcoWqfkCyE/Mg7MyLwP2gg7lpwBnG7fzd8pCniv2bw+9BbHM Z63KpGKlgELSbElYbVjWqA2LB/5nOy2ikXUr/wf3l+jyCw/X+WZ65sTpqe6gal2THP dYQaf2SHD8GKkHOVrQvslKU6Vl+3QPaqnxnz8diA= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from luklap ([89.247.255.192]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1M4KNZ-1jXpLu3hQX-000MFN; Mon, 11 May 2020 13:10:59 +0200 Date: Mon, 11 May 2020 13:10:58 +0200 From: Lukas Straub To: qemu-devel Subject: [PATCH 5/6] migration/qemu-file.c: Don't ratelimit a shutdown fd Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Provags-ID: V03:K1:wRaJQIVGOrJKahlvJBpGxF5IfAavcvQhBJS93SOFVHN+nTFMCV1 bi/9HMv+nsF9Z2f3o9Muz+4NaL7ZCnOZY9nbWsKvgbFhlhVqgMeXfZI3gtKol51E4EYIAMz Mb9KU0wPrYMEFcTeKllvK4gJR09kOJKq/RhKCLg12fn+AaKEWjcm3MjhOFBxXNrr8YYuqhp TiKfbAeByRad7kv94SDiQ== X-UI-Out-Filterresults: notjunk:1; V03:K0:Z2atHHipKfU=:1U5dNSkQ3wUvDdYHthQHdO Al/GrL7FYMkWYRJZRk9+vs+NCTY7AqHGkvNTl4ND7C3RDFWY4I3ykfBIo6yrbdVr3LBjObRlC bzyqSdQHYa4hWl+EAjMNO7pdtz/WumSWYFqTLRneX/PYjYE1tzo3FcrzkZQZfXJ8bhFmGLRqY Kl/y6W10hDlR4gIXOtuljunWI63qhFgCwkso3UhAx7DW58YmAGr3DQ9Py/uyO+Bn7T6Bn895r NXJ0Q13+UVYsYQ2MYQRDZhSRVadK3PWLPE1D7ZDxL8+y/bFu2D/ntYSyNR772aLlUJOuuFZhJ WhGyiCkC2xXbCyxM7dNX5kHnOxxSHOX7fDSRdJ0dWbKxkSj8PVD2MOBFRV0VaKtUX+GAkOqW8 7fd89LKsUgDyax1J8vu1mSVcK9HlrQWPilwMLmHFIEn3qlUN5T04f1kEqSTBFaNpYRSuITeB7 AUMF3qMDwzZnEXxn8bf/yJx2wwcA1jYkmsg9Rbg3GinT42TCyNIAw2XJPnqhQ73Bt60u4GFjy p9KaOug47O4LIlGjAYRQvrwVeGMPN46jC6JH7PIHj8U+6EpjyNr/UqWs4V+HXVuZxrbO6MIMN P2KchcoM5yqxntNKZIsLO4gUHF24MCehH1Bj1YVYgkXBEYVSl21gf/1JSLNAT4OgjiZclBJtw GbpPZvheF9bvEjFuM/L2y5eXfVhECHtlFluC6nGl73e/UBBT5FfopsDIsIwrZtv9Ow6qxGN4u Hyh3VBZivjmPh8FjcP7Xn92OBirJPYg8hUQTHJYzw2CIsJzAHLEjntjP41qAuwKVuxCOQKeZs +kCvdXqJRWX+ET/UsFXejRlQifWLk7QiR9CzzXifnSHYFXxroO6Ax0GkH3fE/nSYfUGyd2nAK gPjfwV6zV6+68KPaFWIvQyw+Endutr4TMf2gSN4ke+5zaqbXtJAIYQnuAHCM2xjDBBxigv43Q rEaKAK18hN1MjjM1WzjFD3hjc4vIBeszSHa0Gnsl83HLEt2Lv0hyxNzfSqIZjqXC+wlwTBRGZ FbYccZB4UsJ61s8wyiUPzLzrJGnyrDJ5/ED+ZEzsg1luPxLVQia6wHEDZNpvShicDZhVVX4am xsanau6M4irFkoW/c6SBbLH06rtWE1NVkcPWFs5cfhOJoMZEfMk7BtZvzhVRrGq7uzy5z7QQI hEZoflI3OZCOvA6oEjpUvlt22DGKmwkHYc1CvkB4zbH1ghZumeJBomhERmlUH6NoL194HijCT rfzs4vgFx+HbE2rnF Received-SPF: pass client-ip=212.227.15.14; envelope-from=lukasstraub2@web.de; helo=mout.web.de X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/11 07:10:54 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Hailiang Zhang , "Dr. David Alan Gilbert" , Juan Quintela Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" This causes the migration thread to hang if we failover during checkpoint. A shutdown fd won't cause network traffic anyway. Signed-off-by: Lukas Straub --- migration/qemu-file.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/migration/qemu-file.c b/migration/qemu-file.c index 1c3a358a14..0748b5810f 100644 --- a/migration/qemu-file.c +++ b/migration/qemu-file.c @@ -660,7 +660,7 @@ int64_t qemu_ftell(QEMUFile *f) int qemu_file_rate_limit(QEMUFile *f) { if (f->shutdown) { - return 1; + return 0; } if (qemu_file_get_error(f)) { return 1; From patchwork Mon May 11 11:11:01 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lukas Straub X-Patchwork-Id: 283030 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.3 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 09DDCC47255 for ; Mon, 11 May 2020 11:32:31 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B341220708 for ; Mon, 11 May 2020 11:32:30 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=web.de header.i=@web.de header.b="ElpuAmr3" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B341220708 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=web.de Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:49748 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jY6fd-00052l-Nf for qemu-devel@archiver.kernel.org; Mon, 11 May 2020 07:32:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54918) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jY6L2-0005E5-OM for qemu-devel@nongnu.org; Mon, 11 May 2020 07:11:12 -0400 Received: from mout.web.de ([212.227.17.12]:41025) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jY6L1-0005mk-Tq for qemu-devel@nongnu.org; Mon, 11 May 2020 07:11:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1589195463; bh=8aa/cXv8MJaQTeNGuhAYmWL57Hgij/DmXi7owbKM+js=; h=X-UI-Sender-Class:Date:From:To:Cc:Subject:In-Reply-To:References; b=ElpuAmr32P3BcPMQbFvM1DiqPwEaQsMWeMEr2oUIegE5pSG70OfSd7H2ZKsq8Go0d rkBIvGVAITuKb4ItpfGotd3L1iE885lucHhx3X40KhsE0+c2P3Ws8FrBLLZO4FPlps wLwhH80F0AZbA/yPU0C829Ohy23ZsXOw+9auErQ8= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from luklap ([89.247.255.192]) by smtp.web.de (mrweb106 [213.165.67.124]) with ESMTPSA (Nemesis) id 1MsJSy-1jF43B1gD4-00teTy; Mon, 11 May 2020 13:11:03 +0200 Date: Mon, 11 May 2020 13:11:01 +0200 From: Lukas Straub To: qemu-devel Subject: [PATCH 6/6] migration/colo.c: Move colo_notify_compares_event to the right place Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Provags-ID: V03:K1:IU3txvhBiDREI7tNkWx5REKG0Uwnv8IAQ5LmYKL67wiqxUBMOz0 p5ndNdGAW5FFPlTEc5QTBzYWe6+xo9MWfLMPlNqr2WfNX6zhM/GzCk6rGlev1VD5PTHdepY dK17zoILIrgBBtobj8jFp+DIh/2AqBGVqEzE6EOUoGM+FEVxNSg2NpmRuExPh44ZD0+bEzt wVCL4Nancp9BOYIvLFkfQ== X-UI-Out-Filterresults: notjunk:1; V03:K0:0DKC7TXAbnA=:DWl6hDFq3XycRpSa+M1Hp/ hHGddW+YlCsAHnie+oATtR+re7h3E41g3fHGSLJqgBpsLi2etwMDeFUBuMXXzRzKuc+bC/ACJ QVwuqm2DboB9boqVwxkNmpu3JFXYmTAjKDnPt0Yal9bzRfC2T9Y3CXCRLXSH8ER/MtptiJeeu axIEa/KMy1Tb2Yx8UjLhN9av6zYRbeHOLarY+Ed9A9cGoD7Fe7lDPyNond4f+CRK/NkpH3H3A xO5Pg6hmv/jpultud0CM7HDS/jdSzDMEow1AXzrhZmNA4nw2A7vYzdPr0+h5zoFyChPOr8asd Ra0yqjMdoYQO3uASIi3kEP7IXVpKjNOKuKqsmqEUtMNwd1RQggl8c1I8Yy5PBshvgGbm/EiBS EL753HU4MsQzJncjA4dcChrq5eRdHXPtUPM2LWtK7z5Kn95fdCOj8E4BDjzw/hCiC1398NJ6V F/dAdq6LMitG2pmz2Gvyu2rqpNS1jbjrkSWxibm+WEZ6+m7cwX2ApFs1c5QCtAC2n57+qvdM9 l09dZpmAuSGsqv/enXkKKlQbHO7a6uEE4yZ6DPj5Pd/YJTwQg4o60tePPzUT6HUDgCDXxJ4uQ sIr+t9b3mz2QJq0IiwSOXYj9pXGN1JCJyeTCGkVFkdeOe4r40ahfjR3QRBQw1KyInCuuOIw9h 7lj4YOyaMSGcB5U2q5x/dKXnAwcG2WMVA1pIFBL7ObxkoZJoHl8G0awGeYkBjydfeXbpmtaQT VPaTnaD+yrz68mePAL1Fov9q8jD/FBNmKdwKOqa8nTJ82ztnR8bYyDdI9uP3UiDpSaiszHJaR 5AOtHtW1jgJTXgS4SRDv4/3NjiK2vgbTRVzZYA7fE6HAAWoYCO7OliBdLO7W8iTrf2W9d7t88 FDJN8/QReDVxto0RXdk+BjadKW17dLNO5YCvK4EA1v6/1yV9OBHQr5E+bVPNdjSvOrJ+9xgWY xsdLGkvG7N0pWKMijf5LuQPnK52sK0F94zje8SbtPMvotB4XJt758E1uuePvUyVSquJunOasS xc8Dnf1s5oIhYvZsR80dYQSsqcTfSB7fQUPggmDYbqZCs0OgF7kdJtgRFtomnjtWCnban41F7 RyLccvU7BF0mXftQKvRH7t2WtOh04L/+IIPi2aMPQgS/wegoMdpdHxcuJIXsJtNgUTBRPjl2d q5ZtkUyxRi4pdwdGRlLBXvqujdLJaP4gZ8lbLNR2j47S/7s+dOEcM2bb9Xh4f8XRErhCPOSVO 5YYf7WPd2bR/Xp4Np Received-SPF: pass client-ip=212.227.17.12; envelope-from=lukasstraub2@web.de; helo=mout.web.de X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/11 07:10:54 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Hailiang Zhang , "Dr. David Alan Gilbert" , Juan Quintela Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" If the secondary has to failover during checkpointing, it still is in the old state (i.e. different state than primary). Thus we can't expose the primary state until after the checkpoint is sent. This fixes sporadic connection reset of client connections during failover. Signed-off-by: Lukas Straub --- migration/colo.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/migration/colo.c b/migration/colo.c index a69782efc5..a3fc21e86e 100644 --- a/migration/colo.c +++ b/migration/colo.c @@ -430,12 +430,6 @@ static int colo_do_checkpoint_transaction(MigrationState *s, goto out; } - qemu_event_reset(&s->colo_checkpoint_event); - colo_notify_compares_event(NULL, COLO_EVENT_CHECKPOINT, &local_err); - if (local_err) { - goto out; - } - /* Disable block migration */ migrate_set_block_enabled(false, &local_err); qemu_mutex_lock_iothread(); @@ -494,6 +488,12 @@ static int colo_do_checkpoint_transaction(MigrationState *s, goto out; } + qemu_event_reset(&s->colo_checkpoint_event); + colo_notify_compares_event(NULL, COLO_EVENT_CHECKPOINT, &local_err); + if (local_err) { + goto out; + } + colo_receive_check_message(s->rp_state.from_dst_file, COLO_MESSAGE_VMSTATE_LOADED, &local_err); if (local_err) {