When a guest that has several hotplugged dimms is migrated, in
destination host it will fail to resume. Because vhost regions of
several dimms in source host are merged and in the restore stage
in destination host it computes whether more than vhost slot limit
before merging vhost regions of several dimms.

Signed-off-by: Peng Hao <peng.h...@zte.com.cn>
Signed-off-by: Wang Yechao <wang.yechao...@zte.com.cn>
---
 hw/mem/pc-dimm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c
index ea67b46..bb0fa08 100644
--- a/hw/mem/pc-dimm.c
+++ b/hw/mem/pc-dimm.c
@@ -101,7 +101,7 @@ void pc_dimm_memory_plug(DeviceState *dev, 
MemoryHotplugState *hpms,
         goto out;
     }
 
-    if (!vhost_has_free_slot()) {
+    if (!vhost_has_free_slot() && runstate_is_running()) {
         error_setg(&local_err, "a used vhost backend has no free"
                                " memory slots left");
         goto out;
-- 
1.8.3.1



Reply via email to