From patchwork Wed Dec 14 19:07:00 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ashijeet Acharya X-Patchwork-Id: 9474533 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 B316860571 for ; Wed, 14 Dec 2016 19:09:39 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A070428731 for ; Wed, 14 Dec 2016 19:09:39 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 951DC28740; Wed, 14 Dec 2016 19:09:39 +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 320B428731 for ; Wed, 14 Dec 2016 19:09:39 +0000 (UTC) Received: from localhost ([::1]:49692 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cHEvq-0006xV-8C for patchwork-qemu-devel@patchwork.kernel.org; Wed, 14 Dec 2016 14:09:38 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34705) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cHEvL-0006vK-UT for qemu-devel@nongnu.org; Wed, 14 Dec 2016 14:09:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cHEvI-0001gn-ON for qemu-devel@nongnu.org; Wed, 14 Dec 2016 14:09:07 -0500 Received: from mail-pf0-f194.google.com ([209.85.192.194]:36787) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cHEvI-0001dM-IJ for qemu-devel@nongnu.org; Wed, 14 Dec 2016 14:09:04 -0500 Received: by mail-pf0-f194.google.com with SMTP id c4so1509910pfb.3 for ; Wed, 14 Dec 2016 11:08:41 -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=2KvebELigbarAaQE/5ZKYIadgfKaVdNTPo8M4oBDbXo=; b=bd06btS2yjyFjyUQ0A8g92zAMPAvNSnWbCpz5ept1vQFEifbG4UndxjJqZlQzak+q9 bflm7ynJUOW+8JBzOMUbk0XjwsFYAy9hKtjbFYLiNNyLp+FO17zAXLPepmvu30/iJK4b 50pE7sm0mcqsZtHb1g9Ajuq6fsWq1X8fl5GNaCyj6stnECHYfgf7GUsHOTGrIBXfPqpu IMz31tVgakkMkceCRKaLUMCF4yEbmx9ZIZNSgU2WGzB4sdBS5zc+CUypzGhAh1b2z1fG D3KJjuN2pmkXFcDh0JcdCfJQkhKfJv80+Dag0QcXJV0bnGPvllu/ZTiaCLs/40VgVfvr uucQ== 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=2KvebELigbarAaQE/5ZKYIadgfKaVdNTPo8M4oBDbXo=; b=GAcSTJ5QdHHIGanFUKc6QloQXaT0RiA+fjVKjq6RPTFA/BL/FMqASUF6AXhnt4IPSv zZQRudhG/KCm5bhMkW8Y+s8Tv9TZOgKbWf50zAXJsDu9D3LE0q/z5gt6Wqjd6uzp6NHe ixW5oQH+1SQ00zw4+vfuUcysRncv7I40xJwnquXYuPEXGhsT8g262W189NDBh1jxeELf 5B54ziVcZeW51aSuTEV0SCiNV5gUcMa+wKhG4x6BdiVnzZWJkXBSgjs8//vNXnGH79rf S4uoOd3s3TCjIoHois+WlkOjFZtFPmdmyNIZISgx2vuHG2pICLtBVfrAu/k0tWVvryc8 paow== X-Gm-Message-State: AKaTC03jt8PfQzF21hVBXk1bqQIRKBMzcZtCUZbl9pwiBIITa3cvUhOkL4NVJBxi0dTS+g== X-Received: by 10.84.217.202 with SMTP id d10mr207413114plj.85.1481742460745; Wed, 14 Dec 2016 11:07:40 -0800 (PST) Received: from linux.local ([47.247.128.14]) by smtp.gmail.com with ESMTPSA id p68sm89200075pfd.11.2016.12.14.11.07.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 14 Dec 2016 11:07:40 -0800 (PST) From: Ashijeet Acharya To: dgilbert@redhat.com Date: Thu, 15 Dec 2016 00:37:00 +0530 Message-Id: <1481742422-15969-2-git-send-email-ashijeetacharya@gmail.com> X-Mailer: git-send-email 2.6.2 In-Reply-To: <1481742422-15969-1-git-send-email-ashijeetacharya@gmail.com> References: <1481742422-15969-1-git-send-email-ashijeetacharya@gmail.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.85.192.194 Subject: [Qemu-devel] [PATCH 1/3] 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 | 10 ++++++++++ vl.c | 4 ++++ 3 files changed, 17 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..7cc2cc5 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -3574,6 +3574,16 @@ 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 +Don't allow adding devices that will fail QEMU after migration. Devices set with +the flag unmigratable are not allowed to be added neither statically nor +dynamically +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;