mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 03:36:19 +00:00
9p: rdma: Set trans prior to requesting async connection ops
The RDMA connection manager is fundamentally asynchronous. Since the async callback context is the client pointer, the transport in the client struct needs to be set prior to calling the first async op. Signed-off-by: Tom Tucker <tom@opengridcomputing.com> Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
This commit is contained in:
parent
75fa67706c
commit
517ac45af4
1 changed files with 3 additions and 1 deletions
|
@ -589,6 +589,9 @@ rdma_create_trans(struct p9_client *client, const char *addr, char *args)
|
|||
if (IS_ERR(rdma->cm_id))
|
||||
goto error;
|
||||
|
||||
/* Associate the client with the transport */
|
||||
client->trans = rdma;
|
||||
|
||||
/* Resolve the server's address */
|
||||
rdma->addr.sin_family = AF_INET;
|
||||
rdma->addr.sin_addr.s_addr = in_aton(addr);
|
||||
|
@ -669,7 +672,6 @@ rdma_create_trans(struct p9_client *client, const char *addr, char *args)
|
|||
if (err || (rdma->state != P9_RDMA_CONNECTED))
|
||||
goto error;
|
||||
|
||||
client->trans = rdma;
|
||||
client->status = Connected;
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Reference in a new issue