]> www.infradead.org Git - users/dwmw2/qemu.git/commitdiff
migration/rdma: Pass qemu_file errors across link
authorDr. David Alan Gilbert <dgilbert@redhat.com>
Fri, 23 Sep 2016 19:14:02 +0000 (20:14 +0100)
committerJuan Quintela <quintela@trasno.org>
Thu, 13 Oct 2016 15:22:38 +0000 (17:22 +0200)
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>
migration/rdma.c

index 88bdb64457c54695f0b3a8497938b4c89f82ab0a..7271292db071d8c6f71ffb134a035b97adfa3ea3 100644 (file)
@@ -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;