From patchwork Fri Dec 16 09:53:41 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ashijeet Acharya X-Patchwork-Id: 9477661 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 3A2716047D for ; Fri, 16 Dec 2016 09:54:56 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 425762878E for ; Fri, 16 Dec 2016 09:54:56 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3644E287A8; Fri, 16 Dec 2016 09:54:56 +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 DCB902878E for ; Fri, 16 Dec 2016 09:54:55 +0000 (UTC) Received: from localhost ([::1]:59429 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cHpE6-0005m2-Vs for patchwork-qemu-devel@patchwork.kernel.org; Fri, 16 Dec 2016 04:54:55 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51300) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cHpDd-0005dC-6E for qemu-devel@nongnu.org; Fri, 16 Dec 2016 04:54:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cHpDb-00039S-1F for qemu-devel@nongnu.org; Fri, 16 Dec 2016 04:54:25 -0500 Received: from mail-pf0-x241.google.com ([2607:f8b0:400e:c00::241]:34837) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cHpDa-00038c-Rh for qemu-devel@nongnu.org; Fri, 16 Dec 2016 04:54:22 -0500 Received: by mail-pf0-x241.google.com with SMTP id i88so4282192pfk.2 for ; Fri, 16 Dec 2016 01:54:22 -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=bEA47w/aj0unC9J31TedP6VIbivoiSX+cHqcuNH2b7/UrjIuulZp7FB4+Pmoq08xRW AY632JI0Gq98FdgVJXZSb1oYkxkaDR5/98DT3S8JcCj3g8UzmvgKPIjlznPIvzYgKw0B v85F/OamXSiRXNErztq87TWLJP2z8az1LKUBX9BVxZH6h/PGsVEEbWbt5UpmAuSIxLh/ 7T4u5faVyvJyNIlWM/hdRnlk0QIYIWSZNCqiGrUzM6VZO8waZaudmGcfcW9Hgja2hlM2 Z82p8oM2msBW6r6D5rhu5wD9z/8jOiG+ZwT/jDepYJ2OzXNm3V6swuvhvETZ6IwhwzXk NVWg== 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=l1HgAonpnAXBRRgZsOkAAIZtgdi43pryJ44feMR5s0DJZvumlS7g3aWHjqCVHjbuPQ YMfUTYLhNuUsV3Ga6K6sTzSkJMUlSrcpO59Rway+vYppzltQf2Lq9dTzFa6Vs3KM3Vep hW5CGz2Lgw2BQHSvG8Z26XplPkrygXLsFsfmJHQzjSKa1CnSo3co9IBUtkMkepL1Lkxk SQY1fk6mHOwlK2xfTq5zdGreyzfuHk/loxpZNxvMhBq6btlSPBrnyZqFbhK8uGd5ZFQ3 OqEc795pB8y9VvW/rB79XUiQRpqR1tnjQB6FpS1MP+pjL7wmLZ00sXFd/15b4QRNPjpb ZT5Q== X-Gm-Message-State: AKaTC03ChuH4xMsu4nimCef9+gVj3vn3DG/mo1TFCu1DUJxPwCTt+ypWrA4YOKRR8A9HeQ== X-Received: by 10.84.132.35 with SMTP id 32mr4954459ple.44.1481882061882; Fri, 16 Dec 2016 01:54:21 -0800 (PST) Received: from linux.local ([47.247.11.105]) by smtp.gmail.com with ESMTPSA id e11sm10619306pgp.10.2016.12.16.01.54.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 16 Dec 2016 01:54:21 -0800 (PST) From: Ashijeet Acharya To: dgilbert@redhat.com Date: Fri, 16 Dec 2016 15:23:41 +0530 Message-Id: <1481882024-10016-2-git-send-email-ashijeetacharya@gmail.com> X-Mailer: git-send-email 2.6.2 In-Reply-To: <1481882024-10016-1-git-send-email-ashijeetacharya@gmail.com> References: <1481882024-10016-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:c00::241 Subject: [Qemu-devel] [PATCH v2 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;