From patchwork Mon Jan 16 11:31:51 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ashijeet Acharya X-Patchwork-Id: 9518509 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 6A22E600C5 for ; Mon, 16 Jan 2017 11:35:19 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4837A2835B for ; Mon, 16 Jan 2017 11:35:19 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 389CE283F4; Mon, 16 Jan 2017 11:35:19 +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=-3.2 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_WEB, 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 D3A122835B for ; Mon, 16 Jan 2017 11:35:18 +0000 (UTC) Received: from localhost ([::1]:55864 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cT5ZF-0002AR-QK for patchwork-qemu-devel@patchwork.kernel.org; Mon, 16 Jan 2017 06:35:17 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44778) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cT5WB-0008TS-HH for qemu-devel@nongnu.org; Mon, 16 Jan 2017 06:32:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cT5W8-0002bb-9j for qemu-devel@nongnu.org; Mon, 16 Jan 2017 06:32:07 -0500 Received: from mail-pg0-x242.google.com ([2607:f8b0:400e:c05::242]:32904) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cT5W8-0002bS-3s for qemu-devel@nongnu.org; Mon, 16 Jan 2017 06:32:04 -0500 Received: by mail-pg0-x242.google.com with SMTP id 194so5219078pgd.0 for ; Mon, 16 Jan 2017 03:32:04 -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=xMPQWlT4HzW9g/ckHEsY515OddV/oKFHyeXh6JVJ+yI=; b=JZZjRFsn0SXoUbCEMeHQ4VN+1zmS6qEpybVP4d1u8eU2Wfvd8uKfLj132rF9alqy0f x55MvtpYpOMr7e91gMA7I7ejNcdMJIMxxa/lZjMIhzsco8Y08D6B0VmT6DfeT6ZjUn2K o7dMvW1etbMHVY4QcDYGZZ2UbLG0YRuYAZadaGhmnsdYOT0mId1zAgo66BC93Iq1Oi/t ZWVO8z6UGAHqiBSsNBhYoV+9mxyS7jmwMDVLqbj9R0Y5NsPRsRVDcK6RlIip491JR60/ rTVjZNW10c2IUgbwRJ4ZEAk/6gDrdCgJvckcc8ifor7RBiYYJfeFOsq8IZrd/Al7bqU2 6ixA== 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=xMPQWlT4HzW9g/ckHEsY515OddV/oKFHyeXh6JVJ+yI=; b=O4zxIhkiaF4l0udv6Xgoqubf1PaZ7cvaDR6yEtQR/Lf1cCIGgkvfeKW2Lh/Ieq+b9r dv+YO3hpSZhHefyHYXd1AHJHDjtbNKrgQ644LLUx/F76EAyV53jpz2bz2mfyiSvVO5P2 KZ4R71WkwnpVv3MJZMDqDXf5iuIZUQMBxys3CF3kMtv0byFV86gwNdbF8QLHPI64KZpQ BDr6TqVP60KMLJYyXrf+LbcDL+xap5qphhCGCaiQxjooK01+GmI3dKSHFT1xMAknFxY3 l9XFwo+fA8o2dsNj79Cgs0t4mYUcBoZWPPpZBJ1lUWtBovyEwwayOCqnwxNhoGEgoszz pdag== X-Gm-Message-State: AIkVDXJ2gIilw1KBFqeD70cKNTXWQLuhgSlg4w8IDOGPK+sskVCj72X+OvhAYHERv8jYSQ== X-Received: by 10.84.198.3 with SMTP id o3mr49820541pld.170.1484566323186; Mon, 16 Jan 2017 03:32:03 -0800 (PST) Received: from linux.local ([27.251.197.196]) by smtp.gmail.com with ESMTPSA id e127sm47018810pfh.89.2017.01.16.03.31.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 16 Jan 2017 03:32:02 -0800 (PST) From: Ashijeet Acharya To: dgilbert@redhat.com Date: Mon, 16 Jan 2017 17:01:51 +0530 Message-Id: <1484566314-3987-3-git-send-email-ashijeetacharya@gmail.com> X-Mailer: git-send-email 2.6.2 In-Reply-To: <1484566314-3987-1-git-send-email-ashijeetacharya@gmail.com> References: <1484566314-3987-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::242 Subject: [Qemu-devel] [PATCH v6 2/5] 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 Reviewed-by: Dr. David Alan Gilbert Reviewed-by: Juan Quintela --- 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 c643d3f..cbcb459 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; /* turn it off unless user states otherwise */ int icount_align_option; @@ -3910,6 +3911,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;