Skip to content

Commit 4357d45

Browse files
longlimsftsmfrench
authored andcommitted
cifs: smbd: Return -EAGAIN when transport is reconnecting
During reconnecting, the transport may have already been destroyed and is in the process being reconnected. In this case, return -EAGAIN to not fail and to retry this I/O. Signed-off-by: Long Li <[email protected]> Cc: [email protected] Signed-off-by: Steve French <[email protected]>
1 parent c21ce58 commit 4357d45

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

fs/cifs/transport.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -325,8 +325,11 @@ __smb_send_rqst(struct TCP_Server_Info *server, int num_rqst,
325325
int val = 1;
326326
__be32 rfc1002_marker;
327327

328-
if (cifs_rdma_enabled(server) && server->smbd_conn) {
329-
rc = smbd_send(server, num_rqst, rqst);
328+
if (cifs_rdma_enabled(server)) {
329+
/* return -EAGAIN when connecting or reconnecting */
330+
rc = -EAGAIN;
331+
if (server->smbd_conn)
332+
rc = smbd_send(server, num_rqst, rqst);
330333
goto smbd_done;
331334
}
332335

0 commit comments

Comments
 (0)