[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 11/27] Fail more cleanly in mismatched RAM cases
From: |
Juan Quintela |
Subject: |
[Qemu-devel] [PULL 11/27] Fail more cleanly in mismatched RAM cases |
Date: |
Thu, 2 Jul 2015 18:09:59 +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 01/27] rdma: fix memory leak, (continued)
- [Qemu-devel] [PULL 01/27] rdma: fix memory leak, Juan Quintela, 2015/07/02
- [Qemu-devel] [PULL 02/27] Only try and read a VMDescription if it should be there, Juan Quintela, 2015/07/02
- [Qemu-devel] [PULL 03/27] rdma typos, Juan Quintela, 2015/07/02
- [Qemu-devel] [PULL 04/27] Store block name in local blocks structure, Juan Quintela, 2015/07/02
- [Qemu-devel] [PULL 07/27] Allow rdma_delete_block to work without the hash, Juan Quintela, 2015/07/02
- [Qemu-devel] [PULL 06/27] Rework ram_control_load_hook to hook during block load, Juan Quintela, 2015/07/02
- [Qemu-devel] [PULL 08/27] Rework ram block hash, Juan Quintela, 2015/07/02
- [Qemu-devel] [PULL 05/27] Translate offsets to destination address space, Juan Quintela, 2015/07/02
- [Qemu-devel] [PULL 10/27] Sanity check RDMA remote data, Juan Quintela, 2015/07/02
- [Qemu-devel] [PULL 09/27] Sort destination RAMBlocks to be the same as the source, Juan Quintela, 2015/07/02
- [Qemu-devel] [PULL 11/27] Fail more cleanly in mismatched RAM cases,
Juan Quintela <=
- [Qemu-devel] [PULL 12/27] Fix older machine type compatibility on power with section footers, Juan Quintela, 2015/07/02
- [Qemu-devel] [PULL 13/27] runstate: Add runstate store, Juan Quintela, 2015/07/02
- [Qemu-devel] [PULL 14/27] runstate: migration allows more transitions now, Juan Quintela, 2015/07/02
- [Qemu-devel] [PULL 15/27] migration: create new section to store global state, Juan Quintela, 2015/07/02
- [Qemu-devel] [PULL 16/27] global_state: Make section optional, Juan Quintela, 2015/07/02
- [Qemu-devel] [PULL 17/27] vmstate: Create optional sections, Juan Quintela, 2015/07/02
- [Qemu-devel] [PULL 20/27] migration: ensure we start in NONE state, Juan Quintela, 2015/07/02
- [Qemu-devel] [PULL 21/27] migration: Use always helper to set state, Juan Quintela, 2015/07/02
- [Qemu-devel] [PULL 19/27] migration: Use cmpxchg correctly, Juan Quintela, 2015/07/02
- [Qemu-devel] [PULL 18/27] migration: Add configuration section, Juan Quintela, 2015/07/02