From 12c67ffb1fe34ff72a55fa440243c0dfcf22f89b Mon Sep 17 00:00:00 2001 From: "Dr. David Alan Gilbert" Date: Fri, 23 Sep 2016 20:14:02 +0100 Subject: migration/rdma: Pass qemu_file errors across link If we fail for some reason (e.g. a mismatched RAMBlock) and it's set the qemu_file error flag, pass that error back to the peer so it can clean up rather than waiting for some higher level progress. Signed-off-by: Dr. David Alan Gilbert Reviewed-by: Michael R. Hines Reviewed-by: Juan Quintela Signed-off-by: Juan Quintela --- migration/rdma.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'migration/rdma.c') diff --git a/migration/rdma.c b/migration/rdma.c index 88bdb64457..7271292db0 100644 --- a/migration/rdma.c +++ b/migration/rdma.c @@ -2804,6 +2804,9 @@ static int qio_channel_rdma_close(QIOChannel *ioc, QIOChannelRDMA *rioc = QIO_CHANNEL_RDMA(ioc); trace_qemu_rdma_close(); if (rioc->rdma) { + if (!rioc->rdma->error_state) { + rioc->rdma->error_state = qemu_file_get_error(rioc->file); + } qemu_rdma_cleanup(rioc->rdma); g_free(rioc->rdma); rioc->rdma = NULL; -- cgit v1.2.1