Lines Matching refs:server

313 static int ip_connect(struct TCP_Server_Info *server);
314 static int generic_ip_connect(struct TCP_Server_Info *server);
329 cifs_reconnect(struct TCP_Server_Info *server) in cifs_reconnect() argument
339 if (server->tcpStatus == CifsExiting) { in cifs_reconnect()
345 server->tcpStatus = CifsNeedReconnect; in cifs_reconnect()
347 server->maxBuf = 0; in cifs_reconnect()
348 server->max_read = 0; in cifs_reconnect()
351 trace_smb3_reconnect(server->CurrentMid, server->hostname); in cifs_reconnect()
358 list_for_each(tmp, &server->smb_ses_list) { in cifs_reconnect()
372 mutex_lock(&server->srv_mutex); in cifs_reconnect()
373 if (server->ssocket) { in cifs_reconnect()
375 server->ssocket->state, server->ssocket->flags); in cifs_reconnect()
376 kernel_sock_shutdown(server->ssocket, SHUT_WR); in cifs_reconnect()
378 server->ssocket->state, server->ssocket->flags); in cifs_reconnect()
379 sock_release(server->ssocket); in cifs_reconnect()
380 server->ssocket = NULL; in cifs_reconnect()
382 server->sequence_number = 0; in cifs_reconnect()
383 server->session_estab = false; in cifs_reconnect()
384 kfree(server->session_key.response); in cifs_reconnect()
385 server->session_key.response = NULL; in cifs_reconnect()
386 server->session_key.len = 0; in cifs_reconnect()
387 server->lstrp = jiffies; in cifs_reconnect()
393 list_for_each_safe(tmp, tmp2, &server->pending_mid_q) { in cifs_reconnect()
400 mutex_unlock(&server->srv_mutex); in cifs_reconnect()
413 mutex_lock(&server->srv_mutex); in cifs_reconnect()
414 if (cifs_rdma_enabled(server)) in cifs_reconnect()
415 rc = smbd_reconnect(server); in cifs_reconnect()
417 rc = generic_ip_connect(server); in cifs_reconnect()
420 mutex_unlock(&server->srv_mutex); in cifs_reconnect()
425 if (server->tcpStatus != CifsExiting) in cifs_reconnect()
426 server->tcpStatus = CifsNeedNegotiate; in cifs_reconnect()
428 mutex_unlock(&server->srv_mutex); in cifs_reconnect()
430 } while (server->tcpStatus == CifsNeedReconnect); in cifs_reconnect()
432 if (server->tcpStatus == CifsNeedNegotiate) in cifs_reconnect()
433 mod_delayed_work(cifsiod_wq, &server->echo, 0); in cifs_reconnect()
442 struct TCP_Server_Info *server = container_of(work, in cifs_echo_request() local
450 if (server->tcpStatus == CifsNeedNegotiate) in cifs_echo_request()
453 echo_interval = server->echo_interval; in cifs_echo_request()
460 if (server->tcpStatus == CifsNeedReconnect || in cifs_echo_request()
461 server->tcpStatus == CifsExiting || in cifs_echo_request()
462 server->tcpStatus == CifsNew || in cifs_echo_request()
463 (server->ops->can_echo && !server->ops->can_echo(server)) || in cifs_echo_request()
464 time_before(jiffies, server->lstrp + echo_interval - HZ)) in cifs_echo_request()
467 rc = server->ops->echo ? server->ops->echo(server) : -ENOSYS; in cifs_echo_request()
470 server->hostname); in cifs_echo_request()
473 queue_delayed_work(cifsiod_wq, &server->echo, server->echo_interval); in cifs_echo_request()
477 allocate_buffers(struct TCP_Server_Info *server) in allocate_buffers() argument
479 if (!server->bigbuf) { in allocate_buffers()
480 server->bigbuf = (char *)cifs_buf_get(); in allocate_buffers()
481 if (!server->bigbuf) { in allocate_buffers()
487 } else if (server->large_buf) { in allocate_buffers()
489 memset(server->bigbuf, 0, HEADER_SIZE(server)); in allocate_buffers()
492 if (!server->smallbuf) { in allocate_buffers()
493 server->smallbuf = (char *)cifs_small_buf_get(); in allocate_buffers()
494 if (!server->smallbuf) { in allocate_buffers()
503 memset(server->smallbuf, 0, HEADER_SIZE(server)); in allocate_buffers()
510 server_unresponsive(struct TCP_Server_Info *server) in server_unresponsive() argument
523 if ((server->tcpStatus == CifsGood || in server_unresponsive()
524 server->tcpStatus == CifsNeedNegotiate) && in server_unresponsive()
525 time_after(jiffies, server->lstrp + 2 * server->echo_interval)) { in server_unresponsive()
527 server->hostname, (2 * server->echo_interval) / HZ); in server_unresponsive()
528 cifs_reconnect(server); in server_unresponsive()
529 wake_up(&server->response_q); in server_unresponsive()
537 cifs_readv_from_socket(struct TCP_Server_Info *server, struct msghdr *smb_msg) in cifs_readv_from_socket() argument
548 if (server_unresponsive(server)) in cifs_readv_from_socket()
550 if (cifs_rdma_enabled(server) && server->smbd_conn) in cifs_readv_from_socket()
551 length = smbd_recv(server->smbd_conn, smb_msg); in cifs_readv_from_socket()
553 length = sock_recvmsg(server->ssocket, smb_msg, 0); in cifs_readv_from_socket()
555 if (server->tcpStatus == CifsExiting) in cifs_readv_from_socket()
558 if (server->tcpStatus == CifsNeedReconnect) { in cifs_readv_from_socket()
559 cifs_reconnect(server); in cifs_readv_from_socket()
578 cifs_reconnect(server); in cifs_readv_from_socket()
586 cifs_read_from_socket(struct TCP_Server_Info *server, char *buf, in cifs_read_from_socket() argument
593 return cifs_readv_from_socket(server, &smb_msg); in cifs_read_from_socket()
597 cifs_read_page_from_socket(struct TCP_Server_Info *server, struct page *page, in cifs_read_page_from_socket() argument
604 return cifs_readv_from_socket(server, &smb_msg); in cifs_read_page_from_socket()
608 is_smb_response(struct TCP_Server_Info *server, unsigned char type) in is_smb_response() argument
639 cifs_set_port((struct sockaddr *)&server->dstaddr, CIFS_PORT); in is_smb_response()
640 cifs_reconnect(server); in is_smb_response()
641 wake_up(&server->response_q); in is_smb_response()
645 cifs_reconnect(server); in is_smb_response()
675 handle_mid(struct mid_q_entry *mid, struct TCP_Server_Info *server, in handle_mid() argument
678 if (server->ops->check_trans2 && in handle_mid()
679 server->ops->check_trans2(mid, server, buf, malformed)) in handle_mid()
682 mid->large_buf = server->large_buf; in handle_mid()
686 if (server->large_buf) in handle_mid()
687 server->bigbuf = NULL; in handle_mid()
689 server->smallbuf = NULL; in handle_mid()
694 static void clean_demultiplex_info(struct TCP_Server_Info *server) in clean_demultiplex_info() argument
700 list_del_init(&server->tcp_ses_list); in clean_demultiplex_info()
704 server->tcpStatus = CifsExiting; in clean_demultiplex_info()
706 wake_up_all(&server->response_q); in clean_demultiplex_info()
709 spin_lock(&server->req_lock); in clean_demultiplex_info()
710 if (server->credits <= 0) in clean_demultiplex_info()
711 server->credits = 1; in clean_demultiplex_info()
712 spin_unlock(&server->req_lock); in clean_demultiplex_info()
720 wake_up_all(&server->request_q); in clean_demultiplex_info()
723 if (cifs_rdma_enabled(server) && server->smbd_conn) { in clean_demultiplex_info()
724 smbd_destroy(server->smbd_conn); in clean_demultiplex_info()
725 server->smbd_conn = NULL; in clean_demultiplex_info()
727 if (server->ssocket) { in clean_demultiplex_info()
728 sock_release(server->ssocket); in clean_demultiplex_info()
729 server->ssocket = NULL; in clean_demultiplex_info()
732 if (!list_empty(&server->pending_mid_q)) { in clean_demultiplex_info()
739 list_for_each_safe(tmp, tmp2, &server->pending_mid_q) { in clean_demultiplex_info()
758 if (!list_empty(&server->pending_mid_q)) { in clean_demultiplex_info()
775 kfree(server->hostname); in clean_demultiplex_info()
776 kfree(server); in clean_demultiplex_info()
784 standard_receive3(struct TCP_Server_Info *server, struct mid_q_entry *mid) in standard_receive3() argument
787 char *buf = server->smallbuf; in standard_receive3()
788 unsigned int pdu_length = server->pdu_size; in standard_receive3()
791 if (pdu_length > CIFSMaxBufSize + MAX_HEADER_SIZE(server) - in standard_receive3()
792 server->vals->header_preamble_size) { in standard_receive3()
794 cifs_reconnect(server); in standard_receive3()
795 wake_up(&server->response_q); in standard_receive3()
801 server->large_buf = true; in standard_receive3()
802 memcpy(server->bigbuf, buf, server->total_read); in standard_receive3()
803 buf = server->bigbuf; in standard_receive3()
807 length = cifs_read_from_socket(server, buf + HEADER_SIZE(server) - 1, in standard_receive3()
808 pdu_length - HEADER_SIZE(server) + 1 in standard_receive3()
809 + server->vals->header_preamble_size); in standard_receive3()
813 server->total_read += length; in standard_receive3()
815 dump_smb(buf, server->total_read); in standard_receive3()
817 return cifs_handle_standard(server, mid); in standard_receive3()
821 cifs_handle_standard(struct TCP_Server_Info *server, struct mid_q_entry *mid) in cifs_handle_standard() argument
823 char *buf = server->large_buf ? server->bigbuf : server->smallbuf; in cifs_handle_standard()
835 length = server->ops->check_message(buf, server->total_read, server); in cifs_handle_standard()
838 min_t(unsigned int, server->total_read, 48)); in cifs_handle_standard()
840 if (server->ops->is_session_expired && in cifs_handle_standard()
841 server->ops->is_session_expired(buf)) { in cifs_handle_standard()
842 cifs_reconnect(server); in cifs_handle_standard()
843 wake_up(&server->response_q); in cifs_handle_standard()
847 if (server->ops->is_status_pending && in cifs_handle_standard()
848 server->ops->is_status_pending(buf, server, length)) in cifs_handle_standard()
854 handle_mid(mid, server, buf, length); in cifs_handle_standard()
862 struct TCP_Server_Info *server = p; in cifs_demultiplex_thread() local
878 while (server->tcpStatus != CifsExiting) { in cifs_demultiplex_thread()
882 if (!allocate_buffers(server)) in cifs_demultiplex_thread()
885 server->large_buf = false; in cifs_demultiplex_thread()
886 buf = server->smallbuf; in cifs_demultiplex_thread()
889 length = cifs_read_from_socket(server, buf, pdu_length); in cifs_demultiplex_thread()
893 if (server->vals->header_preamble_size == 0) in cifs_demultiplex_thread()
894 server->total_read = 0; in cifs_demultiplex_thread()
896 server->total_read = length; in cifs_demultiplex_thread()
905 if (!is_smb_response(server, buf[0])) in cifs_demultiplex_thread()
908 server->pdu_size = pdu_length; in cifs_demultiplex_thread()
911 if (server->pdu_size < HEADER_SIZE(server) - 1 - in cifs_demultiplex_thread()
912 server->vals->header_preamble_size) { in cifs_demultiplex_thread()
914 server->pdu_size); in cifs_demultiplex_thread()
915 cifs_reconnect(server); in cifs_demultiplex_thread()
916 wake_up(&server->response_q); in cifs_demultiplex_thread()
921 length = cifs_read_from_socket(server, in cifs_demultiplex_thread()
922 buf + server->vals->header_preamble_size, in cifs_demultiplex_thread()
923 HEADER_SIZE(server) - 1 in cifs_demultiplex_thread()
924 - server->vals->header_preamble_size); in cifs_demultiplex_thread()
927 server->total_read += length; in cifs_demultiplex_thread()
929 if (server->ops->next_header) { in cifs_demultiplex_thread()
930 next_offset = server->ops->next_header(buf); in cifs_demultiplex_thread()
932 server->pdu_size = next_offset; in cifs_demultiplex_thread()
939 if (server->ops->is_transform_hdr && in cifs_demultiplex_thread()
940 server->ops->receive_transform && in cifs_demultiplex_thread()
941 server->ops->is_transform_hdr(buf)) { in cifs_demultiplex_thread()
942 length = server->ops->receive_transform(server, in cifs_demultiplex_thread()
947 mids[0] = server->ops->find_mid(server, buf); in cifs_demultiplex_thread()
952 length = standard_receive3(server, mids[0]); in cifs_demultiplex_thread()
954 length = mids[0]->receive(server, mids[0]); in cifs_demultiplex_thread()
964 if (server->large_buf) in cifs_demultiplex_thread()
965 buf = server->bigbuf; in cifs_demultiplex_thread()
968 server->lstrp = jiffies; in cifs_demultiplex_thread()
972 mids[i]->resp_buf_size = server->pdu_size; in cifs_demultiplex_thread()
975 server->ops->handle_cancelled_mid) in cifs_demultiplex_thread()
976 server->ops->handle_cancelled_mid( in cifs_demultiplex_thread()
978 server); in cifs_demultiplex_thread()
984 } else if (server->ops->is_oplock_break && in cifs_demultiplex_thread()
985 server->ops->is_oplock_break(bufs[i], in cifs_demultiplex_thread()
986 server)) { in cifs_demultiplex_thread()
993 HEADER_SIZE(server)); in cifs_demultiplex_thread()
995 if (server->ops->dump_detail) in cifs_demultiplex_thread()
996 server->ops->dump_detail(bufs[i], in cifs_demultiplex_thread()
997 server); in cifs_demultiplex_thread()
998 cifs_dump_mids(server); in cifs_demultiplex_thread()
1003 if (pdu_length > server->pdu_size) { in cifs_demultiplex_thread()
1004 if (!allocate_buffers(server)) in cifs_demultiplex_thread()
1006 pdu_length -= server->pdu_size; in cifs_demultiplex_thread()
1007 server->total_read = 0; in cifs_demultiplex_thread()
1008 server->large_buf = false; in cifs_demultiplex_thread()
1009 buf = server->smallbuf; in cifs_demultiplex_thread()
1015 cifs_buf_release(server->bigbuf); in cifs_demultiplex_thread()
1016 if (server->smallbuf) /* no sense logging a debug message if NULL */ in cifs_demultiplex_thread()
1017 cifs_small_buf_release(server->smallbuf); in cifs_demultiplex_thread()
1019 task_to_wake = xchg(&server->tsk, NULL); in cifs_demultiplex_thread()
1020 clean_demultiplex_info(server); in cifs_demultiplex_thread()
2169 match_port(struct TCP_Server_Info *server, struct sockaddr *addr) in match_port() argument
2175 sport = &((struct sockaddr_in *) &server->dstaddr)->sin_port; in match_port()
2179 sport = &((struct sockaddr_in6 *) &server->dstaddr)->sin6_port; in match_port()
2199 match_address(struct TCP_Server_Info *server, struct sockaddr *addr, in match_address() argument
2206 (struct sockaddr_in *)&server->dstaddr; in match_address()
2215 (struct sockaddr_in6 *)&server->dstaddr; in match_address()
2229 if (!srcip_matches(srcaddr, (struct sockaddr *)&server->srcaddr)) in match_address()
2236 match_security(struct TCP_Server_Info *server, struct smb_vol *vol) in match_security() argument
2243 if (server->ops->select_sectype(server, vol->sectype) in match_security()
2252 if (vol->sign && !server->sign) in match_security()
2258 static int match_server(struct TCP_Server_Info *server, struct smb_vol *vol) in match_server() argument
2266 if ((server->vals != vol->vals) || (server->ops != vol->ops)) in match_server()
2269 if (!net_eq(cifs_net_ns(server), current->nsproxy->net_ns)) in match_server()
2272 if (!match_address(server, addr, in match_server()
2276 if (!match_port(server, addr)) in match_server()
2279 if (!match_security(server, vol)) in match_server()
2282 if (server->echo_interval != vol->echo_interval * HZ) in match_server()
2285 if (server->rdma != vol->rdma) in match_server()
2294 struct TCP_Server_Info *server; in cifs_find_tcp_session() local
2297 list_for_each_entry(server, &cifs_tcp_ses_list, tcp_ses_list) { in cifs_find_tcp_session()
2298 if (!match_server(server, vol)) in cifs_find_tcp_session()
2301 ++server->srv_count; in cifs_find_tcp_session()
2304 return server; in cifs_find_tcp_session()
2311 cifs_put_tcp_session(struct TCP_Server_Info *server, int from_reconnect) in cifs_put_tcp_session() argument
2316 if (--server->srv_count > 0) { in cifs_put_tcp_session()
2321 put_net(cifs_net_ns(server)); in cifs_put_tcp_session()
2323 list_del_init(&server->tcp_ses_list); in cifs_put_tcp_session()
2326 cancel_delayed_work_sync(&server->echo); in cifs_put_tcp_session()
2335 cancel_delayed_work(&server->reconnect); in cifs_put_tcp_session()
2337 cancel_delayed_work_sync(&server->reconnect); in cifs_put_tcp_session()
2340 server->tcpStatus = CifsExiting; in cifs_put_tcp_session()
2343 cifs_crypto_secmech_release(server); in cifs_put_tcp_session()
2344 cifs_fscache_release_client_cookie(server); in cifs_put_tcp_session()
2346 kfree(server->session_key.response); in cifs_put_tcp_session()
2347 server->session_key.response = NULL; in cifs_put_tcp_session()
2348 server->session_key.len = 0; in cifs_put_tcp_session()
2350 task = xchg(&server->tsk, NULL); in cifs_put_tcp_session()
2544 if (ses->server->capabilities & SMB2_GLOBAL_CAP_ENCRYPTION) in cifs_setup_ipc()
2557 snprintf(unc, sizeof(unc), "\\\\%s\\IPC$", ses->server->hostname); in cifs_setup_ipc()
2566 rc = ses->server->ops->tree_connect(xid, ses, unc, tcon, nls_codepage); in cifs_setup_ipc()
2597 if (ses->server->ops->tree_disconnect) { in cifs_free_ipc()
2599 rc = ses->server->ops->tree_disconnect(xid, tcon); in cifs_free_ipc()
2612 cifs_find_smb_ses(struct TCP_Server_Info *server, struct smb_vol *vol) in cifs_find_smb_ses() argument
2617 list_for_each_entry(ses, &server->smb_ses_list, smb_ses_list) { in cifs_find_smb_ses()
2634 struct TCP_Server_Info *server = ses->server; in cifs_put_smb_ses() local
2653 if (ses->status == CifsExiting && server->ops->logoff) { in cifs_put_smb_ses()
2655 rc = server->ops->logoff(xid, ses); in cifs_put_smb_ses()
2667 cifs_put_tcp_session(server, 0); in cifs_put_smb_ses()
2684 struct TCP_Server_Info *server = ses->server; in cifs_set_cifscreds() local
2694 switch (server->dstaddr.ss_family) { in cifs_set_cifscreds()
2696 sa = (struct sockaddr_in *)&server->dstaddr; in cifs_set_cifscreds()
2700 sa6 = (struct sockaddr_in6 *)&server->dstaddr; in cifs_set_cifscreds()
2705 server->dstaddr.ss_family); in cifs_set_cifscreds()
2809 cifs_get_smb_ses(struct TCP_Server_Info *server, struct smb_vol *volume_info) in cifs_get_smb_ses() argument
2814 struct sockaddr_in *addr = (struct sockaddr_in *)&server->dstaddr; in cifs_get_smb_ses()
2815 struct sockaddr_in6 *addr6 = (struct sockaddr_in6 *)&server->dstaddr; in cifs_get_smb_ses()
2819 ses = cifs_find_smb_ses(server, volume_info); in cifs_get_smb_ses()
2848 cifs_put_tcp_session(server, 0); in cifs_get_smb_ses()
2859 ses->server = server; in cifs_get_smb_ses()
2860 if (server->dstaddr.ss_family == AF_INET6) in cifs_get_smb_ses()
2900 list_add(&ses->smb_ses_list, &server->smb_ses_list); in cifs_get_smb_ses()
2972 if (ses->server->ops->tree_disconnect) in cifs_put_tcon()
2973 ses->server->ops->tree_disconnect(xid, tcon); in cifs_put_tcon()
3018 if (!ses->server->ops->tree_connect) { in cifs_get_tcon()
3030 if (ses->server->vals->protocol_id == 0) { in cifs_get_tcon()
3049 if (ses->server->vals->protocol_id == 0) { in cifs_get_tcon()
3054 } else if (tcon->ses->server->capabilities & in cifs_get_tcon()
3065 if (ses->server->posix_ext_supported) { in cifs_get_tcon()
3081 rc = ses->server->ops->tree_connect(xid, ses, volume_info->UNC, tcon, in cifs_get_tcon()
3095 if (ses->server->vals->protocol_id == 0) { in cifs_get_tcon()
3100 } else if (ses->server->capabilities & in cifs_get_tcon()
3110 && (ses->server->capabilities & SMB2_GLOBAL_CAP_PERSISTENT_HANDLES) in cifs_get_tcon()
3115 if (ses->server->vals->protocol_id == 0) { in cifs_get_tcon()
3242 tcp_srv = ses->server; in cifs_match_super()
3268 if (!ses->server->ops->get_dfs_refer) in get_dfs_path()
3274 rc = ses->server->ops->get_dfs_refer(xid, ses, old_path, in get_dfs_path()
3328 bind_socket(struct TCP_Server_Info *server) in bind_socket() argument
3331 if (server->srcaddr.ss_family != AF_UNSPEC) { in bind_socket()
3333 struct socket *socket = server->ssocket; in bind_socket()
3335 (struct sockaddr *) &server->srcaddr, in bind_socket()
3336 sizeof(server->srcaddr)); in bind_socket()
3340 saddr4 = (struct sockaddr_in *)&server->srcaddr; in bind_socket()
3341 saddr6 = (struct sockaddr_in6 *)&server->srcaddr; in bind_socket()
3354 ip_rfc1001_connect(struct TCP_Server_Info *server) in ip_rfc1001_connect() argument
3369 if (server->server_RFC1001_name[0] != 0) in ip_rfc1001_connect()
3372 server->server_RFC1001_name, in ip_rfc1001_connect()
3386 if (server->workstation_RFC1001_name[0] != 0) in ip_rfc1001_connect()
3389 server->workstation_RFC1001_name, in ip_rfc1001_connect()
3403 rc = smb_send(server, smb_buf, 0x44); in ip_rfc1001_connect()
3426 generic_ip_connect(struct TCP_Server_Info *server) in generic_ip_connect() argument
3431 struct socket *socket = server->ssocket; in generic_ip_connect()
3434 saddr = (struct sockaddr *) &server->dstaddr; in generic_ip_connect()
3436 if (server->dstaddr.ss_family == AF_INET6) { in generic_ip_connect()
3447 rc = __sock_create(cifs_net_ns(server), sfamily, SOCK_STREAM, in generic_ip_connect()
3451 server->ssocket = NULL; in generic_ip_connect()
3457 server->ssocket = socket; in generic_ip_connect()
3465 rc = bind_socket(server); in generic_ip_connect()
3478 if (server->noautotune) { in generic_ip_connect()
3485 if (server->tcp_nodelay) { in generic_ip_connect()
3502 server->ssocket = NULL; in generic_ip_connect()
3507 rc = ip_rfc1001_connect(server); in generic_ip_connect()
3513 ip_connect(struct TCP_Server_Info *server) in ip_connect() argument
3516 struct sockaddr_in6 *addr6 = (struct sockaddr_in6 *)&server->dstaddr; in ip_connect()
3517 struct sockaddr_in *addr = (struct sockaddr_in *)&server->dstaddr; in ip_connect()
3519 if (server->dstaddr.ss_family == AF_INET6) in ip_connect()
3530 rc = generic_ip_connect(server); in ip_connect()
3538 return generic_ip_connect(server); in ip_connect()
3917 cifs_are_all_path_components_accessible(struct TCP_Server_Info *server, in cifs_are_all_path_components_accessible() argument
3930 rc = server->ops->is_path_accessible(xid, tcon, cifs_sb, ""); in cifs_are_all_path_components_accessible()
3947 rc = server->ops->is_path_accessible(xid, tcon, cifs_sb, in cifs_are_all_path_components_accessible()
3961 struct TCP_Server_Info *server; in cifs_mount() local
3985 server = NULL; in cifs_mount()
3992 server = cifs_get_tcp_session(volume_info); in cifs_mount()
3993 if (IS_ERR(server)) { in cifs_mount()
3994 rc = PTR_ERR(server); in cifs_mount()
3999 server->max_credits = SMB2_MAX_CREDITS_AVAILABLE; in cifs_mount()
4001 server->max_credits = volume_info->max_credits; in cifs_mount()
4003 ses = cifs_get_smb_ses(server, volume_info); in cifs_mount()
4010 if ((volume_info->persistent == true) && ((ses->server->capabilities & in cifs_mount()
4037 if ((tcon->ses->server->tcpStatus == CifsNeedReconnect) && in cifs_mount()
4047 if (!tcon->pipe && server->ops->qfs_tcon) in cifs_mount()
4048 server->ops->qfs_tcon(xid, tcon); in cifs_mount()
4050 cifs_sb->wsize = server->ops->negotiate_wsize(tcon, volume_info); in cifs_mount()
4051 cifs_sb->rsize = server->ops->negotiate_rsize(tcon, volume_info); in cifs_mount()
4074 if (!server->ops->is_path_accessible) { in cifs_mount()
4087 rc = server->ops->is_path_accessible(xid, tcon, cifs_sb, in cifs_mount()
4095 rc = cifs_are_all_path_components_accessible(server, in cifs_mount()
4168 cifs_put_tcp_session(server, 0); in cifs_mount()
4205 smb_buffer->Mid = get_next_mid(ses->server); in CIFSTCon()
4213 if (tcon->pipe || (ses->server->sec_mode & SECMODE_USER)) { in CIFSTCon()
4229 calc_lanman_hash(tcon->password, ses->server->cryptkey, in CIFSTCon()
4230 ses->server->sec_mode & in CIFSTCon()
4235 rc = SMBNTencrypt(tcon->password, ses->server->cryptkey, in CIFSTCon()
4252 if (ses->server->sign) in CIFSTCon()
4377 struct TCP_Server_Info *server = ses->server; in cifs_negotiate_protocol() local
4379 if (!server->ops->need_neg || !server->ops->negotiate) in cifs_negotiate_protocol()
4383 if (!server->ops->need_neg(server)) in cifs_negotiate_protocol()
4386 set_credits(server, 1); in cifs_negotiate_protocol()
4388 rc = server->ops->negotiate(xid, ses); in cifs_negotiate_protocol()
4391 if (server->tcpStatus == CifsNeedNegotiate) in cifs_negotiate_protocol()
4392 server->tcpStatus = CifsGood; in cifs_negotiate_protocol()
4406 struct TCP_Server_Info *server = ses->server; in cifs_setup_session() local
4408 ses->capabilities = server->capabilities; in cifs_setup_session()
4410 ses->capabilities &= (~server->vals->cap_unix); in cifs_setup_session()
4413 server->sec_mode, server->capabilities, server->timeAdj); in cifs_setup_session()
4423 if (server->ops->sess_setup) in cifs_setup_session()
4424 rc = server->ops->sess_setup(xid, ses, nls_info); in cifs_setup_session()
4477 ++master_tcon->ses->server->srv_count; in cifs_construct_tcon()
4480 ses = cifs_get_smb_ses(master_tcon->ses->server, vol_info); in cifs_construct_tcon()
4483 cifs_put_tcp_session(master_tcon->ses->server, 0); in cifs_construct_tcon()