From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45995) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d1XD6-0003Vy-SG for qemu-devel@nongnu.org; Fri, 21 Apr 2017 07:58:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d1XD4-0007tj-PL for qemu-devel@nongnu.org; Fri, 21 Apr 2017 07:58:48 -0400 Received: from mx1.redhat.com ([209.132.183.28]:37636) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1d1XD4-0007tV-JG for qemu-devel@nongnu.org; Fri, 21 Apr 2017 07:58:46 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 74F88335EAF for ; Fri, 21 Apr 2017 11:58:45 +0000 (UTC) From: Juan Quintela Date: Fri, 21 Apr 2017 13:56:39 +0200 Message-Id: <20170421115646.15544-59-quintela@redhat.com> In-Reply-To: <20170421115646.15544-1-quintela@redhat.com> References: <20170421115646.15544-1-quintela@redhat.com> Subject: [Qemu-devel] [PULL 58/65] migration: Disable hotplug/unplug during migration List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: dgilbert@redhat.com Until we have reviewed what can/can't be hotplugged during migration, disable it. We can enable it later for the things that we know that work. For instance, memory hotplug during postcopy doesn't work currently. Signed-off-by: Juan Quintela Reviewed-by: zhanghailiang -- - Fix typo. Thanks Thomas. - Delay migration check after we have checked that we can hotplug that device. - more typos --- qdev-monitor.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/qdev-monitor.c b/qdev-monitor.c index bb3d8ba..e61d596 100644 --- a/qdev-monitor.c +++ b/qdev-monitor.c @@ -29,6 +29,7 @@ #include "qemu/error-report.h" #include "qemu/help_option.h" #include "sysemu/block-backend.h" +#include "migration/migration.h" /* * Aliases were a bad idea from the start. Let's keep them @@ -603,6 +604,11 @@ DeviceState *qdev_device_add(QemuOpts *opts, Error **errp) return NULL; } + if (!migration_is_idle()) { + error_setg(errp, "device_add not allowed while migrating"); + return NULL; + } + /* create device */ dev = DEVICE(object_new(driver)); @@ -853,6 +859,11 @@ void qdev_unplug(DeviceState *dev, Error **errp) return; } + if (!migration_is_idle()) { + error_setg(errp, "device_del not allowed while migrating"); + return; + } + qdev_hot_removed = true; hotplug_ctrl = qdev_get_hotplug_handler(dev); -- 2.9.3