From patchwork Wed Jan 4 12:32:26 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ashijeet Acharya X-Patchwork-Id: 9496591 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id A041860413 for ; Wed, 4 Jan 2017 12:35:51 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8E2D927E5A for ; Wed, 4 Jan 2017 12:35:51 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7F0F627F17; Wed, 4 Jan 2017 12:35:51 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 2664627E5A for ; Wed, 4 Jan 2017 12:35:51 +0000 (UTC) Received: from localhost ([::1]:38834 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cOknG-0008Hr-B7 for patchwork-qemu-devel@patchwork.kernel.org; Wed, 04 Jan 2017 07:35:50 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38803) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cOkkI-0006bQ-V6 for qemu-devel@nongnu.org; Wed, 04 Jan 2017 07:32:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cOkkF-0002Nm-Q2 for qemu-devel@nongnu.org; Wed, 04 Jan 2017 07:32:46 -0500 Received: from mail-pg0-x243.google.com ([2607:f8b0:400e:c05::243]:34666) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cOkkF-0002Nd-Kb for qemu-devel@nongnu.org; Wed, 04 Jan 2017 07:32:43 -0500 Received: by mail-pg0-x243.google.com with SMTP id b1so37048244pgc.1 for ; Wed, 04 Jan 2017 04:32:43 -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:in-reply-to:references; bh=0DhZgo8m8W7h9OkKLqrqY8tHOPqHY9XERqcvZRR3Dgg=; b=Yt3CIHxc+kzp+K/IWFXScs0whOijQ4g4wsk15ySK1p+jVmpnLOjhjwseU7UaefqW1l owtpWM9xcVllyl0HuqMODABsghiD7Ox+0Iiu2cSMtvYGtncvTEaxl/ZjV4q7HNzLZFj0 brbTNcHO8xvah1WOHgTfFCZRG4rQnBn56XWaMuX0mtG3yTN0Fx0mhjSjZK5po7+RKy2m AU/04XoqOjsYhjPd2BT4BuyH/Z7MBN3Wiq/36Gg9UvN0ldD4kmRFD9M5dO/+o6JvHgaP 4xCGvI6X3ZrvT6dlzDcCXWnpN+FLPhlz96yy/HhEQg0Aw1hPQ5SqZx/DKc+RTI/AIRQr BflQ== 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:in-reply-to :references; bh=0DhZgo8m8W7h9OkKLqrqY8tHOPqHY9XERqcvZRR3Dgg=; b=Yy3lwY+jULUPcsxG9ORLYCgMe0zSfE3nMo3jpGwwVvhfZHBfX3B0cSG+BuMx0TArIV CHOTWHP5mPl9bskugYnX8QVA5sP9PaLXWutDmptUehffK5YJOit3UuBp6EVqUIgDoFQw cnC5XdTWPncq90Ao0mzRdKkBRK1wFni48P3FDjnHorEouQlCU1MG1IWzEtIhCE5EfqE6 l0FDVXQCtdgRKoXph5Jab659fq5K5rlGhXgnagzQ+VlZGAurIofqnwmxWgUAtWXfuZDI y/GhpBiQSKZpCllBH53QVUHqiSefe/9jO8Likd+koNr5y6tXCMQw1Ob6cB5z0KfxHJ9e ZWaQ== X-Gm-Message-State: AIkVDXIWq3xtvPrbYN6ZDvU3/elxcdEQYgWnVM3x+tKzXNvTAWFx1PA59hb5oiPW1HWKyA== X-Received: by 10.84.225.133 with SMTP id u5mr140660607plj.76.1483533162743; Wed, 04 Jan 2017 04:32:42 -0800 (PST) Received: from linux.local ([47.247.24.115]) by smtp.gmail.com with ESMTPSA id t20sm146793470pfk.48.2017.01.04.04.32.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 04 Jan 2017 04:32:42 -0800 (PST) From: Ashijeet Acharya To: dgilbert@redhat.com Date: Wed, 4 Jan 2017 18:02:26 +0530 Message-Id: <1483533149-12807-2-git-send-email-ashijeetacharya@gmail.com> X-Mailer: git-send-email 2.6.2 In-Reply-To: <1483533149-12807-1-git-send-email-ashijeetacharya@gmail.com> References: <1483533149-12807-1-git-send-email-ashijeetacharya@gmail.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2607:f8b0:400e:c05::243 Subject: [Qemu-devel] [PATCH v3 1/4] migration: Add a new option to enable only-migratable 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: kwolf@redhat.com, peter.maydell@linaro.org, quintela@redhat.com, qemu-devel@nongnu.org, mst@redhat.com, armbru@redhat.com, groug@kaod.org, aneesh.kumar@linux.vnet.ibm.com, Ashijeet Acharya , marcandre.lureau@redhat.com, amit.shah@redhat.com, pbonzini@redhat.com, jsnow@redhat.com Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP Add a new option "--only-migratable" in qemu which will allow to add only those devices which will not fail qemu after migration. Devices set with the flag 'unmigratable' cannot be added when this option will be used. Signed-off-by: Ashijeet Acharya --- include/migration/migration.h | 3 +++ qemu-options.hx | 9 +++++++++ vl.c | 4 ++++ 3 files changed, 16 insertions(+) diff --git a/include/migration/migration.h b/include/migration/migration.h index c309d23..40b3697 100644 --- a/include/migration/migration.h +++ b/include/migration/migration.h @@ -38,6 +38,9 @@ #define QEMU_VM_COMMAND 0x08 #define QEMU_VM_SECTION_FOOTER 0x7e +/* for vl.c */ +extern int only_migratable; + struct MigrationParams { bool blk; bool shared; diff --git a/qemu-options.hx b/qemu-options.hx index c534a2f..1e16ae8 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -3574,6 +3574,15 @@ be used to change settings (such as migration parameters) prior to issuing the migrate_incoming to allow the migration to begin. ETEXI +DEF("only-migratable", 0, QEMU_OPTION_only_migratable, \ + "-only-migratable allow only migratable devices\n", QEMU_ARCH_ALL) +STEXI +@item -only-migratable +@findex -only-migratable +Only allow migratable devices. Devices will not be allowed to enter an +unmigratable state. +ETEXI + DEF("nodefaults", 0, QEMU_OPTION_nodefaults, \ "-nodefaults don't create default devices\n", QEMU_ARCH_ALL) STEXI diff --git a/vl.c b/vl.c index d77dd86..82bffb9 100644 --- a/vl.c +++ b/vl.c @@ -180,6 +180,7 @@ bool boot_strict; uint8_t *boot_splash_filedata; size_t boot_splash_filedata_size; uint8_t qemu_extra_params_fw[2]; +int only_migratable = 0; /* turn it off unless user states otherwise */ int icount_align_option; @@ -3914,6 +3915,9 @@ int main(int argc, char **argv, char **envp) } incoming = optarg; break; + case QEMU_OPTION_only_migratable: + only_migratable = 1; + break; case QEMU_OPTION_nodefaults: has_defaults = 0; break;