From nobody Fri May 3 06:11:00 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1596532389; cv=none; d=zohomail.com; s=zohoarc; b=AqrqAATKSqntc+2kpp6Drze4M1ga2oMcqs/fWQGDNDizzsx7dtsyIgiNa1PADAhxqNiDB18Bbn/h6Meq3PWz6vOhMUEkhHBZz3mO3kAIWiXBlMQsVv9jcUNqTk2y1S7A5aPaS8Knw7s0+DEH4bpLduQePKs+wFoXGzDkAccFW+0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1596532389; h=Content-Type:Content-Transfer-Encoding:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=6oFS8YfNSG7BI+40vZKAk3tpNTDVG69fB6hf+/t0qn4=; b=DMipAwD6oOyiAxE9XdwNikBwhjgFvekQ1CnzCUCGOqKGjj6J2I69QynRvhQfDzbd+DAe9dfERhmJdIK/csVhHZJzUH3+ZkTULZYEP4cB14hAYfNBKhtHzLXFAtW9ihUN9o3vxRvsTj2T6qWqJmkhZysmEs2K5FCYt35Jnf9fXU8= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 15965323888851021.1204974389469; Tue, 4 Aug 2020 02:13:08 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-381-QSOHdPgDPlOzvYxvl1QgUg-1; Tue, 04 Aug 2020 05:13:05 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id D8BAD107BF00; Tue, 4 Aug 2020 09:12:59 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B697619C4F; Tue, 4 Aug 2020 09:12:59 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 8798B9A117; Tue, 4 Aug 2020 09:12:59 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 0747aokl018056 for ; Tue, 4 Aug 2020 03:36:51 -0400 Received: by smtp.corp.redhat.com (Postfix) id B44162157F25; Tue, 4 Aug 2020 07:36:50 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast06.extmail.prod.ext.rdu2.redhat.com [10.11.55.22]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B00222156A2D for ; Tue, 4 Aug 2020 07:36:47 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-2.mimecast.com [205.139.110.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id CB03F185A78B for ; Tue, 4 Aug 2020 07:36:47 +0000 (UTC) Received: from huawei.com (szxga05-in.huawei.com [45.249.212.191]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-468-3TZ2_vxBORWyIh-4yMA9sg-1; Tue, 04 Aug 2020 03:36:45 -0400 Received: from DGGEMS402-HUB.china.huawei.com (unknown [172.30.72.59]) by Forcepoint Email with ESMTP id 53C237C06EB47321116E for ; Tue, 4 Aug 2020 15:21:19 +0800 (CST) Received: from [127.0.0.1] (10.174.185.246) by DGGEMS402-HUB.china.huawei.com (10.3.19.202) with Microsoft SMTP Server id 14.3.487.0; Tue, 4 Aug 2020 15:21:11 +0800 X-MC-Unique: QSOHdPgDPlOzvYxvl1QgUg-1 X-MC-Unique: 3TZ2_vxBORWyIh-4yMA9sg-1 To: , , , From: Yilu Lin Subject: [PATCH] fix vm schizencephaly when heartbeat stoped Message-ID: Date: Tue, 4 Aug 2020 15:21:00 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 X-Originating-IP: [10.174.185.246] X-CFilter-Loop: Reflected X-Mimecast-Impersonation-Protect: Policy=CLT - Impersonation Protection Definition; Similar Internal Domain=false; Similar Monitored External Domain=false; Custom External Domain=false; Mimecast External Domain=false; Newly Observed Domain=false; Internal User Name=false; Custom Display Name List=false; Reply-to Address Mismatch=false; Targeted Threat Dictionary=false; Mimecast Threat Dictionary=false; Custom Threat Dictionary=false; X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-loop: libvir-list@redhat.com X-Mailman-Approved-At: Tue, 04 Aug 2020 05:12:01 -0400 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" >From e28cb2a03a670e4c0e7641f68f9d9f3accb00ae0 Mon Sep 17 00:00:00 2001 From: Yilu Lin Date: Tue, 4 Aug 2020 02:42:00 -0400 Subject: [PATCH] fix vm schizencephaly when heartbeat stoped Signed-off-by: Yilu Lin If keepalive messages lost in finish step, vm maybe schizencephaly. Shutdown src vm for protection. --- src/qemu/qemu_migration.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 2c7bf34..b8296ba 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -4136,6 +4136,8 @@ qemuMigrationSrcPerformPeer2Peer3(virQEMUDriverPtr dr= iver, int cookieoutlen =3D 0; int ret =3D -1; virErrorPtr orig_err =3D NULL; + virErrorPtr finish_err =3D NULL; + bool living =3D true; bool cancelled =3D true; virStreamPtr st =3D NULL; unsigned long destflags; @@ -4394,7 +4396,16 @@ qemuMigrationSrcPerformPeer2Peer3(virQEMUDriverPtr d= river, * The lock manager plugins should take care of * safety in this scenario. */ - cancelled =3D ddomain =3D=3D NULL; + if (!cancelled && !ddomain) + finish_err =3D virSaveLastError(); + + if (finish_err && finish_err->message && + strstr(finish_err->message, "received hangup / error event on sock= et")) { + living =3D false; + VIR_ERROR(_("keepalive messages lost in finish step, shutdown src = vm for protection")); + } else { + cancelled =3D ddomain =3D=3D NULL; + } /* If finish3 set an error, and we don't have an earlier * one we need to preserve it in case confirm3 overwrites @@ -4427,10 +4438,17 @@ qemuMigrationSrcPerformPeer2Peer3(virQEMUDriverPtr = driver, virObjectUnref(ddomain); ret =3D 0; } else { - ret =3D -1; + if (!living) + ret =3D 0; + else + ret =3D -1; } virObjectUnref(st); + if (finish_err) { + virSetError(finish_err); + virFreeError(finish_err); + } virErrorRestore(&orig_err); VIR_FREE(uri_out); --=20 2.19.1