From patchwork Wed Dec 9 07:20:29 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhang X-Patchwork-Id: 1413216 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=S7U0cvaR; dkim-atps=neutral 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 ozlabs.org (Postfix) with ESMTPS id 4CrT4S3nYmz9sWC for ; Wed, 9 Dec 2020 18:21:28 +1100 (AEDT) Received: from localhost ([::1]:48252 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmtmw-0005ri-FK for incoming@patchwork.ozlabs.org; Wed, 09 Dec 2020 02:21:26 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:60850) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmtmB-0005pc-0v for qemu-devel@nongnu.org; Wed, 09 Dec 2020 02:20:39 -0500 Received: from mail-ed1-x543.google.com ([2a00:1450:4864:20::543]:46617) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kmtm8-0001T5-N9 for qemu-devel@nongnu.org; Wed, 09 Dec 2020 02:20:38 -0500 Received: by mail-ed1-x543.google.com with SMTP id b73so403009edf.13 for ; Tue, 08 Dec 2020 23:20:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=lTAK5HEDMpAr/+fzCsEXLb0+ULO1peRumvDw6H7WOrY=; b=S7U0cvaRI5FRfrNJshLtKQ+kk/CR8aH5PGhmEenl10Ei6sJzsq12qcAivzWy82zyGn v0yFB/z81MU9A/AjDCxeqI5JBVgFdAYkpFmBhMAuISciBgHYXrOBt6crViC9fVOavU4/ vHGsGaSb/kG1IUC4eDhjjis3knegxRiT+eomw2LhsGhopPrw1kL3MR08ynpK5gz7WSu5 YpZGskyJz47KYGj+5uy/86tGkt25qt6D2kP5Sf+PRdTrJGpgB8ZX2h04IQzW8LwDQ5WC LFQSceLcoE8fYLESE6nAB9mkByew3JUty+PvzVN5y1O2AQ6TEcXz2jlxMeXzHHNsqZ3X vHJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=lTAK5HEDMpAr/+fzCsEXLb0+ULO1peRumvDw6H7WOrY=; b=k8QbolrQ9gK0FIEkWW8czxzxdhQZAObmQNTkmu4xAMve8R2JgkK046qxCTxsAt914M n0b/DhLGW6/CiaOtYP/RItgaAlJpm3paDgzJn9EXwr+CX7frBqvs4ueNK6vuE/Sk2XoB Rh5xS/1OJUdgvhclhWiDIo16xz+6PvhF5OkqXeinkQkEaljq3x1NjPByDwbo1UeUEZZ0 /vNkE3gSJq8+14pkPAQIJF6hKaTPvrbfzGDVWiAshQTYSacDlT0dc9/MFeJMYSD7lhA0 SvSDsoih1ji28zwrtSjrVPxqXegqZwHViAVclhTw48Q11B5Dtuvu2w87Cv2MLSvLmhT3 abtw== X-Gm-Message-State: AOAM532OydBvpcfK6cmUnk5wkmmdZfDN7wJllRnIJh5AiKRsl8BBJJCA zR0gstkZ/+7djo6YNJnJyZmX8Y7SFznpvDNb1yo= X-Google-Smtp-Source: ABdhPJwPcmqGxcuJNtCj14ulm7OdcQKqd0OZwy03xDyn9uav/4lUNJbGToIxyiywKrZq3MxtihBNRQ== X-Received: by 2002:a05:6402:1421:: with SMTP id c1mr754551edx.247.1607498434567; Tue, 08 Dec 2020 23:20:34 -0800 (PST) Received: from localhost.localdomain (ip85-215-238-161.pbiaas.com. [85.215.238.161]) by smtp.gmail.com with ESMTPSA id j20sm595069ejy.124.2020.12.08.23.20.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 23:20:33 -0800 (PST) From: Li Zhang X-Google-Original-From: Li Zhang To: qemu-devel@nongnu.org, quintela@redhat.com, dgilbert@redhat.com Subject: [PATCH 1/1] Avoid migration if guest is in postmigrated status Date: Wed, 9 Dec 2020 07:20:29 +0000 Message-Id: <20201209072029.2338351-1-li.zhang@cloud.ionos.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::543; envelope-from=zhlcindy@gmail.com; helo=mail-ed1-x543.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no 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: Li Zhang Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" This patch is to avoid executing migrations twice, which causes coredump. After the migration has been completed, guest is in postmigrated status on source host and the block device is inactive. If executing migration again, it will cause coredump and a block error. For exmaple, executing #migrate "exec:cat>file" twice on source host, block error: bdrv_inactivate_recurse: Assertion `!(bs->open_flags & BDRV_O_INACTIVE)' failed Signed-off-by: Li Zhang --- migration/migration.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/migration/migration.c b/migration/migration.c index 87a9b59f83..113f7e1e41 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -2115,6 +2115,11 @@ static bool migrate_prepare(MigrationState *s, bool blk, bool blk_inc, return false; } + if (runstate_check(RUN_STATE_POSTMIGRATE)) { + error_setg(errp, "Unable to migrate, guest has been migrated"); + return false; + } + if (migration_is_blocked(errp)) { return false; }