aboutsummaryrefslogtreecommitdiff
path: root/migration-rdma.c
diff options
context:
space:
mode:
authorGonglei <arei.gonglei@huawei.com>2014-05-13 20:25:38 +0800
committerJuan Quintela <quintela@redhat.com>2014-06-16 04:55:27 +0200
commit2a9343470432573acf06379bcbf8e5e6568507e4 (patch)
tree7fd86b87b5352c21717883f9bd95cb8b7ff2b0bd /migration-rdma.c
parentf7cd55a023b71ff9583dad9135413b7cc5821dfe (diff)
downloadqemu-2a9343470432573acf06379bcbf8e5e6568507e4.zip
qemu-2a9343470432573acf06379bcbf8e5e6568507e4.tar.gz
qemu-2a9343470432573acf06379bcbf8e5e6568507e4.tar.bz2
rdma: Fix block during rdma migration
If the networking break or there's something wrong with rdma device(ib0 with no IP) during rdma migration, the main_loop of qemu will be blocked in rdma_destroy_id. I add rdma_ack_cm_event to fix this bug. Signed-off-by: Mo Yuxiang <Moyuxiang@huawei.com> Signed-off-by: Gonglei <arei.gonglei@huawei.com> Reviewed-by: Michael R. Hines <mrhines@us.ibm.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
Diffstat (limited to 'migration-rdma.c')
-rw-r--r--migration-rdma.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/migration-rdma.c b/migration-rdma.c
index eeb4302..f60749b 100644
--- a/migration-rdma.c
+++ b/migration-rdma.c
@@ -949,6 +949,7 @@ route:
ERROR(errp, "result not equal to event_addr_resolved %s",
rdma_event_str(cm_event->event));
perror("rdma_resolve_addr");
+ rdma_ack_cm_event(cm_event);
ret = -EINVAL;
goto err_resolve_get_addr;
}