[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 11/28] Fail more cleanly in mismatched RAM cases
From: |
Juan Quintela |
Subject: |
[Qemu-devel] [PULL 11/28] Fail more cleanly in mismatched RAM cases |
Date: |
Tue, 7 Jul 2015 15:08:52 +0200 |
From: "Dr. David Alan Gilbert" <address@hidden>
If the number of RAMBlocks was different on the source from the
destination, QEMU would hang waiting for a disconnect on the source
and wouldn't release from that hang until the destination was manually
killed.
Mark the stream as being in error, this causes the destination to die
and the source to carry on.
(It still gets a whole bunch of warnings on the destination, and I've
not managed to complete another migration after the 1st one, still
progress).
Signed-off-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Juan Quintela <address@hidden>
---
migration/rdma.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/migration/rdma.c b/migration/rdma.c
index 73a79be..f106b2a 100644
--- a/migration/rdma.c
+++ b/migration/rdma.c
@@ -3328,6 +3328,7 @@ static int qemu_rdma_registration_stop(QEMUFile *f, void
*opaque,
"Your QEMU command line parameters are probably "
"not identical on both the source and destination.",
local->nb_blocks, nb_dest_blocks);
+ rdma->error_state = -EINVAL;
return -EINVAL;
}
@@ -3343,6 +3344,7 @@ static int qemu_rdma_registration_stop(QEMUFile *f, void
*opaque,
"vs %" PRIu64, local->block[i].block_name, i,
local->block[i].length,
rdma->dest_blocks[i].length);
+ rdma->error_state = -EINVAL;
return -EINVAL;
}
local->block[i].remote_host_addr =
--
2.4.3
- [Qemu-devel] [PULL v3 00/28] Migration pull request, Juan Quintela, 2015/07/07
- [Qemu-devel] [PULL 01/28] rdma: fix memory leak, Juan Quintela, 2015/07/07
- [Qemu-devel] [PULL 02/28] Only try and read a VMDescription if it should be there, Juan Quintela, 2015/07/07
- [Qemu-devel] [PULL 05/28] Translate offsets to destination address space, Juan Quintela, 2015/07/07
- [Qemu-devel] [PULL 03/28] rdma typos, Juan Quintela, 2015/07/07
- [Qemu-devel] [PULL 04/28] Store block name in local blocks structure, Juan Quintela, 2015/07/07
- [Qemu-devel] [PULL 07/28] Allow rdma_delete_block to work without the hash, Juan Quintela, 2015/07/07
- [Qemu-devel] [PULL 06/28] Rework ram_control_load_hook to hook during block load, Juan Quintela, 2015/07/07
- [Qemu-devel] [PULL 08/28] Rework ram block hash, Juan Quintela, 2015/07/07
- [Qemu-devel] [PULL 11/28] Fail more cleanly in mismatched RAM cases,
Juan Quintela <=
- [Qemu-devel] [PULL 10/28] Sanity check RDMA remote data, Juan Quintela, 2015/07/07
- [Qemu-devel] [PULL 12/28] Fix older machine type compatibility on power with section footers, Juan Quintela, 2015/07/07
- [Qemu-devel] [PULL 09/28] Sort destination RAMBlocks to be the same as the source, Juan Quintela, 2015/07/07
- [Qemu-devel] [PULL 16/28] global_state: Make section optional, Juan Quintela, 2015/07/07
- [Qemu-devel] [PULL 13/28] runstate: Add runstate store, Juan Quintela, 2015/07/07
- [Qemu-devel] [PULL 15/28] migration: create new section to store global state, Juan Quintela, 2015/07/07