From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39043) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bnVvF-00077a-VT for qemu-devel@nongnu.org; Fri, 23 Sep 2016 15:14:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bnVvE-0006iE-7o for qemu-devel@nongnu.org; Fri, 23 Sep 2016 15:14:09 -0400 Received: from mx1.redhat.com ([209.132.183.28]:55332) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bnVvE-0006i4-1S for qemu-devel@nongnu.org; Fri, 23 Sep 2016 15:14:08 -0400 From: "Dr. David Alan Gilbert (git)" Date: Fri, 23 Sep 2016 20:14:02 +0100 Message-Id: <1474658044-9479-2-git-send-email-dgilbert@redhat.com> In-Reply-To: <1474658044-9479-1-git-send-email-dgilbert@redhat.com> References: <1474658044-9479-1-git-send-email-dgilbert@redhat.com> Subject: [Qemu-devel] [PATCH 1/3] migration/rdma: Pass qemu_file errors across link List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, amit.shah@redhat.com, quintela@redhat.com, michael@hinespot.com From: "Dr. David Alan Gilbert" 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 --- migration/rdma.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/migration/rdma.c b/migration/rdma.c index 88bdb64..7271292 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; -- 2.7.4