Lines Matching refs:server

53 AllocMidQEntry(const struct smb_hdr *smb_buffer, struct TCP_Server_Info *server)  in AllocMidQEntry()  argument
57 if (server == NULL) { in AllocMidQEntry()
72 temp->server = server; in AllocMidQEntry()
105 __le16 command = midEntry->server->vals->lock_cmd; in DeleteMidQEntry()
123 cifs_stats_inc(&midEntry->server->smb2slowcmd[le16_to_cpu(midEntry->command)]); in DeleteMidQEntry()
162 smb_send_kvec(struct TCP_Server_Info *server, struct msghdr *smb_msg, in smb_send_kvec() argument
167 struct socket *ssocket = server->ssocket; in smb_send_kvec()
171 smb_msg->msg_name = (struct sockaddr *) &server->dstaddr; in smb_send_kvec()
175 if (server->noblocksnd) in smb_send_kvec()
203 (!server->noblocksnd && (retries > 2))) { in smb_send_kvec()
231 smb_rqst_len(struct TCP_Server_Info *server, struct smb_rqst *rqst) in smb_rqst_len() argument
238 if (server->vals->header_preamble_size == 0 && in smb_rqst_len()
275 __smb_send_rqst(struct TCP_Server_Info *server, int num_rqst, in __smb_send_rqst() argument
284 struct socket *ssocket = server->ssocket; in __smb_send_rqst()
289 if (cifs_rdma_enabled(server) && server->smbd_conn) { in __smb_send_rqst()
290 rc = smbd_send(server, rqst); in __smb_send_rqst()
301 send_length += smb_rqst_len(server, &rqst[j]); in __smb_send_rqst()
305 if (server->vals->header_preamble_size == 0) { in __smb_send_rqst()
312 rc = smb_send_kvec(server, &smb_msg, &sent); in __smb_send_rqst()
335 rc = smb_send_kvec(server, &smb_msg, &sent); in __smb_send_rqst()
351 rc = smb_send_kvec(server, &smb_msg, &sent); in __smb_send_rqst()
373 server->tcpStatus = CifsNeedReconnect; in __smb_send_rqst()
374 trace_smb3_partial_send_reconnect(server->CurrentMid, in __smb_send_rqst()
375 server->hostname); in __smb_send_rqst()
388 smb_send_rqst(struct TCP_Server_Info *server, int num_rqst, in smb_send_rqst() argument
397 return __smb_send_rqst(server, num_rqst, rqst); in smb_send_rqst()
411 if (!server->ops->init_transform_rq) { in smb_send_rqst()
417 rc = server->ops->init_transform_rq(server, num_rqst + 1, in smb_send_rqst()
422 rc = __smb_send_rqst(server, num_rqst + 1, &cur_rqst[0]); in smb_send_rqst()
428 smb_send(struct TCP_Server_Info *server, struct smb_hdr *smb_buffer, in smb_send() argument
440 return __smb_send_rqst(server, 1, &rqst); in smb_send()
444 wait_for_free_credits(struct TCP_Server_Info *server, const int timeout, in wait_for_free_credits() argument
449 spin_lock(&server->req_lock); in wait_for_free_credits()
452 server->in_flight++; in wait_for_free_credits()
454 spin_unlock(&server->req_lock); in wait_for_free_credits()
460 spin_unlock(&server->req_lock); in wait_for_free_credits()
461 cifs_num_waiters_inc(server); in wait_for_free_credits()
462 rc = wait_event_killable(server->request_q, in wait_for_free_credits()
463 has_credits(server, credits)); in wait_for_free_credits()
464 cifs_num_waiters_dec(server); in wait_for_free_credits()
467 spin_lock(&server->req_lock); in wait_for_free_credits()
469 if (server->tcpStatus == CifsExiting) { in wait_for_free_credits()
470 spin_unlock(&server->req_lock); in wait_for_free_credits()
482 server->in_flight++; in wait_for_free_credits()
484 spin_unlock(&server->req_lock); in wait_for_free_credits()
492 wait_for_free_request(struct TCP_Server_Info *server, const int timeout, in wait_for_free_request() argument
497 val = server->ops->get_credits_field(server, optype); in wait_for_free_request()
501 return wait_for_free_credits(server, timeout, val); in wait_for_free_request()
505 cifs_wait_mtu_credits(struct TCP_Server_Info *server, unsigned int size, in cifs_wait_mtu_credits() argument
516 if (ses->server->tcpStatus == CifsExiting) { in allocate_mid()
520 if (ses->server->tcpStatus == CifsNeedReconnect) { in allocate_mid()
539 *ppmidQ = AllocMidQEntry(in_buf, ses->server); in allocate_mid()
543 list_add_tail(&(*ppmidQ)->qhead, &ses->server->pending_mid_q); in allocate_mid()
549 wait_for_response(struct TCP_Server_Info *server, struct mid_q_entry *midQ) in wait_for_response() argument
553 error = wait_event_freezekillable_unsafe(server->response_q, in wait_for_response()
562 cifs_setup_async_request(struct TCP_Server_Info *server, struct smb_rqst *rqst) in cifs_setup_async_request() argument
573 if (server->sign) in cifs_setup_async_request()
576 mid = AllocMidQEntry(hdr, server); in cifs_setup_async_request()
580 rc = cifs_sign_rqst(rqst, server, &mid->sequence_number); in cifs_setup_async_request()
594 cifs_call_async(struct TCP_Server_Info *server, struct smb_rqst *rqst, in cifs_call_async() argument
606 rc = wait_for_free_request(server, timeout, optype); in cifs_call_async()
612 mutex_lock(&server->srv_mutex); in cifs_call_async()
613 mid = server->ops->setup_async_request(server, rqst); in cifs_call_async()
615 mutex_unlock(&server->srv_mutex); in cifs_call_async()
616 add_credits_and_wake_if(server, credits, optype); in cifs_call_async()
628 list_add_tail(&mid->qhead, &server->pending_mid_q); in cifs_call_async()
636 cifs_in_send_inc(server); in cifs_call_async()
637 rc = smb_send_rqst(server, 1, rqst, flags); in cifs_call_async()
638 cifs_in_send_dec(server); in cifs_call_async()
641 server->sequence_number -= 2; in cifs_call_async()
645 mutex_unlock(&server->srv_mutex); in cifs_call_async()
650 add_credits_and_wake_if(server, credits, optype); in cifs_call_async()
682 cifs_sync_mid_result(struct mid_q_entry *mid, struct TCP_Server_Info *server) in cifs_sync_mid_result() argument
716 send_cancel(struct TCP_Server_Info *server, struct smb_rqst *rqst, in send_cancel() argument
719 return server->ops->send_cancel ? in send_cancel()
720 server->ops->send_cancel(server, rqst, mid) : 0; in send_cancel()
724 cifs_check_receive(struct mid_q_entry *mid, struct TCP_Server_Info *server, in cifs_check_receive() argument
732 if (server->sign) { in cifs_check_receive()
743 rc = cifs_verify_signature(&rqst, server, in cifs_check_receive()
768 rc = cifs_sign_rqst(rqst, ses->server, &mid->sequence_number); in cifs_setup_request()
798 if ((ses == NULL) || (ses->server == NULL)) { in compound_send_recv()
803 if (ses->server->tcpStatus == CifsExiting) in compound_send_recv()
811 rc = wait_for_free_request(ses->server, timeout, optype); in compound_send_recv()
821 mutex_lock(&ses->server->srv_mutex); in compound_send_recv()
824 midQ[i] = ses->server->ops->setup_request(ses, &rqst[i]); in compound_send_recv()
828 mutex_unlock(&ses->server->srv_mutex); in compound_send_recv()
830 add_credits(ses->server, 1, optype); in compound_send_recv()
842 cifs_in_send_inc(ses->server); in compound_send_recv()
843 rc = smb_send_rqst(ses->server, num_rqst, rqst, flags); in compound_send_recv()
844 cifs_in_send_dec(ses->server); in compound_send_recv()
850 ses->server->sequence_number -= 2; in compound_send_recv()
852 mutex_unlock(&ses->server->srv_mutex); in compound_send_recv()
865 rc = wait_for_response(ses->server, midQ[i]); in compound_send_recv()
869 send_cancel(ses->server, &rqst[i], midQ[i]); in compound_send_recv()
875 add_credits(ses->server, 1, optype); in compound_send_recv()
881 rc = cifs_sync_mid_result(midQ[i], ses->server); in compound_send_recv()
883 add_credits(ses->server, 1, optype); in compound_send_recv()
897 ses->server->vals->header_preamble_size; in compound_send_recv()
912 credits = ses->server->ops->get_credits(midQ[i]); in compound_send_recv()
914 rc = ses->server->ops->check_receive(midQ[i], ses->server, in compound_send_recv()
930 add_credits(ses->server, credits, optype); in compound_send_recv()
997 if (ses->server == NULL) { in SendReceive()
1002 if (ses->server->tcpStatus == CifsExiting) in SendReceive()
1015 rc = wait_for_free_request(ses->server, timeout, 0); in SendReceive()
1023 mutex_lock(&ses->server->srv_mutex); in SendReceive()
1027 mutex_unlock(&ses->server->srv_mutex); in SendReceive()
1029 add_credits(ses->server, 1, 0); in SendReceive()
1033 rc = cifs_sign_smb(in_buf, ses->server, &midQ->sequence_number); in SendReceive()
1035 mutex_unlock(&ses->server->srv_mutex); in SendReceive()
1041 cifs_in_send_inc(ses->server); in SendReceive()
1042 rc = smb_send(ses->server, in_buf, len); in SendReceive()
1043 cifs_in_send_dec(ses->server); in SendReceive()
1047 ses->server->sequence_number -= 2; in SendReceive()
1049 mutex_unlock(&ses->server->srv_mutex); in SendReceive()
1057 rc = wait_for_response(ses->server, midQ); in SendReceive()
1059 send_cancel(ses->server, &rqst, midQ); in SendReceive()
1065 add_credits(ses->server, 1, 0); in SendReceive()
1071 rc = cifs_sync_mid_result(midQ, ses->server); in SendReceive()
1073 add_credits(ses->server, 1, 0); in SendReceive()
1086 rc = cifs_check_receive(midQ, ses->server, 0); in SendReceive()
1089 add_credits(ses->server, 1, 0); in SendReceive()
1113 pSMB->hdr.Mid = get_next_mid(ses->server); in send_lock_cancel()
1138 if (ses->server == NULL) { in SendReceiveBlockingLock()
1143 if (ses->server->tcpStatus == CifsExiting) in SendReceiveBlockingLock()
1156 rc = wait_for_free_request(ses->server, CIFS_BLOCKING_OP, 0); in SendReceiveBlockingLock()
1164 mutex_lock(&ses->server->srv_mutex); in SendReceiveBlockingLock()
1168 mutex_unlock(&ses->server->srv_mutex); in SendReceiveBlockingLock()
1172 rc = cifs_sign_smb(in_buf, ses->server, &midQ->sequence_number); in SendReceiveBlockingLock()
1175 mutex_unlock(&ses->server->srv_mutex); in SendReceiveBlockingLock()
1180 cifs_in_send_inc(ses->server); in SendReceiveBlockingLock()
1181 rc = smb_send(ses->server, in_buf, len); in SendReceiveBlockingLock()
1182 cifs_in_send_dec(ses->server); in SendReceiveBlockingLock()
1186 ses->server->sequence_number -= 2; in SendReceiveBlockingLock()
1188 mutex_unlock(&ses->server->srv_mutex); in SendReceiveBlockingLock()
1196 rc = wait_event_interruptible(ses->server->response_q, in SendReceiveBlockingLock()
1198 ((ses->server->tcpStatus != CifsGood) && in SendReceiveBlockingLock()
1199 (ses->server->tcpStatus != CifsNew))); in SendReceiveBlockingLock()
1204 ((ses->server->tcpStatus == CifsGood) || in SendReceiveBlockingLock()
1205 (ses->server->tcpStatus == CifsNew))) { in SendReceiveBlockingLock()
1210 rc = send_cancel(ses->server, &rqst, midQ); in SendReceiveBlockingLock()
1229 rc = wait_for_response(ses->server, midQ); in SendReceiveBlockingLock()
1231 send_cancel(ses->server, &rqst, midQ); in SendReceiveBlockingLock()
1246 rc = cifs_sync_mid_result(midQ, ses->server); in SendReceiveBlockingLock()
1259 rc = cifs_check_receive(midQ, ses->server, 0); in SendReceiveBlockingLock()