Commit 895ad6f7 authored by Stefan Metzmacher's avatar Stefan Metzmacher Committed by Steve French
Browse files

smb: client: call smbd_destroy() in the same splace as kernel_sock_shutdown()/sock_release()



With commit b0432201 ("smb: client: let destroy_mr_list() keep
smbdirect_mr_io memory if registered") the changes from commit
214bab44 ("cifs: Call MID callback before destroying transport") and
commit 1d2a4f57 ("cifs:smbd When reconnecting to server, call
smbd_destroy() after all MIDs have been called") are no longer needed.

And it's better to use the same logic flow, so that
the chance of smbdirect related problems is smaller.

Fixes: 214bab44 ("cifs: Call MID callback before destroying transport")
Fixes: 1d2a4f57 ("cifs:smbd When reconnecting to server, call smbd_destroy() after all MIDs have been called")
Cc: Steve French <smfrench@gmail.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Long Li <longli@microsoft.com>
Cc: Namjae Jeon <linkinjeon@kernel.org>
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Signed-off-by: default avatarStefan Metzmacher <metze@samba.org>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent fac56c46
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -310,6 +310,8 @@ cifs_abort_connection(struct TCP_Server_Info *server)
			 server->ssocket->flags);
		sock_release(server->ssocket);
		server->ssocket = NULL;
	} else if (cifs_rdma_enabled(server)) {
		smbd_destroy(server);
	}
	server->sequence_number = 0;
	server->session_estab = false;
@@ -338,12 +340,6 @@ cifs_abort_connection(struct TCP_Server_Info *server)
		mid_execute_callback(mid);
		release_mid(mid);
	}

	if (cifs_rdma_enabled(server)) {
		cifs_server_lock(server);
		smbd_destroy(server);
		cifs_server_unlock(server);
	}
}

static bool cifs_tcp_ses_needs_reconnect(struct TCP_Server_Info *server, int num_targets)