diff options
author | Dr. David Alan Gilbert <dgilbert@redhat.com> | 2016-09-23 20:14:02 +0100 |
---|---|---|
committer | Juan Quintela <quintela@trasno.org> | 2016-10-13 17:22:38 +0200 |
commit | 12c67ffb1fe34ff72a55fa440243c0dfcf22f89b (patch) | |
tree | d06b68975686067c3b5972c3a859526eff6fef64 | |
parent | 49228e17edc3f9a7cef6061daffdcc3a33d8023d (diff) |
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 <dgilbert@redhat.com>
Reviewed-by: Michael R. Hines <michael@hinespot.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
-rw-r--r-- | migration/rdma.c | 3 |
1 files changed, 3 insertions, 0 deletions
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; |