Lines Matching refs:server

35 change_conf(struct TCP_Server_Info *server)  in change_conf()  argument
37 server->credits += server->echo_credits + server->oplock_credits; in change_conf()
38 if (server->credits > server->max_credits) in change_conf()
39 server->credits = server->max_credits; in change_conf()
40 server->oplock_credits = server->echo_credits = 0; in change_conf()
41 switch (server->credits) { in change_conf()
45 server->echoes = false; in change_conf()
46 server->oplocks = false; in change_conf()
49 server->echoes = true; in change_conf()
50 server->oplocks = false; in change_conf()
51 server->echo_credits = 1; in change_conf()
54 server->echoes = true; in change_conf()
56 server->oplocks = true; in change_conf()
57 server->oplock_credits = 1; in change_conf()
59 server->oplocks = false; in change_conf()
61 server->echo_credits = 1; in change_conf()
63 server->credits -= server->echo_credits + server->oplock_credits; in change_conf()
64 return server->credits + server->echo_credits + server->oplock_credits; in change_conf()
68 smb2_add_credits(struct TCP_Server_Info *server, in smb2_add_credits() argument
78 spin_lock(&server->req_lock); in smb2_add_credits()
79 val = server->ops->get_credits_field(server, optype); in smb2_add_credits()
85 if ((instance == 0) || (instance == server->reconnect_instance)) in smb2_add_credits()
93 trace_smb3_overflow_credits(server->CurrentMid, in smb2_add_credits()
94 server->conn_id, server->hostname, *val, in smb2_add_credits()
95 add, server->in_flight); in smb2_add_credits()
97 WARN_ON_ONCE(server->in_flight == 0); in smb2_add_credits()
98 server->in_flight--; in smb2_add_credits()
99 if (server->in_flight == 0 && in smb2_add_credits()
102 rc = change_conf(server); in smb2_add_credits()
107 else if (server->in_flight > 0 && server->oplock_credits == 0 && in smb2_add_credits()
108 server->oplocks) { in smb2_add_credits()
109 if (server->credits > 1) { in smb2_add_credits()
110 server->credits--; in smb2_add_credits()
111 server->oplock_credits++; in smb2_add_credits()
113 } else if ((server->in_flight > 0) && (server->oplock_credits > 3) && in smb2_add_credits()
116 change_conf(server); in smb2_add_credits()
119 in_flight = server->in_flight; in smb2_add_credits()
120 spin_unlock(&server->req_lock); in smb2_add_credits()
121 wake_up(&server->request_q); in smb2_add_credits()
124 trace_smb3_reconnect_detected(server->CurrentMid, in smb2_add_credits()
125 server->conn_id, server->hostname, scredits, add, in_flight); in smb2_add_credits()
132 trace_smb3_reconnect_with_invalid_credits(server->CurrentMid, in smb2_add_credits()
133 server->conn_id, server->hostname, scredits, add, in_flight); in smb2_add_credits()
138 spin_lock(&server->srv_lock); in smb2_add_credits()
139 if (server->tcpStatus == CifsNeedReconnect in smb2_add_credits()
140 || server->tcpStatus == CifsExiting) { in smb2_add_credits()
141 spin_unlock(&server->srv_lock); in smb2_add_credits()
144 spin_unlock(&server->srv_lock); in smb2_add_credits()
164 trace_smb3_add_credits(server->CurrentMid, in smb2_add_credits()
165 server->conn_id, server->hostname, scredits, add, in_flight); in smb2_add_credits()
170 smb2_set_credits(struct TCP_Server_Info *server, const int val) in smb2_set_credits() argument
174 spin_lock(&server->req_lock); in smb2_set_credits()
175 server->credits = val; in smb2_set_credits()
177 server->reconnect_instance++; in smb2_set_credits()
182 if (SERVER_IS_CHAN(server)) in smb2_set_credits()
183 server->primary_server->channel_sequence_num++; in smb2_set_credits()
185 server->channel_sequence_num++; in smb2_set_credits()
187 scredits = server->credits; in smb2_set_credits()
188 in_flight = server->in_flight; in smb2_set_credits()
189 spin_unlock(&server->req_lock); in smb2_set_credits()
191 trace_smb3_set_credits(server->CurrentMid, in smb2_set_credits()
192 server->conn_id, server->hostname, scredits, val, in_flight); in smb2_set_credits()
201 smb2_get_credits_field(struct TCP_Server_Info *server, const int optype) in smb2_get_credits_field() argument
205 return &server->echo_credits; in smb2_get_credits_field()
207 return &server->oplock_credits; in smb2_get_credits_field()
209 return &server->credits; in smb2_get_credits_field()
220 smb2_wait_mtu_credits(struct TCP_Server_Info *server, unsigned int size, in smb2_wait_mtu_credits() argument
226 spin_lock(&server->req_lock); in smb2_wait_mtu_credits()
228 spin_unlock(&server->req_lock); in smb2_wait_mtu_credits()
230 spin_lock(&server->srv_lock); in smb2_wait_mtu_credits()
231 if (server->tcpStatus == CifsExiting) { in smb2_wait_mtu_credits()
232 spin_unlock(&server->srv_lock); in smb2_wait_mtu_credits()
235 spin_unlock(&server->srv_lock); in smb2_wait_mtu_credits()
237 spin_lock(&server->req_lock); in smb2_wait_mtu_credits()
238 if (server->credits <= 0) { in smb2_wait_mtu_credits()
239 spin_unlock(&server->req_lock); in smb2_wait_mtu_credits()
240 cifs_num_waiters_inc(server); in smb2_wait_mtu_credits()
241 rc = wait_event_killable(server->request_q, in smb2_wait_mtu_credits()
242 has_credits(server, &server->credits, 1)); in smb2_wait_mtu_credits()
243 cifs_num_waiters_dec(server); in smb2_wait_mtu_credits()
246 spin_lock(&server->req_lock); in smb2_wait_mtu_credits()
248 scredits = server->credits; in smb2_wait_mtu_credits()
264 credits->instance = server->reconnect_instance; in smb2_wait_mtu_credits()
265 server->credits -= credits->value; in smb2_wait_mtu_credits()
266 server->in_flight++; in smb2_wait_mtu_credits()
267 if (server->in_flight > server->max_in_flight) in smb2_wait_mtu_credits()
268 server->max_in_flight = server->in_flight; in smb2_wait_mtu_credits()
272 scredits = server->credits; in smb2_wait_mtu_credits()
273 in_flight = server->in_flight; in smb2_wait_mtu_credits()
274 spin_unlock(&server->req_lock); in smb2_wait_mtu_credits()
276 trace_smb3_wait_credits(server->CurrentMid, in smb2_wait_mtu_credits()
277 server->conn_id, server->hostname, scredits, -(credits->value), in_flight); in smb2_wait_mtu_credits()
285 smb2_adjust_credits(struct TCP_Server_Info *server, in smb2_adjust_credits() argument
296 trace_smb3_too_many_credits(server->CurrentMid, in smb2_adjust_credits()
297 server->conn_id, server->hostname, 0, credits->value - new_val, 0); in smb2_adjust_credits()
304 spin_lock(&server->req_lock); in smb2_adjust_credits()
306 if (server->reconnect_instance != credits->instance) { in smb2_adjust_credits()
307 scredits = server->credits; in smb2_adjust_credits()
308 in_flight = server->in_flight; in smb2_adjust_credits()
309 spin_unlock(&server->req_lock); in smb2_adjust_credits()
311 trace_smb3_reconnect_detected(server->CurrentMid, in smb2_adjust_credits()
312 server->conn_id, server->hostname, scredits, in smb2_adjust_credits()
319 server->credits += credits->value - new_val; in smb2_adjust_credits()
320 scredits = server->credits; in smb2_adjust_credits()
321 in_flight = server->in_flight; in smb2_adjust_credits()
322 spin_unlock(&server->req_lock); in smb2_adjust_credits()
323 wake_up(&server->request_q); in smb2_adjust_credits()
325 trace_smb3_adj_credits(server->CurrentMid, in smb2_adjust_credits()
326 server->conn_id, server->hostname, scredits, in smb2_adjust_credits()
337 smb2_get_next_mid(struct TCP_Server_Info *server) in smb2_get_next_mid() argument
341 spin_lock(&server->mid_lock); in smb2_get_next_mid()
342 mid = server->CurrentMid++; in smb2_get_next_mid()
343 spin_unlock(&server->mid_lock); in smb2_get_next_mid()
348 smb2_revert_current_mid(struct TCP_Server_Info *server, const unsigned int val) in smb2_revert_current_mid() argument
350 spin_lock(&server->mid_lock); in smb2_revert_current_mid()
351 if (server->CurrentMid >= val) in smb2_revert_current_mid()
352 server->CurrentMid -= val; in smb2_revert_current_mid()
353 spin_unlock(&server->mid_lock); in smb2_revert_current_mid()
357 __smb2_find_mid(struct TCP_Server_Info *server, char *buf, bool dequeue) in __smb2_find_mid() argument
368 spin_lock(&server->mid_lock); in __smb2_find_mid()
369 list_for_each_entry(mid, &server->pending_mid_q, qhead) { in __smb2_find_mid()
378 spin_unlock(&server->mid_lock); in __smb2_find_mid()
382 spin_unlock(&server->mid_lock); in __smb2_find_mid()
387 smb2_find_mid(struct TCP_Server_Info *server, char *buf) in smb2_find_mid() argument
389 return __smb2_find_mid(server, buf, false); in smb2_find_mid()
393 smb2_find_dequeue_mid(struct TCP_Server_Info *server, char *buf) in smb2_find_dequeue_mid() argument
395 return __smb2_find_mid(server, buf, true); in smb2_find_dequeue_mid()
399 smb2_dump_detail(void *buf, struct TCP_Server_Info *server) in smb2_dump_detail() argument
407 if (!server->ops->check_message(buf, server->total_read, server)) { in smb2_dump_detail()
409 server->ops->calc_smb_size(buf)); in smb2_dump_detail()
415 smb2_need_neg(struct TCP_Server_Info *server) in smb2_need_neg() argument
417 return server->max_read == 0; in smb2_need_neg()
423 struct TCP_Server_Info *server) in smb2_negotiate() argument
427 spin_lock(&server->mid_lock); in smb2_negotiate()
428 server->CurrentMid = 0; in smb2_negotiate()
429 spin_unlock(&server->mid_lock); in smb2_negotiate()
430 rc = SMB2_negotiate(xid, ses, server); in smb2_negotiate()
440 struct TCP_Server_Info *server = tcon->ses->server; in smb2_negotiate_wsize() local
445 wsize = min_t(unsigned int, wsize, server->max_write); in smb2_negotiate_wsize()
446 if (!(server->capabilities & SMB2_GLOBAL_CAP_LARGE_MTU)) in smb2_negotiate_wsize()
455 struct TCP_Server_Info *server = tcon->ses->server; in smb3_negotiate_wsize() local
460 wsize = min_t(unsigned int, wsize, server->max_write); in smb3_negotiate_wsize()
462 if (server->rdma) { in smb3_negotiate_wsize()
463 if (server->sign) in smb3_negotiate_wsize()
470 server->smbd_conn->max_fragmented_send_size - in smb3_negotiate_wsize()
475 wsize, server->smbd_conn->max_readwrite_size); in smb3_negotiate_wsize()
478 if (!(server->capabilities & SMB2_GLOBAL_CAP_LARGE_MTU)) in smb3_negotiate_wsize()
487 struct TCP_Server_Info *server = tcon->ses->server; in smb2_negotiate_rsize() local
492 rsize = min_t(unsigned int, rsize, server->max_read); in smb2_negotiate_rsize()
494 if (!(server->capabilities & SMB2_GLOBAL_CAP_LARGE_MTU)) in smb2_negotiate_rsize()
503 struct TCP_Server_Info *server = tcon->ses->server; in smb3_negotiate_rsize() local
508 rsize = min_t(unsigned int, rsize, server->max_read); in smb3_negotiate_rsize()
510 if (server->rdma) { in smb3_negotiate_rsize()
511 if (server->sign) in smb3_negotiate_rsize()
518 server->smbd_conn->max_fragmented_recv_size - in smb3_negotiate_rsize()
523 rsize, server->smbd_conn->max_readwrite_size); in smb3_negotiate_rsize()
527 if (!(server->capabilities & SMB2_GLOBAL_CAP_LARGE_MTU)) in smb3_negotiate_rsize()
617 ses->server->hostname); in parse_server_interfaces()
792 pserver = ses->chans[0].server; in SMB3_request_interfaces()
1112 struct TCP_Server_Info *server; in smb2_set_ea() local
1134 server = cifs_pick_channel(ses); in smb2_set_ea()
1155 if (ses->server->ops->query_all_EAs) { in smb2_set_ea()
1157 rc = ses->server->ops->query_all_EAs(xid, tcon, path, in smb2_set_ea()
1211 rc = SMB2_open_init(tcon, server, in smb2_set_ea()
1237 rc = SMB2_set_info_init(tcon, server, in smb2_set_ea()
1250 rc = SMB2_close_init(tcon, server, in smb2_set_ea()
1257 smb2_set_replay(server, &rqst[0]); in smb2_set_ea()
1258 smb2_set_replay(server, &rqst[1]); in smb2_set_ea()
1259 smb2_set_replay(server, &rqst[2]); in smb2_set_ea()
1262 rc = compound_send_recv(xid, ses, server, in smb2_set_ea()
1288 smb2_can_echo(struct TCP_Server_Info *server) in smb2_can_echo() argument
1290 return server->echoes; in smb2_can_echo()
1401 struct TCP_Server_Info *server = tlink_tcon(cfile->tlink)->ses->server; in smb2_set_fid() local
1409 server->ops->set_oplock_level(cinode, oplock, fid->epoch, in smb2_set_fid()
1508 struct TCP_Server_Info *server; in smb2_ioctl_query_info() local
1531 server = cifs_pick_channel(ses); in smb2_ioctl_query_info()
1550 if (!ses || !server) { in smb2_ioctl_query_info()
1599 rc = SMB2_open_init(tcon, server, in smb2_ioctl_query_info()
1615 rc = SMB2_ioctl_init(tcon, server, &rqst[1], COMPOUND_FID, COMPOUND_FID, in smb2_ioctl_query_info()
1637 rc = SMB2_set_info_init(tcon, server, &rqst[1], COMPOUND_FID, COMPOUND_FID, in smb2_ioctl_query_info()
1645 rc = SMB2_query_info_init(tcon, server, in smb2_ioctl_query_info()
1667 rc = SMB2_close_init(tcon, server, in smb2_ioctl_query_info()
1674 smb2_set_replay(server, &rqst[0]); in smb2_ioctl_query_info()
1675 smb2_set_replay(server, &rqst[1]); in smb2_ioctl_query_info()
1676 smb2_set_replay(server, &rqst[2]); in smb2_ioctl_query_info()
1679 rc = compound_send_recv(xid, ses, server, in smb2_ioctl_query_info()
2270 struct TCP_Server_Info *server; in smb2_query_dir_first() local
2277 server = cifs_pick_channel(tcon->ses); in smb2_query_dir_first()
2305 rc = SMB2_open_init(tcon, server, in smb2_query_dir_first()
2319 rc = SMB2_query_directory_init(xid, tcon, server, in smb2_query_dir_first()
2329 smb2_set_replay(server, &rqst[0]); in smb2_query_dir_first()
2330 smb2_set_replay(server, &rqst[1]); in smb2_query_dir_first()
2333 rc = compound_send_recv(xid, tcon->ses, server, in smb2_query_dir_first()
2413 smb2_is_status_pending(char *buf, struct TCP_Server_Info *server) in smb2_is_status_pending() argument
2422 spin_lock(&server->req_lock); in smb2_is_status_pending()
2423 server->credits += le16_to_cpu(shdr->CreditRequest); in smb2_is_status_pending()
2424 scredits = server->credits; in smb2_is_status_pending()
2425 in_flight = server->in_flight; in smb2_is_status_pending()
2426 spin_unlock(&server->req_lock); in smb2_is_status_pending()
2427 wake_up(&server->request_q); in smb2_is_status_pending()
2429 trace_smb3_pend_credits(server->CurrentMid, in smb2_is_status_pending()
2430 server->conn_id, server->hostname, scredits, in smb2_is_status_pending()
2469 smb2_is_network_name_deleted(char *buf, struct TCP_Server_Info *server) in smb2_is_network_name_deleted() argument
2480 pserver = SERVER_IS_CHAN(server) ? server->primary_server : server; in smb2_is_network_name_deleted()
2507 if (tcon->ses->server->capabilities & SMB2_GLOBAL_CAP_LEASING) in smb2_oplock_response()
2516 smb2_set_replay(struct TCP_Server_Info *server, struct smb_rqst *rqst) in smb2_set_replay() argument
2520 if (server->dialect < SMB30_PROT_ID) in smb2_set_replay()
2551 struct TCP_Server_Info *server = ses->server; in smb2_set_next_command() local
2552 unsigned long len = smb_rqst_len(server, rqst); in smb2_set_next_command()
2613 if (tcon->retry || (*pretries)++ < tcon->ses->server->retrans) { in smb2_should_replay()
2637 struct TCP_Server_Info *server; in smb2_query_info_compound() local
2654 server = cifs_pick_channel(ses); in smb2_query_info_compound()
2694 rc = SMB2_open_init(tcon, server, in smb2_query_info_compound()
2704 rc = SMB2_query_info_init(tcon, server, in smb2_query_info_compound()
2712 rc = SMB2_query_info_init(tcon, server, in smb2_query_info_compound()
2730 rc = SMB2_close_init(tcon, server, in smb2_query_info_compound()
2738 smb2_set_replay(server, &rqst[0]); in smb2_query_info_compound()
2739 smb2_set_replay(server, &rqst[2]); in smb2_query_info_compound()
2741 smb2_set_replay(server, &rqst[1]); in smb2_query_info_compound()
2745 rc = compound_send_recv(xid, ses, server, in smb2_query_info_compound()
2749 rc = compound_send_recv(xid, ses, server, in smb2_query_info_compound()
3866 smb2_downgrade_oplock(struct TCP_Server_Info *server, in smb2_downgrade_oplock() argument
3870 server->ops->set_oplock_level(cinode, oplock, 0, NULL); in smb2_downgrade_oplock()
3878 smb3_downgrade_oplock(struct TCP_Server_Info *server, in smb3_downgrade_oplock() argument
4217 smb2_get_enc_key(struct TCP_Server_Info *server, __u64 ses_id, int enc, u8 *key) in smb2_get_enc_key() argument
4224 pserver = SERVER_IS_CHAN(server) ? server->primary_server : server; in smb2_get_enc_key()
4252 crypt_message(struct TCP_Server_Info *server, int num_rqst, in crypt_message() argument
4270 rc = smb2_get_enc_key(server, le64_to_cpu(tr_hdr->SessionId), enc, key); in crypt_message()
4277 rc = smb3_crypto_aead_allocate(server); in crypt_message()
4283 tfm = enc ? server->secmech.enc : server->secmech.dec; in crypt_message()
4285 if ((server->cipher_type == SMB2_ENCRYPTION_AES256_CCM) || in crypt_message()
4286 (server->cipher_type == SMB2_ENCRYPTION_AES256_GCM)) in crypt_message()
4312 if ((server->cipher_type == SMB2_ENCRYPTION_AES128_GCM) || in crypt_message()
4313 (server->cipher_type == SMB2_ENCRYPTION_AES256_GCM)) in crypt_message()
4378 smb3_init_transform_rq(struct TCP_Server_Info *server, int num_rqst, in smb3_init_transform_rq() argument
4393 orig_len += smb_rqst_len(server, old); in smb3_init_transform_rq()
4433 fill_transform_hdr(tr_hdr, orig_len, old_rq, server->cipher_type); in smb3_init_transform_rq()
4435 rc = crypt_message(server, num_rqst, new_rq, 1); in smb3_init_transform_rq()
4456 decrypt_raw_data(struct TCP_Server_Info *server, char *buf, in decrypt_raw_data() argument
4478 rc = crypt_message(server, 1, &rqst, 0); in decrypt_raw_data()
4487 server->total_read = buf_data_size + iter_size; in decrypt_raw_data()
4515 handle_read_data(struct TCP_Server_Info *server, struct mid_q_entry *mid, in handle_read_data() argument
4534 if (server->ops->is_session_expired && in handle_read_data()
4535 server->ops->is_session_expired(buf)) { in handle_read_data()
4537 cifs_reconnect(server, true); in handle_read_data()
4541 if (server->ops->is_status_pending && in handle_read_data()
4542 server->ops->is_status_pending(buf, server)) in handle_read_data()
4550 min_t(unsigned int, buf_len, server->vals->read_rsp_size); in handle_read_data()
4556 rdata->result = server->ops->map_error(buf, true); in handle_read_data()
4568 data_offset = server->ops->read_data_offset(buf); in handle_read_data()
4572 data_len = server->ops->read_data_length(buf, use_rdma_mr); in handle_read_data()
4574 if (data_offset < server->vals->read_rsp_size) { in handle_read_data()
4582 data_offset = server->vals->read_rsp_size; in handle_read_data()
4595 pad_len = data_offset - server->vals->read_rsp_size; in handle_read_data()
4664 struct TCP_Server_Info *server; member
4680 rc = decrypt_raw_data(dw->server, dw->buf, dw->server->vals->read_rsp_size, in smb2_decrypt_offload()
4687 dw->server->lstrp = jiffies; in smb2_decrypt_offload()
4688 mid = smb2_find_dequeue_mid(dw->server, dw->buf); in smb2_decrypt_offload()
4693 rc = handle_read_data(dw->server, mid, dw->buf, in smb2_decrypt_offload()
4694 dw->server->vals->read_rsp_size, in smb2_decrypt_offload()
4701 if (dw->server->ops->is_network_name_deleted) in smb2_decrypt_offload()
4702 dw->server->ops->is_network_name_deleted(dw->buf, in smb2_decrypt_offload()
4703 dw->server); in smb2_decrypt_offload()
4707 spin_lock(&dw->server->srv_lock); in smb2_decrypt_offload()
4708 if (dw->server->tcpStatus == CifsNeedReconnect) { in smb2_decrypt_offload()
4709 spin_lock(&dw->server->mid_lock); in smb2_decrypt_offload()
4711 spin_unlock(&dw->server->mid_lock); in smb2_decrypt_offload()
4712 spin_unlock(&dw->server->srv_lock); in smb2_decrypt_offload()
4715 spin_lock(&dw->server->mid_lock); in smb2_decrypt_offload()
4719 &dw->server->pending_mid_q); in smb2_decrypt_offload()
4720 spin_unlock(&dw->server->mid_lock); in smb2_decrypt_offload()
4721 spin_unlock(&dw->server->srv_lock); in smb2_decrypt_offload()
4735 receive_encrypted_read(struct TCP_Server_Info *server, struct mid_q_entry **mid, in receive_encrypted_read() argument
4739 char *buf = server->smallbuf; in receive_encrypted_read()
4743 unsigned int buflen = server->pdu_size; in receive_encrypted_read()
4753 dw->server = server; in receive_encrypted_read()
4756 len = min_t(unsigned int, buflen, server->vals->read_rsp_size + in receive_encrypted_read()
4757 sizeof(struct smb2_transform_hdr)) - HEADER_SIZE(server) + 1; in receive_encrypted_read()
4759 rc = cifs_read_from_socket(server, buf + HEADER_SIZE(server) - 1, len); in receive_encrypted_read()
4762 server->total_read += rc; in receive_encrypted_read()
4765 server->vals->read_rsp_size; in receive_encrypted_read()
4789 rc = cifs_read_iter_from_socket(server, &iter, dw->len); in receive_encrypted_read()
4793 server->total_read += rc; in receive_encrypted_read()
4799 rc = cifs_discard_remaining_data(server); in receive_encrypted_read()
4808 if ((server->min_offload) && (server->in_flight > 1) && in receive_encrypted_read()
4809 (server->pdu_size >= server->min_offload)) { in receive_encrypted_read()
4810 dw->buf = server->smallbuf; in receive_encrypted_read()
4811 server->smallbuf = (char *)cifs_small_buf_get(); in receive_encrypted_read()
4818 rc = decrypt_raw_data(server, buf, server->vals->read_rsp_size, in receive_encrypted_read()
4823 *mid = smb2_find_mid(server, buf); in receive_encrypted_read()
4829 rc = handle_read_data(server, *mid, buf, in receive_encrypted_read()
4830 server->vals->read_rsp_size, in receive_encrypted_read()
4833 if (server->ops->is_network_name_deleted) { in receive_encrypted_read()
4834 server->ops->is_network_name_deleted(buf, in receive_encrypted_read()
4835 server); in receive_encrypted_read()
4846 cifs_discard_remaining_data(server); in receive_encrypted_read()
4851 receive_encrypted_standard(struct TCP_Server_Info *server, in receive_encrypted_standard() argument
4856 char *buf = server->smallbuf; in receive_encrypted_standard()
4858 unsigned int pdu_length = server->pdu_size; in receive_encrypted_standard()
4869 server->large_buf = true; in receive_encrypted_standard()
4870 memcpy(server->bigbuf, buf, server->total_read); in receive_encrypted_standard()
4871 buf = server->bigbuf; in receive_encrypted_standard()
4875 length = cifs_read_from_socket(server, buf + HEADER_SIZE(server) - 1, in receive_encrypted_standard()
4876 pdu_length - HEADER_SIZE(server) + 1); in receive_encrypted_standard()
4879 server->total_read += length; in receive_encrypted_standard()
4882 length = decrypt_raw_data(server, buf, buf_size, NULL, false); in receive_encrypted_standard()
4886 next_is_large = server->large_buf; in receive_encrypted_standard()
4900 mid_entry = smb2_find_mid(server, buf); in receive_encrypted_standard()
4906 mid_entry->resp_buf_size = server->pdu_size; in receive_encrypted_standard()
4917 ret = mid_entry->handle(server, mid_entry); in receive_encrypted_standard()
4919 ret = cifs_handle_standard(server, mid_entry); in receive_encrypted_standard()
4923 server->large_buf = next_is_large; in receive_encrypted_standard()
4925 server->bigbuf = buf = next_buffer; in receive_encrypted_standard()
4927 server->smallbuf = buf = next_buffer; in receive_encrypted_standard()
4946 smb3_receive_transform(struct TCP_Server_Info *server, in smb3_receive_transform() argument
4949 char *buf = server->smallbuf; in smb3_receive_transform()
4950 unsigned int pdu_length = server->pdu_size; in smb3_receive_transform()
4958 cifs_reconnect(server, true); in smb3_receive_transform()
4964 cifs_reconnect(server, true); in smb3_receive_transform()
4969 if (pdu_length > CIFSMaxBufSize + MAX_HEADER_SIZE(server)) { in smb3_receive_transform()
4970 return receive_encrypted_read(server, &mids[0], num_mids); in smb3_receive_transform()
4973 return receive_encrypted_standard(server, mids, bufs, num_mids); in smb3_receive_transform()
4977 smb3_handle_read_data(struct TCP_Server_Info *server, struct mid_q_entry *mid) in smb3_handle_read_data() argument
4979 char *buf = server->large_buf ? server->bigbuf : server->smallbuf; in smb3_handle_read_data()
4981 return handle_read_data(server, mid, buf, server->pdu_size, in smb3_handle_read_data()
4985 static int smb2_next_header(struct TCP_Server_Info *server, char *buf, in smb2_next_header() argument
4998 if (unlikely(*noff && *noff < MID_HEADER_SIZE(server))) in smb2_next_header()
5007 struct TCP_Server_Info *server = tcon->ses->server; in __cifs_sfu_make_node() local
5015 __u32 oplock = server->oplocks ? REQ_OPLOCK : 0; in __cifs_sfu_make_node()
5041 rc = server->ops->open(xid, &oparms, &oplock, NULL); in __cifs_sfu_make_node()
5051 rc = server->ops->sync_write(xid, &fid, &io_parms, in __cifs_sfu_make_node()
5053 server->ops->close(xid, tcon, &fid); in __cifs_sfu_make_node()