-----Original Message-----
From: Michael R. Hines [mailto:address@hidden
Sent: Tuesday, April 01, 2014 8:42 AM
To: Gonglei (Arei); address@hidden
Cc: Huangweidong (C); address@hidden; address@hidden;
address@hidden; address@hidden; Moyuxiang;
address@hidden
Subject: Re: [Qemu-devel] [PATCH] rdma: Fix block during rdma migration
On 03/29/2014 03:39 PM, address@hidden wrote:
From: Mo Yuxiang <address@hidden>
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 <address@hidden>
Signed-off-by: Gonglei <address@hidden>
---
migration-rdma.c | 1 +
1 file changed, 1 insertion(+)
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;
}
Reviewed-by: Michael R. Hines <address@hidden>
Good catch. =) That's an obvious bug. It looks like I need
to do a much better job of "kill -9" inside the regression
testing scripts - probably i should try killing the migration
prematurely at different periods just to be sure there are
no more places where the connection state is not getting
cleaned up......
- Michael