Lines Matching refs:server
47 AllocMidQEntry(const struct smb_hdr *smb_buffer, struct TCP_Server_Info *server) in AllocMidQEntry() argument
51 if (server == NULL) { in AllocMidQEntry()
68 temp->server = server; in AllocMidQEntry()
87 __le16 command = midEntry->server->vals->lock_cmd; in DeleteMidQEntry()
135 smb_send_kvec(struct TCP_Server_Info *server, struct kvec *iov, size_t n_vec, in smb_send_kvec() argument
143 struct socket *ssocket = server->ssocket; in smb_send_kvec()
147 smb_msg.msg_name = (struct sockaddr *) &server->dstaddr; in smb_send_kvec()
151 if (server->noblocksnd) in smb_send_kvec()
184 if (i >= 14 || (!server->noblocksnd && (i > 2))) { in smb_send_kvec()
294 smb_send_rqst(struct TCP_Server_Info *server, struct smb_rqst *rqst) in smb_send_rqst() argument
303 struct socket *ssocket = server->ssocket; in smb_send_rqst()
324 rc = smb_send_kvec(server, iov, n_vec, &sent); in smb_send_rqst()
335 rc = smb_send_kvec(server, &p_iov, 1, &sent); in smb_send_rqst()
357 server->tcpStatus = CifsNeedReconnect; in smb_send_rqst()
370 smb_sendv(struct TCP_Server_Info *server, struct kvec *iov, int n_vec) in smb_sendv() argument
375 return smb_send_rqst(server, &rqst); in smb_sendv()
379 smb_send(struct TCP_Server_Info *server, struct smb_hdr *smb_buffer, in smb_send() argument
387 return smb_sendv(server, &iov, 1); in smb_send()
391 wait_for_free_credits(struct TCP_Server_Info *server, const int timeout, in wait_for_free_credits() argument
396 spin_lock(&server->req_lock); in wait_for_free_credits()
399 server->in_flight++; in wait_for_free_credits()
401 spin_unlock(&server->req_lock); in wait_for_free_credits()
407 spin_unlock(&server->req_lock); in wait_for_free_credits()
408 cifs_num_waiters_inc(server); in wait_for_free_credits()
409 rc = wait_event_killable(server->request_q, in wait_for_free_credits()
410 has_credits(server, credits)); in wait_for_free_credits()
411 cifs_num_waiters_dec(server); in wait_for_free_credits()
414 spin_lock(&server->req_lock); in wait_for_free_credits()
416 if (server->tcpStatus == CifsExiting) { in wait_for_free_credits()
417 spin_unlock(&server->req_lock); in wait_for_free_credits()
429 server->in_flight++; in wait_for_free_credits()
431 spin_unlock(&server->req_lock); in wait_for_free_credits()
439 wait_for_free_request(struct TCP_Server_Info *server, const int timeout, in wait_for_free_request() argument
444 val = server->ops->get_credits_field(server, optype); in wait_for_free_request()
448 return wait_for_free_credits(server, timeout, val); in wait_for_free_request()
452 cifs_wait_mtu_credits(struct TCP_Server_Info *server, unsigned int size, in cifs_wait_mtu_credits() argument
463 if (ses->server->tcpStatus == CifsExiting) { in allocate_mid()
467 if (ses->server->tcpStatus == CifsNeedReconnect) { in allocate_mid()
486 *ppmidQ = AllocMidQEntry(in_buf, ses->server); in allocate_mid()
490 list_add_tail(&(*ppmidQ)->qhead, &ses->server->pending_mid_q); in allocate_mid()
496 wait_for_response(struct TCP_Server_Info *server, struct mid_q_entry *midQ) in wait_for_response() argument
500 error = wait_event_freezekillable_unsafe(server->response_q, in wait_for_response()
509 cifs_setup_async_request(struct TCP_Server_Info *server, struct smb_rqst *rqst) in cifs_setup_async_request() argument
516 if (server->sign) in cifs_setup_async_request()
519 mid = AllocMidQEntry(hdr, server); in cifs_setup_async_request()
523 rc = cifs_sign_rqst(rqst, server, &mid->sequence_number); in cifs_setup_async_request()
537 cifs_call_async(struct TCP_Server_Info *server, struct smb_rqst *rqst, in cifs_call_async() argument
549 rc = wait_for_free_request(server, timeout, optype); in cifs_call_async()
555 mutex_lock(&server->srv_mutex); in cifs_call_async()
556 mid = server->ops->setup_async_request(server, rqst); in cifs_call_async()
558 mutex_unlock(&server->srv_mutex); in cifs_call_async()
559 add_credits_and_wake_if(server, credits, optype); in cifs_call_async()
570 list_add_tail(&mid->qhead, &server->pending_mid_q); in cifs_call_async()
574 cifs_in_send_inc(server); in cifs_call_async()
575 rc = smb_send_rqst(server, rqst); in cifs_call_async()
576 cifs_in_send_dec(server); in cifs_call_async()
580 server->sequence_number -= 2; in cifs_call_async()
584 mutex_unlock(&server->srv_mutex); in cifs_call_async()
589 add_credits_and_wake_if(server, credits, optype); in cifs_call_async()
620 cifs_sync_mid_result(struct mid_q_entry *mid, struct TCP_Server_Info *server) in cifs_sync_mid_result() argument
649 mutex_lock(&server->srv_mutex); in cifs_sync_mid_result()
651 mutex_unlock(&server->srv_mutex); in cifs_sync_mid_result()
656 send_cancel(struct TCP_Server_Info *server, void *buf, struct mid_q_entry *mid) in send_cancel() argument
658 return server->ops->send_cancel ? in send_cancel()
659 server->ops->send_cancel(server, buf, mid) : 0; in send_cancel()
663 cifs_check_receive(struct mid_q_entry *mid, struct TCP_Server_Info *server, in cifs_check_receive() argument
671 if (server->sign) { in cifs_check_receive()
680 rc = cifs_verify_signature(&rqst, server, in cifs_check_receive()
701 rc = cifs_sign_rqst(rqst, ses->server, &mid->sequence_number); in cifs_setup_request()
727 if ((ses == NULL) || (ses->server == NULL)) { in SendReceive2()
733 if (ses->server->tcpStatus == CifsExiting) { in SendReceive2()
744 rc = wait_for_free_request(ses->server, timeout, optype); in SendReceive2()
756 mutex_lock(&ses->server->srv_mutex); in SendReceive2()
758 midQ = ses->server->ops->setup_request(ses, &rqst); in SendReceive2()
760 mutex_unlock(&ses->server->srv_mutex); in SendReceive2()
763 add_credits(ses->server, 1, optype); in SendReceive2()
768 cifs_in_send_inc(ses->server); in SendReceive2()
769 rc = smb_sendv(ses->server, iov, n_vec); in SendReceive2()
770 cifs_in_send_dec(ses->server); in SendReceive2()
774 ses->server->sequence_number -= 2; in SendReceive2()
775 mutex_unlock(&ses->server->srv_mutex); in SendReceive2()
787 rc = wait_for_response(ses->server, midQ); in SendReceive2()
789 send_cancel(ses->server, buf, midQ); in SendReceive2()
795 add_credits(ses->server, 1, optype); in SendReceive2()
803 rc = cifs_sync_mid_result(midQ, ses->server); in SendReceive2()
805 add_credits(ses->server, 1, optype); in SendReceive2()
823 credits = ses->server->ops->get_credits(midQ); in SendReceive2()
825 rc = ses->server->ops->check_receive(midQ, ses->server, in SendReceive2()
833 add_credits(ses->server, credits, optype); in SendReceive2()
850 if (ses->server == NULL) { in SendReceive()
855 if (ses->server->tcpStatus == CifsExiting) in SendReceive()
869 rc = wait_for_free_request(ses->server, timeout, 0); in SendReceive()
877 mutex_lock(&ses->server->srv_mutex); in SendReceive()
881 mutex_unlock(&ses->server->srv_mutex); in SendReceive()
883 add_credits(ses->server, 1, 0); in SendReceive()
887 rc = cifs_sign_smb(in_buf, ses->server, &midQ->sequence_number); in SendReceive()
889 mutex_unlock(&ses->server->srv_mutex); in SendReceive()
895 cifs_in_send_inc(ses->server); in SendReceive()
896 rc = smb_send(ses->server, in_buf, be32_to_cpu(in_buf->smb_buf_length)); in SendReceive()
897 cifs_in_send_dec(ses->server); in SendReceive()
901 ses->server->sequence_number -= 2; in SendReceive()
903 mutex_unlock(&ses->server->srv_mutex); in SendReceive()
911 rc = wait_for_response(ses->server, midQ); in SendReceive()
913 send_cancel(ses->server, in_buf, midQ); in SendReceive()
919 add_credits(ses->server, 1, 0); in SendReceive()
925 rc = cifs_sync_mid_result(midQ, ses->server); in SendReceive()
927 add_credits(ses->server, 1, 0); in SendReceive()
940 rc = cifs_check_receive(midQ, ses->server, 0); in SendReceive()
943 add_credits(ses->server, 1, 0); in SendReceive()
967 pSMB->hdr.Mid = get_next_mid(ses->server); in send_lock_cancel()
989 if (ses->server == NULL) { in SendReceiveBlockingLock()
994 if (ses->server->tcpStatus == CifsExiting) in SendReceiveBlockingLock()
1008 rc = wait_for_free_request(ses->server, CIFS_BLOCKING_OP, 0); in SendReceiveBlockingLock()
1016 mutex_lock(&ses->server->srv_mutex); in SendReceiveBlockingLock()
1020 mutex_unlock(&ses->server->srv_mutex); in SendReceiveBlockingLock()
1024 rc = cifs_sign_smb(in_buf, ses->server, &midQ->sequence_number); in SendReceiveBlockingLock()
1027 mutex_unlock(&ses->server->srv_mutex); in SendReceiveBlockingLock()
1032 cifs_in_send_inc(ses->server); in SendReceiveBlockingLock()
1033 rc = smb_send(ses->server, in_buf, be32_to_cpu(in_buf->smb_buf_length)); in SendReceiveBlockingLock()
1034 cifs_in_send_dec(ses->server); in SendReceiveBlockingLock()
1038 ses->server->sequence_number -= 2; in SendReceiveBlockingLock()
1040 mutex_unlock(&ses->server->srv_mutex); in SendReceiveBlockingLock()
1048 rc = wait_event_interruptible(ses->server->response_q, in SendReceiveBlockingLock()
1050 ((ses->server->tcpStatus != CifsGood) && in SendReceiveBlockingLock()
1051 (ses->server->tcpStatus != CifsNew))); in SendReceiveBlockingLock()
1056 ((ses->server->tcpStatus == CifsGood) || in SendReceiveBlockingLock()
1057 (ses->server->tcpStatus == CifsNew))) { in SendReceiveBlockingLock()
1062 rc = send_cancel(ses->server, in_buf, midQ); in SendReceiveBlockingLock()
1081 rc = wait_for_response(ses->server, midQ); in SendReceiveBlockingLock()
1083 send_cancel(ses->server, in_buf, midQ); in SendReceiveBlockingLock()
1098 rc = cifs_sync_mid_result(midQ, ses->server); in SendReceiveBlockingLock()
1111 rc = cifs_check_receive(midQ, ses->server, 0); in SendReceiveBlockingLock()