migration/ram: Add check and info message to nvdimm post copy.
authorJunyan He <junyan.he@intel.com>
Wed, 18 Jul 2018 07:48:02 +0000 (15:48 +0800)
committerMichael S. Tsirkin <mst@redhat.com>
Fri, 10 Aug 2018 10:29:39 +0000 (13:29 +0300)
The nvdimm kind memory does not support post copy now.
We disable post copy if we have nvdimm memory and print some
log hint to user.

Signed-off-by: Junyan He <junyan.he@intel.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
migration/ram.c

index 24dea2730c5b97c19a2030ee9f1b69be895e59b8..5beefae7f55456a017b6293e81767dc11022e269 100644 (file)
@@ -3906,6 +3906,15 @@ static int ram_load(QEMUFile *f, void *opaque, int version_id)
 
 static bool ram_has_postcopy(void *opaque)
 {
+    RAMBlock *rb;
+    RAMBLOCK_FOREACH_MIGRATABLE(rb) {
+        if (ramblock_is_pmem(rb)) {
+            info_report("Block: %s, host: %p is a nvdimm memory, postcopy"
+                         "is not supported now!", rb->idstr, rb->host);
+            return false;
+        }
+    }
+
     return migrate_postcopy_ram();
 }