Lines Matching full:server

31 change_conf(struct TCP_Server_Info *server)  in change_conf()  argument
33 server->credits += server->echo_credits + server->oplock_credits; in change_conf()
34 server->oplock_credits = server->echo_credits = 0; in change_conf()
35 switch (server->credits) { in change_conf()
39 server->echoes = false; in change_conf()
40 server->oplocks = false; in change_conf()
43 server->echoes = true; in change_conf()
44 server->oplocks = false; in change_conf()
45 server->echo_credits = 1; in change_conf()
48 server->echoes = true; in change_conf()
50 server->oplocks = true; in change_conf()
51 server->oplock_credits = 1; in change_conf()
53 server->oplocks = false; in change_conf()
55 server->echo_credits = 1; in change_conf()
57 server->credits -= server->echo_credits + server->oplock_credits; in change_conf()
58 return server->credits + server->echo_credits + server->oplock_credits; in change_conf()
62 smb2_add_credits(struct TCP_Server_Info *server, in smb2_add_credits() argument
72 spin_lock(&server->req_lock); in smb2_add_credits()
73 val = server->ops->get_credits_field(server, optype); in smb2_add_credits()
79 if ((instance == 0) || (instance == server->reconnect_instance)) in smb2_add_credits()
86 pr_warn_once("server overflowed SMB3 credits\n"); in smb2_add_credits()
88 server->in_flight--; in smb2_add_credits()
89 if (server->in_flight == 0 && in smb2_add_credits()
92 rc = change_conf(server); in smb2_add_credits()
94 * Sometimes server returns 0 credits on oplock break ack - we need to in smb2_add_credits()
97 else if (server->in_flight > 0 && server->oplock_credits == 0 && in smb2_add_credits()
98 server->oplocks) { in smb2_add_credits()
99 if (server->credits > 1) { in smb2_add_credits()
100 server->credits--; in smb2_add_credits()
101 server->oplock_credits++; in smb2_add_credits()
105 in_flight = server->in_flight; in smb2_add_credits()
106 spin_unlock(&server->req_lock); in smb2_add_credits()
107 wake_up(&server->request_q); in smb2_add_credits()
110 trace_smb3_reconnect_detected(server->CurrentMid, in smb2_add_credits()
111 server->conn_id, server->hostname, scredits, add, in_flight); in smb2_add_credits()
113 cifs_dbg(FYI, "trying to put %d credits from the old server instance %d\n", in smb2_add_credits()
118 trace_smb3_reconnect_with_invalid_credits(server->CurrentMid, in smb2_add_credits()
119 server->conn_id, server->hostname, scredits, add, in_flight); in smb2_add_credits()
120 …cifs_dbg(FYI, "Negotiate operation when server credits is non-zero. Optype: %d, server credits: %d… in smb2_add_credits()
124 if (server->tcpStatus == CifsNeedReconnect in smb2_add_credits()
125 || server->tcpStatus == CifsExiting) in smb2_add_credits()
133 cifs_server_dbg(VFS, "Possible client or server bug - zero credits\n"); in smb2_add_credits()
146 trace_smb3_add_credits(server->CurrentMid, in smb2_add_credits()
147 server->conn_id, server->hostname, scredits, add, in_flight); in smb2_add_credits()
152 smb2_set_credits(struct TCP_Server_Info *server, const int val) in smb2_set_credits() argument
156 spin_lock(&server->req_lock); in smb2_set_credits()
157 server->credits = val; in smb2_set_credits()
159 server->reconnect_instance++; in smb2_set_credits()
160 scredits = server->credits; in smb2_set_credits()
161 in_flight = server->in_flight; in smb2_set_credits()
162 spin_unlock(&server->req_lock); in smb2_set_credits()
164 trace_smb3_set_credits(server->CurrentMid, in smb2_set_credits()
165 server->conn_id, server->hostname, scredits, val, in_flight); in smb2_set_credits()
174 smb2_get_credits_field(struct TCP_Server_Info *server, const int optype) in smb2_get_credits_field() argument
178 return &server->echo_credits; in smb2_get_credits_field()
180 return &server->oplock_credits; in smb2_get_credits_field()
182 return &server->credits; in smb2_get_credits_field()
193 smb2_wait_mtu_credits(struct TCP_Server_Info *server, unsigned int size, in smb2_wait_mtu_credits() argument
199 spin_lock(&server->req_lock); in smb2_wait_mtu_credits()
201 if (server->credits <= 0) { in smb2_wait_mtu_credits()
202 spin_unlock(&server->req_lock); in smb2_wait_mtu_credits()
203 cifs_num_waiters_inc(server); in smb2_wait_mtu_credits()
204 rc = wait_event_killable(server->request_q, in smb2_wait_mtu_credits()
205 has_credits(server, &server->credits, 1)); in smb2_wait_mtu_credits()
206 cifs_num_waiters_dec(server); in smb2_wait_mtu_credits()
209 spin_lock(&server->req_lock); in smb2_wait_mtu_credits()
211 if (server->tcpStatus == CifsExiting) { in smb2_wait_mtu_credits()
212 spin_unlock(&server->req_lock); in smb2_wait_mtu_credits()
216 scredits = server->credits; in smb2_wait_mtu_credits()
232 credits->instance = server->reconnect_instance; in smb2_wait_mtu_credits()
233 server->credits -= credits->value; in smb2_wait_mtu_credits()
234 server->in_flight++; in smb2_wait_mtu_credits()
235 if (server->in_flight > server->max_in_flight) in smb2_wait_mtu_credits()
236 server->max_in_flight = server->in_flight; in smb2_wait_mtu_credits()
240 scredits = server->credits; in smb2_wait_mtu_credits()
241 in_flight = server->in_flight; in smb2_wait_mtu_credits()
242 spin_unlock(&server->req_lock); in smb2_wait_mtu_credits()
244 trace_smb3_add_credits(server->CurrentMid, in smb2_wait_mtu_credits()
245 server->conn_id, server->hostname, scredits, -(credits->value), in_flight); in smb2_wait_mtu_credits()
253 smb2_adjust_credits(struct TCP_Server_Info *server, in smb2_adjust_credits() argument
264 trace_smb3_too_many_credits(server->CurrentMid, in smb2_adjust_credits()
265 server->conn_id, server->hostname, 0, credits->value - new_val, 0); in smb2_adjust_credits()
272 spin_lock(&server->req_lock); in smb2_adjust_credits()
274 if (server->reconnect_instance != credits->instance) { in smb2_adjust_credits()
275 scredits = server->credits; in smb2_adjust_credits()
276 in_flight = server->in_flight; in smb2_adjust_credits()
277 spin_unlock(&server->req_lock); in smb2_adjust_credits()
279 trace_smb3_reconnect_detected(server->CurrentMid, in smb2_adjust_credits()
280 server->conn_id, server->hostname, scredits, in smb2_adjust_credits()
287 server->credits += credits->value - new_val; in smb2_adjust_credits()
288 scredits = server->credits; in smb2_adjust_credits()
289 in_flight = server->in_flight; in smb2_adjust_credits()
290 spin_unlock(&server->req_lock); in smb2_adjust_credits()
291 wake_up(&server->request_q); in smb2_adjust_credits()
293 trace_smb3_add_credits(server->CurrentMid, in smb2_adjust_credits()
294 server->conn_id, server->hostname, scredits, in smb2_adjust_credits()
305 smb2_get_next_mid(struct TCP_Server_Info *server) in smb2_get_next_mid() argument
310 mid = server->CurrentMid++; in smb2_get_next_mid()
316 smb2_revert_current_mid(struct TCP_Server_Info *server, const unsigned int val) in smb2_revert_current_mid() argument
319 if (server->CurrentMid >= val) in smb2_revert_current_mid()
320 server->CurrentMid -= val; in smb2_revert_current_mid()
325 __smb2_find_mid(struct TCP_Server_Info *server, char *buf, bool dequeue) in __smb2_find_mid() argument
337 list_for_each_entry(mid, &server->pending_mid_q, qhead) { in __smb2_find_mid()
355 smb2_find_mid(struct TCP_Server_Info *server, char *buf) in smb2_find_mid() argument
357 return __smb2_find_mid(server, buf, false); in smb2_find_mid()
361 smb2_find_dequeue_mid(struct TCP_Server_Info *server, char *buf) in smb2_find_dequeue_mid() argument
363 return __smb2_find_mid(server, buf, true); in smb2_find_dequeue_mid()
367 smb2_dump_detail(void *buf, struct TCP_Server_Info *server) in smb2_dump_detail() argument
376 server->ops->calc_smb_size(buf, server)); in smb2_dump_detail()
381 smb2_need_neg(struct TCP_Server_Info *server) in smb2_need_neg() argument
383 return server->max_read == 0; in smb2_need_neg()
404 struct TCP_Server_Info *server = tcon->ses->server; in smb2_negotiate_wsize() local
409 wsize = min_t(unsigned int, wsize, server->max_write); in smb2_negotiate_wsize()
410 if (!(server->capabilities & SMB2_GLOBAL_CAP_LARGE_MTU)) in smb2_negotiate_wsize()
419 struct TCP_Server_Info *server = tcon->ses->server; in smb3_negotiate_wsize() local
424 wsize = min_t(unsigned int, wsize, server->max_write); in smb3_negotiate_wsize()
426 if (server->rdma) { in smb3_negotiate_wsize()
427 if (server->sign) in smb3_negotiate_wsize()
434 server->smbd_conn->max_fragmented_send_size - in smb3_negotiate_wsize()
439 wsize, server->smbd_conn->max_readwrite_size); in smb3_negotiate_wsize()
442 if (!(server->capabilities & SMB2_GLOBAL_CAP_LARGE_MTU)) in smb3_negotiate_wsize()
451 struct TCP_Server_Info *server = tcon->ses->server; in smb2_negotiate_rsize() local
456 rsize = min_t(unsigned int, rsize, server->max_read); in smb2_negotiate_rsize()
458 if (!(server->capabilities & SMB2_GLOBAL_CAP_LARGE_MTU)) in smb2_negotiate_rsize()
467 struct TCP_Server_Info *server = tcon->ses->server; in smb3_negotiate_rsize() local
472 rsize = min_t(unsigned int, rsize, server->max_read); in smb3_negotiate_rsize()
474 if (server->rdma) { in smb3_negotiate_rsize()
475 if (server->sign) in smb3_negotiate_rsize()
482 server->smbd_conn->max_fragmented_recv_size - in smb3_negotiate_rsize()
487 rsize, server->smbd_conn->max_readwrite_size); in smb3_negotiate_rsize()
491 if (!(server->capabilities & SMB2_GLOBAL_CAP_LARGE_MTU)) in smb3_negotiate_rsize()
655 "server does not support query network interfaces\n"); in SMB3_request_interfaces()
749 struct TCP_Server_Info *server = ses->server; in open_cached_dir() local
796 if (!server->ops->new_lease_key) in open_cached_dir()
800 server->ops->new_lease_key(pfid); in open_cached_dir()
818 rc = SMB2_open_init(tcon, server, in open_cached_dir()
828 rc = SMB2_query_info_init(tcon, server, in open_cached_dir()
839 rc = compound_send_recv(xid, ses, server, in open_cached_dir()
879 pr_warn_once("server share %s deleted\n", in open_cached_dir()
908 smb2_parse_contexts(server, o_rsp, in open_cached_dir()
1239 struct TCP_Server_Info *server = cifs_pick_channel(ses); in smb2_set_ea() local
1273 if (ses->server->ops->query_all_EAs) { in smb2_set_ea()
1275 rc = ses->server->ops->query_all_EAs(xid, tcon, path, in smb2_set_ea()
1328 rc = SMB2_open_init(tcon, server, in smb2_set_ea()
1355 rc = SMB2_set_info_init(tcon, server, in smb2_set_ea()
1368 rc = SMB2_close_init(tcon, server, in smb2_set_ea()
1372 rc = compound_send_recv(xid, ses, server, in smb2_set_ea()
1391 smb2_can_echo(struct TCP_Server_Info *server) in smb2_can_echo() argument
1393 return server->echoes; in smb2_can_echo()
1453 seq_printf(m, "\nOpen files: %d total (local), %d open on server", in smb2_print_stats()
1504 struct TCP_Server_Info *server = tlink_tcon(cfile->tlink)->ses->server; in smb2_set_fid() local
1512 server->ops->set_oplock_level(cinode, oplock, fid->epoch, in smb2_set_fid()
1579 pr_warn_once("Server share %s does not support copy range\n", tcon->treeName); in SMB2_request_res_key()
1618 struct TCP_Server_Info *server = cifs_pick_channel(ses); in smb2_ioctl_query_info() local
1651 if (!ses || !server) { in smb2_ioctl_query_info()
1698 rc = SMB2_open_init(tcon, server, in smb2_ioctl_query_info()
1706 /* Can eventually relax perm check since server enforces too */ in smb2_ioctl_query_info()
1713 rc = SMB2_ioctl_init(tcon, server, in smb2_ioctl_query_info()
1723 /* Can eventually relax perm check since server enforces too */ in smb2_ioctl_query_info()
1733 rc = SMB2_set_info_init(tcon, server, in smb2_ioctl_query_info()
1744 rc = SMB2_query_info_init(tcon, server, in smb2_ioctl_query_info()
1765 rc = SMB2_close_init(tcon, server, in smb2_ioctl_query_info()
1771 rc = compound_send_recv(xid, ses, server, in smb2_ioctl_query_info()
1849 /* Request a key from the server to identify the source of the copy */ in smb2_copychunk_range()
1871 /* Request server copy to target from src identified by key */ in smb2_copychunk_range()
1892 * Check if server claimed to write more than we asked in smb2_copychunk_range()
1929 * and check if the server gave us different sizes after in smb2_copychunk_range()
1931 * if not then why is the server returning an error now in smb2_copychunk_range()
1936 /* Check that server is not asking us to grow size */ in smb2_copychunk_range()
1942 goto cchunk_out; /* server gave us bogus size */ in smb2_copychunk_range()
2026 * since Samba server doesn't set the flag on the share, yet in smb2_set_sparse()
2029 * mark that server does not support sparse files for this share in smb2_set_sparse()
2030 * to avoid repeatedly sending the unsupported fsctl to server in smb2_set_sparse()
2090 /* server fileays advertise duplicate extent support with this flag */ in smb2_duplicate_extents()
2335 struct TCP_Server_Info *server = cifs_pick_channel(tcon->ses); in smb2_query_dir_first() local
2361 rc = SMB2_open_init(tcon, server, in smb2_query_dir_first()
2375 rc = SMB2_query_directory_init(xid, tcon, server, in smb2_query_dir_first()
2385 rc = compound_send_recv(xid, tcon->ses, server, in smb2_query_dir_first()
2463 smb2_is_status_pending(char *buf, struct TCP_Server_Info *server) in smb2_is_status_pending() argument
2472 spin_lock(&server->req_lock); in smb2_is_status_pending()
2473 server->credits += le16_to_cpu(shdr->CreditRequest); in smb2_is_status_pending()
2474 scredits = server->credits; in smb2_is_status_pending()
2475 in_flight = server->in_flight; in smb2_is_status_pending()
2476 spin_unlock(&server->req_lock); in smb2_is_status_pending()
2477 wake_up(&server->request_q); in smb2_is_status_pending()
2479 trace_smb3_add_credits(server->CurrentMid, in smb2_is_status_pending()
2480 server->conn_id, server->hostname, scredits, in smb2_is_status_pending()
2518 smb2_is_network_name_deleted(char *buf, struct TCP_Server_Info *server) in smb2_is_network_name_deleted() argument
2529 list_for_each(tmp, &server->smb_ses_list) { in smb2_is_network_name_deleted()
2536 pr_warn_once("Server share %s deleted.\n", in smb2_is_network_name_deleted()
2549 if (tcon->ses->server->capabilities & SMB2_GLOBAL_CAP_LEASING) in smb2_oplock_response()
2578 struct TCP_Server_Info *server = ses->server; in smb2_set_next_command() local
2579 unsigned long len = smb_rqst_len(server, rqst); in smb2_set_next_command()
2642 struct TCP_Server_Info *server = cifs_pick_channel(ses); in smb2_query_info_compound() local
2673 rc = SMB2_open_init(tcon, server, in smb2_query_info_compound()
2683 rc = SMB2_query_info_init(tcon, server, in smb2_query_info_compound()
2697 rc = SMB2_close_init(tcon, server, in smb2_query_info_compound()
2703 rc = compound_send_recv(xid, ses, server, in smb2_query_info_compound()
2710 pr_warn_once("server share %s deleted\n", in smb2_query_info_compound()
3038 struct TCP_Server_Info *server = cifs_pick_channel(tcon->ses); in smb2_query_symlink() local
3084 rc = SMB2_open_init(tcon, server, in smb2_query_symlink()
3096 rc = SMB2_ioctl_init(tcon, server, in smb2_query_symlink()
3115 rc = SMB2_close_init(tcon, server, in smb2_query_symlink()
3122 rc = compound_send_recv(xid, tcon->ses, server, in smb2_query_symlink()
3224 struct TCP_Server_Info *server = cifs_pick_channel(tcon->ses); in smb2_query_reparse_tag() local
3265 rc = SMB2_open_init(tcon, server, in smb2_query_reparse_tag()
3277 rc = SMB2_ioctl_init(tcon, server, in smb2_query_reparse_tag()
3296 rc = SMB2_close_init(tcon, server, in smb2_query_reparse_tag()
3303 rc = compound_send_recv(xid, tcon->ses, server, in smb2_query_reparse_tag()
3489 /* Retrieve an ACL from the server */
3530 * first, otherwise the data may be inconsistent with the server. in smb3_zero_range()
3602 * caches first, otherwise the data may be inconsistent with the server. in smb3_punch_hole()
3962 * might fill holes on the server. in smb3_llseek()
4122 smb2_downgrade_oplock(struct TCP_Server_Info *server, in smb2_downgrade_oplock() argument
4126 server->ops->set_oplock_level(cinode, oplock, 0, NULL); in smb2_downgrade_oplock()
4134 smb3_downgrade_oplock(struct TCP_Server_Info *server, in smb3_downgrade_oplock() argument
4193 /* Check if the server granted an oplock rather than a lease */ in smb21_set_oplock_level()
4453 smb2_get_enc_key(struct TCP_Server_Info *server, __u64 ses_id, int enc, u8 *key) in smb2_get_enc_key() argument
4459 list_for_each_entry(server, &cifs_tcp_ses_list, tcp_ses_list) { in smb2_get_enc_key()
4460 list_for_each_entry(ses, &server->smb_ses_list, smb_ses_list) { in smb2_get_enc_key()
4482 crypt_message(struct TCP_Server_Info *server, int num_rqst, in crypt_message() argument
4499 rc = smb2_get_enc_key(server, tr_hdr->SessionId, enc, key); in crypt_message()
4506 rc = smb3_crypto_aead_allocate(server); in crypt_message()
4512 tfm = enc ? server->secmech.ccmaesencrypt : in crypt_message()
4513 server->secmech.ccmaesdecrypt; in crypt_message()
4515 if ((server->cipher_type == SMB2_ENCRYPTION_AES256_CCM) || in crypt_message()
4516 (server->cipher_type == SMB2_ENCRYPTION_AES256_GCM)) in crypt_message()
4558 if ((server->cipher_type == SMB2_ENCRYPTION_AES128_GCM) || in crypt_message()
4559 (server->cipher_type == SMB2_ENCRYPTION_AES256_GCM)) in crypt_message()
4614 smb3_init_transform_rq(struct TCP_Server_Info *server, int num_rqst, in smb3_init_transform_rq() argument
4639 orig_len += smb_rqst_len(server, &old_rq[i - 1]); in smb3_init_transform_rq()
4664 fill_transform_hdr(tr_hdr, orig_len, old_rq, server->cipher_type); in smb3_init_transform_rq()
4666 rc = crypt_message(server, num_rqst, new_rq, 1); in smb3_init_transform_rq()
4687 decrypt_raw_data(struct TCP_Server_Info *server, char *buf, in decrypt_raw_data() argument
4708 rc = crypt_message(server, 1, &rqst, 0); in decrypt_raw_data()
4717 server->total_read = buf_data_size + page_data_size; in decrypt_raw_data()
4723 read_data_into_pages(struct TCP_Server_Info *server, struct page **pages, in read_data_into_pages() argument
4742 length = cifs_read_page_from_socket(server, page, 0, n); in read_data_into_pages()
4745 server->total_read += length; in read_data_into_pages()
4780 handle_read_data(struct TCP_Server_Info *server, struct mid_q_entry *mid, in handle_read_data() argument
4803 if (server->ops->is_session_expired && in handle_read_data()
4804 server->ops->is_session_expired(buf)) { in handle_read_data()
4806 cifs_reconnect(server); in handle_read_data()
4810 if (server->ops->is_status_pending && in handle_read_data()
4811 server->ops->is_status_pending(buf, server)) in handle_read_data()
4819 min_t(unsigned int, buf_len, server->vals->read_rsp_size); in handle_read_data()
4825 rdata->result = server->ops->map_error(buf, true); in handle_read_data()
4827 cifs_dbg(FYI, "%s: server returned error %d\n", in handle_read_data()
4837 data_offset = server->ops->read_data_offset(buf); in handle_read_data()
4841 data_len = server->ops->read_data_length(buf, use_rdma_mr); in handle_read_data()
4843 if (data_offset < server->vals->read_rsp_size) { in handle_read_data()
4851 data_offset = server->vals->read_rsp_size; in handle_read_data()
4864 pad_len = data_offset - server->vals->read_rsp_size; in handle_read_data()
4921 length = rdata->copy_into_pages(server, rdata, &iter); in handle_read_data()
4937 struct TCP_Server_Info *server; member
4952 rc = decrypt_raw_data(dw->server, dw->buf, dw->server->vals->read_rsp_size, in smb2_decrypt_offload()
4959 dw->server->lstrp = jiffies; in smb2_decrypt_offload()
4960 mid = smb2_find_dequeue_mid(dw->server, dw->buf); in smb2_decrypt_offload()
4965 rc = handle_read_data(dw->server, mid, dw->buf, in smb2_decrypt_offload()
4966 dw->server->vals->read_rsp_size, in smb2_decrypt_offload()
4973 if (dw->server->ops->is_network_name_deleted) in smb2_decrypt_offload()
4974 dw->server->ops->is_network_name_deleted(dw->buf, in smb2_decrypt_offload()
4975 dw->server); in smb2_decrypt_offload()
4980 if (dw->server->tcpStatus == CifsNeedReconnect) { in smb2_decrypt_offload()
4988 &dw->server->pending_mid_q); in smb2_decrypt_offload()
5006 receive_encrypted_read(struct TCP_Server_Info *server, struct mid_q_entry **mid, in receive_encrypted_read() argument
5009 char *buf = server->smallbuf; in receive_encrypted_read()
5014 unsigned int buflen = server->pdu_size; in receive_encrypted_read()
5020 len = min_t(unsigned int, buflen, server->vals->read_rsp_size + in receive_encrypted_read()
5021 sizeof(struct smb2_transform_hdr)) - HEADER_SIZE(server) + 1; in receive_encrypted_read()
5023 rc = cifs_read_from_socket(server, buf + HEADER_SIZE(server) - 1, len); in receive_encrypted_read()
5026 server->total_read += rc; in receive_encrypted_read()
5029 server->vals->read_rsp_size; in receive_encrypted_read()
5047 rc = read_data_into_pages(server, pages, npages, len); in receive_encrypted_read()
5051 rc = cifs_discard_remaining_data(server); in receive_encrypted_read()
5060 if ((server->min_offload) && (server->in_flight > 1) && in receive_encrypted_read()
5061 (server->pdu_size >= server->min_offload)) { in receive_encrypted_read()
5066 dw->buf = server->smallbuf; in receive_encrypted_read()
5067 server->smallbuf = (char *)cifs_small_buf_get(); in receive_encrypted_read()
5072 dw->server = server; in receive_encrypted_read()
5081 rc = decrypt_raw_data(server, buf, server->vals->read_rsp_size, in receive_encrypted_read()
5086 *mid = smb2_find_mid(server, buf); in receive_encrypted_read()
5092 rc = handle_read_data(server, *mid, buf, in receive_encrypted_read()
5093 server->vals->read_rsp_size, in receive_encrypted_read()
5096 if (server->ops->is_network_name_deleted) { in receive_encrypted_read()
5097 server->ops->is_network_name_deleted(buf, in receive_encrypted_read()
5098 server); in receive_encrypted_read()
5109 cifs_discard_remaining_data(server); in receive_encrypted_read()
5114 receive_encrypted_standard(struct TCP_Server_Info *server, in receive_encrypted_standard() argument
5119 char *buf = server->smallbuf; in receive_encrypted_standard()
5121 unsigned int pdu_length = server->pdu_size; in receive_encrypted_standard()
5131 server->large_buf = true; in receive_encrypted_standard()
5132 memcpy(server->bigbuf, buf, server->total_read); in receive_encrypted_standard()
5133 buf = server->bigbuf; in receive_encrypted_standard()
5137 length = cifs_read_from_socket(server, buf + HEADER_SIZE(server) - 1, in receive_encrypted_standard()
5138 pdu_length - HEADER_SIZE(server) + 1); in receive_encrypted_standard()
5141 server->total_read += length; in receive_encrypted_standard()
5144 length = decrypt_raw_data(server, buf, buf_size, NULL, 0, 0, false); in receive_encrypted_standard()
5148 next_is_large = server->large_buf; in receive_encrypted_standard()
5161 mid_entry = smb2_find_mid(server, buf); in receive_encrypted_standard()
5167 mid_entry->resp_buf_size = server->pdu_size; in receive_encrypted_standard()
5178 ret = mid_entry->handle(server, mid_entry); in receive_encrypted_standard()
5180 ret = cifs_handle_standard(server, mid_entry); in receive_encrypted_standard()
5184 server->large_buf = next_is_large; in receive_encrypted_standard()
5186 server->bigbuf = buf = next_buffer; in receive_encrypted_standard()
5188 server->smallbuf = buf = next_buffer; in receive_encrypted_standard()
5193 * server->smallbuf and server->bigbuf are still valid. We need in receive_encrypted_standard()
5207 smb3_receive_transform(struct TCP_Server_Info *server, in smb3_receive_transform() argument
5210 char *buf = server->smallbuf; in smb3_receive_transform()
5211 unsigned int pdu_length = server->pdu_size; in smb3_receive_transform()
5219 cifs_reconnect(server); in smb3_receive_transform()
5225 cifs_reconnect(server); in smb3_receive_transform()
5230 if (pdu_length > CIFSMaxBufSize + MAX_HEADER_SIZE(server)) { in smb3_receive_transform()
5231 return receive_encrypted_read(server, &mids[0], num_mids); in smb3_receive_transform()
5234 return receive_encrypted_standard(server, mids, bufs, num_mids); in smb3_receive_transform()
5238 smb3_handle_read_data(struct TCP_Server_Info *server, struct mid_q_entry *mid) in smb3_handle_read_data() argument
5240 char *buf = server->large_buf ? server->bigbuf : server->smallbuf; in smb3_handle_read_data()
5242 return handle_read_data(server, mid, buf, server->pdu_size, in smb3_handle_read_data()
5286 * their current NFS server) uses this approach to expose special files in smb2_make_node()
5311 if (tcon->ses->server->oplocks) in smb2_make_node()
5315 rc = tcon->ses->server->ops->open(xid, &oparms, &oplock, buf); in smb2_make_node()
5335 rc = tcon->ses->server->ops->sync_write(xid, &fid, &io_parms, in smb2_make_node()
5341 rc = tcon->ses->server->ops->sync_write(xid, &fid, &io_parms, in smb2_make_node()
5344 tcon->ses->server->ops->close(xid, tcon, &fid); in smb2_make_node()