RE: [[PATCH v1] 23/37] [CIFS] SMBD: Implement API for upper layer to reconnect transport

From: Tom Talpey
Date: Mon Aug 14 2017 - 17:02:40 EST


> -----Original Message-----
> From: linux-cifs-owner@xxxxxxxxxxxxxxx [mailto:linux-cifs-
> owner@xxxxxxxxxxxxxxx] On Behalf Of Long Li
> Sent: Wednesday, August 2, 2017 4:11 PM
> To: Steve French <sfrench@xxxxxxxxx>; linux-cifs@xxxxxxxxxxxxxxx; samba-
> technical@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Cc: Long Li <longli@xxxxxxxxxxxxx>
> Subject: [[PATCH v1] 23/37] [CIFS] SMBD: Implement API for upper layer to
> reconnect transport
>
> +int cifs_reconnect_rdma_session(struct TCP_Server_Info *server)
> +{
> + log_rdma_event("reconnecting rdma session\n");
> +
> + // why reconnect while it is still connected?
> + if (server->rdma_ses->transport_status == CIFS_RDMA_CONNECTED) {
> + log_rdma_event("still connected, not reconnecting\n");
> + return -EINVAL;
> + }

Why is this check needed?

> +
> + // wait until the transport is destroyed
> + while (server->rdma_ses->transport_status != CIFS_RDMA_DESTROYED)
> + msleep(1);

Polling!? Please plan to implement a proper handshake for connection logic.