mirror of https://gitee.com/openkylin/linux.git
cifs: call wake_up(&server->response_q) inside of cifs_reconnect()
This means it's consistently called and the callers don't need to care about it. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
bacd704a95
commit
e2e87519bd
|
@ -1602,7 +1602,6 @@ cifs_readv_receive(struct TCP_Server_Info *server, struct mid_q_entry *mid)
|
|||
if (server->ops->is_session_expired &&
|
||||
server->ops->is_session_expired(buf)) {
|
||||
cifs_reconnect(server);
|
||||
wake_up(&server->response_q);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
|
@ -489,6 +489,7 @@ cifs_reconnect(struct TCP_Server_Info *server)
|
|||
dfs_cache_free_tgts(&tgt_list);
|
||||
cifs_put_tcp_super(sb);
|
||||
#endif
|
||||
wake_up(&server->response_q);
|
||||
return rc;
|
||||
} else
|
||||
server->tcpStatus = CifsNeedReconnect;
|
||||
|
@ -623,6 +624,7 @@ cifs_reconnect(struct TCP_Server_Info *server)
|
|||
if (server->tcpStatus == CifsNeedNegotiate)
|
||||
mod_delayed_work(cifsiod_wq, &server->echo, 0);
|
||||
|
||||
wake_up(&server->response_q);
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
@ -717,7 +719,6 @@ server_unresponsive(struct TCP_Server_Info *server)
|
|||
cifs_server_dbg(VFS, "has not responded in %lu seconds. Reconnecting...\n",
|
||||
(3 * server->echo_interval) / HZ);
|
||||
cifs_reconnect(server);
|
||||
wake_up(&server->response_q);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -850,7 +851,6 @@ is_smb_response(struct TCP_Server_Info *server, unsigned char type)
|
|||
*/
|
||||
cifs_set_port((struct sockaddr *)&server->dstaddr, CIFS_PORT);
|
||||
cifs_reconnect(server);
|
||||
wake_up(&server->response_q);
|
||||
break;
|
||||
default:
|
||||
cifs_server_dbg(VFS, "RFC 1002 unknown response type 0x%x\n", type);
|
||||
|
@ -1022,7 +1022,6 @@ standard_receive3(struct TCP_Server_Info *server, struct mid_q_entry *mid)
|
|||
server->vals->header_preamble_size) {
|
||||
cifs_server_dbg(VFS, "SMB response too long (%u bytes)\n", pdu_length);
|
||||
cifs_reconnect(server);
|
||||
wake_up(&server->response_q);
|
||||
return -ECONNABORTED;
|
||||
}
|
||||
|
||||
|
@ -1070,7 +1069,6 @@ cifs_handle_standard(struct TCP_Server_Info *server, struct mid_q_entry *mid)
|
|||
if (server->ops->is_session_expired &&
|
||||
server->ops->is_session_expired(buf)) {
|
||||
cifs_reconnect(server);
|
||||
wake_up(&server->response_q);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -1164,7 +1162,6 @@ cifs_demultiplex_thread(void *p)
|
|||
cifs_server_dbg(VFS, "SMB response too short (%u bytes)\n",
|
||||
server->pdu_size);
|
||||
cifs_reconnect(server);
|
||||
wake_up(&server->response_q);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
|
@ -4151,7 +4151,6 @@ handle_read_data(struct TCP_Server_Info *server, struct mid_q_entry *mid,
|
|||
if (server->ops->is_session_expired &&
|
||||
server->ops->is_session_expired(buf)) {
|
||||
cifs_reconnect(server);
|
||||
wake_up(&server->response_q);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -4515,14 +4514,12 @@ smb3_receive_transform(struct TCP_Server_Info *server,
|
|||
cifs_server_dbg(VFS, "Transform message is too small (%u)\n",
|
||||
pdu_length);
|
||||
cifs_reconnect(server);
|
||||
wake_up(&server->response_q);
|
||||
return -ECONNABORTED;
|
||||
}
|
||||
|
||||
if (pdu_length < orig_len + sizeof(struct smb2_transform_hdr)) {
|
||||
cifs_server_dbg(VFS, "Transform message is broken\n");
|
||||
cifs_reconnect(server);
|
||||
wake_up(&server->response_q);
|
||||
return -ECONNABORTED;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue