diff options
| author | Dr. David Alan Gilbert | 2016-09-23 21:14:02 +0200 |
|---|---|---|
| committer | Juan Quintela | 2016-10-13 17:22:38 +0200 |
| commit | 12c67ffb1fe34ff72a55fa440243c0dfcf22f89b (patch) | |
| tree | d06b68975686067c3b5972c3a859526eff6fef64 | |
| parent | migration: Report values for comparisons (diff) | |
| download | qemu-12c67ffb1fe34ff72a55fa440243c0dfcf22f89b.tar.gz qemu-12c67ffb1fe34ff72a55fa440243c0dfcf22f89b.tar.xz qemu-12c67ffb1fe34ff72a55fa440243c0dfcf22f89b.zip | |
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; |
