Lines Matching full:tcon
73 int smb3_encryption_required(const struct cifs_tcon *tcon) in smb3_encryption_required() argument
75 if (!tcon || !tcon->ses) in smb3_encryption_required()
77 if ((tcon->ses->session_flags & SMB2_SESSION_FLAG_ENCRYPT_DATA) || in smb3_encryption_required()
78 (tcon->share_flags & SHI1005_FLAGS_ENCRYPT_DATA)) in smb3_encryption_required()
80 if (tcon->seal && in smb3_encryption_required()
81 (tcon->ses->server->capabilities & SMB2_GLOBAL_CAP_ENCRYPTION)) in smb3_encryption_required()
88 const struct cifs_tcon *tcon, in smb2_hdr_assemble() argument
109 if (!tcon) in smb2_hdr_assemble()
118 shdr->Id.SyncId.TreeId = cpu_to_le32(tcon->tid); in smb2_hdr_assemble()
120 if (tcon->ses) in smb2_hdr_assemble()
121 shdr->SessionId = cpu_to_le64(tcon->ses->Suid); in smb2_hdr_assemble()
133 /* if (tcon->share_flags & SHI1005_FLAGS_DFS) in smb2_hdr_assemble()
136 if (server && server->sign && !smb3_encryption_required(tcon)) in smb2_hdr_assemble()
143 smb2_reconnect(__le16 smb2_command, struct cifs_tcon *tcon, in smb2_reconnect() argument
152 * SMB2s NegProt, SessSetup, Logoff do not have tcon yet so in smb2_reconnect()
156 if (tcon == NULL) in smb2_reconnect()
166 spin_lock(&tcon->tc_lock); in smb2_reconnect()
167 if (tcon->status == TID_EXITING) { in smb2_reconnect()
170 * (and ulogoff which does not have tcon) in smb2_reconnect()
176 spin_unlock(&tcon->tc_lock); in smb2_reconnect()
182 spin_unlock(&tcon->tc_lock); in smb2_reconnect()
183 if ((!tcon->ses) || (tcon->ses->ses_status == SES_EXITING) || in smb2_reconnect()
184 (!tcon->ses->server) || !server) in smb2_reconnect()
187 ses = tcon->ses; in smb2_reconnect()
236 if (!tcon->retry) { in smb2_reconnect()
244 if (!cifs_chan_needs_reconnect(ses, server) && !tcon->need_reconnect) { in smb2_reconnect()
249 cifs_dbg(FYI, "sess reconnect mask: 0x%lx, tcon reconnect: %d", in smb2_reconnect()
250 tcon->ses->chans_need_reconnect, in smb2_reconnect()
251 tcon->need_reconnect); in smb2_reconnect()
277 if (tcon->need_reconnect) in smb2_reconnect()
288 if ((rc == -EACCES) && !tcon->retry) { in smb2_reconnect()
304 if (!tcon->need_reconnect) { in smb2_reconnect()
308 cifs_mark_open_files_invalid(tcon); in smb2_reconnect()
309 if (tcon->use_persistent) in smb2_reconnect()
310 tcon->need_reopen_files = true; in smb2_reconnect()
312 rc = cifs_tree_connect(0, tcon, nls_codepage); in smb2_reconnect()
315 cifs_dbg(FYI, "reconnect tcon rc = %d\n", rc); in smb2_reconnect()
317 /* If sess reconnected but tcon didn't, something strange ... */ in smb2_reconnect()
318 pr_warn_once("reconnect tcon failed rc = %d\n", rc); in smb2_reconnect()
353 fill_small_buf(__le16 smb2_command, struct cifs_tcon *tcon, in fill_small_buf() argument
368 smb2_hdr_assemble(&spdu->hdr, smb2_command, tcon, server); in fill_small_buf()
379 static int __smb2_plain_req_init(__le16 smb2_command, struct cifs_tcon *tcon, in __smb2_plain_req_init() argument
393 fill_small_buf(smb2_command, tcon, server, in __smb2_plain_req_init()
397 if (tcon != NULL) { in __smb2_plain_req_init()
399 cifs_stats_inc(&tcon->stats.smb2_stats.smb2_com_sent[com_code]); in __smb2_plain_req_init()
400 cifs_stats_inc(&tcon->num_smbs_sent); in __smb2_plain_req_init()
406 static int smb2_plain_req_init(__le16 smb2_command, struct cifs_tcon *tcon, in smb2_plain_req_init() argument
412 rc = smb2_reconnect(smb2_command, tcon, server); in smb2_plain_req_init()
416 return __smb2_plain_req_init(smb2_command, tcon, server, request_buf, in smb2_plain_req_init()
420 static int smb2_ioctl_req_init(u32 opcode, struct cifs_tcon *tcon, in smb2_ioctl_req_init() argument
426 return __smb2_plain_req_init(SMB2_IOCTL, tcon, server, in smb2_ioctl_req_init()
429 return smb2_plain_req_init(SMB2_IOCTL, tcon, server, in smb2_ioctl_req_init()
955 * No tcon so can't do in SMB2_negotiate()
956 * cifs_stats_inc(&tcon->stats.smb2_stats.smb2_com_fail[SMB2...]); in SMB2_negotiate()
1090 int smb3_validate_negotiate(const unsigned int xid, struct cifs_tcon *tcon) in smb3_validate_negotiate() argument
1097 struct TCP_Server_Info *server = tcon->ses->server; in smb3_validate_negotiate()
1112 if (tcon->ses->session_flags & SMB2_SESSION_FLAG_IS_GUEST) in smb3_validate_negotiate()
1115 if (tcon->ses->user_name == NULL) { in smb3_validate_negotiate()
1120 if (tcon->ses->session_flags & SMB2_SESSION_FLAG_IS_NULL) in smb3_validate_negotiate()
1129 if (tcon->ses->chan_max > 1) in smb3_validate_negotiate()
1135 if (tcon->ses->sign) in smb3_validate_negotiate()
1173 rc = SMB2_ioctl(xid, tcon, NO_FILE_ID, NO_FILE_ID, in smb3_validate_negotiate()
1781 /* since no tcon, smb2_init can not do this, so do here */ in SMB2_logoff()
1802 * No tcon so can't do in SMB2_logoff()
1803 * cifs_stats_inc(&tcon->stats.smb2_stats.smb2_com_fail[SMB2...]); in SMB2_logoff()
1810 static inline void cifs_stats_fail_inc(struct cifs_tcon *tcon, uint16_t code) in cifs_stats_fail_inc() argument
1812 cifs_stats_inc(&tcon->stats.smb2_stats.smb2_com_failed[code]); in cifs_stats_fail_inc()
1818 static inline void init_copy_chunk_defaults(struct cifs_tcon *tcon) in init_copy_chunk_defaults() argument
1820 tcon->max_chunks = 256; in init_copy_chunk_defaults()
1821 tcon->max_bytes_chunk = 1048576; in init_copy_chunk_defaults()
1822 tcon->max_bytes_copy = 16777216; in init_copy_chunk_defaults()
1827 struct cifs_tcon *tcon, const struct nls_table *cp) in SMB2_tcon() argument
1845 cifs_dbg(FYI, "TCON\n"); in SMB2_tcon()
1862 tcon->tid = 0; in SMB2_tcon()
1863 atomic_set(&tcon->num_remote_opens, 0); in SMB2_tcon()
1864 rc = smb2_plain_req_init(SMB2_TREE_CONNECT, tcon, server, in SMB2_tcon()
1871 if (smb3_encryption_required(tcon)) in SMB2_tcon()
1886 * 3.11 tcon req must be signed if not encrypted. See MS-SMB2 3.2.4.1.1 in SMB2_tcon()
1891 !smb3_encryption_required(tcon) && in SMB2_tcon()
1908 trace_smb3_tcon(xid, tcon->tid, ses->Suid, tree, rc); in SMB2_tcon()
1910 cifs_stats_fail_inc(tcon, SMB2_TREE_CONNECT_HE); in SMB2_tcon()
1911 tcon->need_reconnect = true; in SMB2_tcon()
1920 tcon->pipe = true; in SMB2_tcon()
1924 tcon->print = true; in SMB2_tcon()
1933 tcon->share_flags = le32_to_cpu(rsp->ShareFlags); in SMB2_tcon()
1934 tcon->capabilities = rsp->Capabilities; /* we keep caps little endian */ in SMB2_tcon()
1935 tcon->maximal_access = le32_to_cpu(rsp->MaximalAccess); in SMB2_tcon()
1936 tcon->tid = le32_to_cpu(rsp->hdr.Id.SyncId.TreeId); in SMB2_tcon()
1937 strscpy(tcon->tree_name, tree, sizeof(tcon->tree_name)); in SMB2_tcon()
1940 ((tcon->share_flags & SHI1005_FLAGS_DFS) == 0)) in SMB2_tcon()
1943 if (tcon->seal && in SMB2_tcon()
1947 init_copy_chunk_defaults(tcon); in SMB2_tcon()
1949 rc = server->ops->validate_negotiate(xid, tcon); in SMB2_tcon()
1963 SMB2_tdis(const unsigned int xid, struct cifs_tcon *tcon) in SMB2_tdis() argument
1968 struct cifs_ses *ses = tcon->ses; in SMB2_tdis()
1980 trace_smb3_tdis_enter(xid, tcon->tid, ses->Suid, tcon->tree_name); in SMB2_tdis()
1982 if ((tcon->need_reconnect) || in SMB2_tdis()
1983 (CIFS_ALL_CHANS_NEED_RECONNECT(tcon->ses))) { in SMB2_tdis()
1989 invalidate_all_cached_dirs(tcon); in SMB2_tdis()
1991 rc = smb2_plain_req_init(SMB2_TREE_DISCONNECT, tcon, ses->server, in SMB2_tdis()
1997 if (smb3_encryption_required(tcon)) in SMB2_tdis()
2013 cifs_stats_fail_inc(tcon, SMB2_TREE_DISCONNECT_HE); in SMB2_tdis()
2014 trace_smb3_tdis_err(xid, tcon->tid, ses->Suid, rc); in SMB2_tdis()
2016 trace_smb3_tdis_done(xid, tcon->tid, ses->Suid); in SMB2_tdis()
2221 buf->dcontext.Timeout = cpu_to_le32(oparms->tcon->handle_timeout); in create_durable_v2_buf()
2613 umode_t mode, struct cifs_tcon *tcon, in smb311_posix_mkdir() argument
2620 struct cifs_ses *ses = tcon->ses; in smb311_posix_mkdir()
2649 rc = smb2_plain_req_init(SMB2_CREATE, tcon, server, in smb311_posix_mkdir()
2655 if (smb3_encryption_required(tcon)) in smb311_posix_mkdir()
2680 if (tcon->share_flags & SHI1005_FLAGS_DFS) { in smb311_posix_mkdir()
2686 tcon->tree_name, utf16_path); in smb311_posix_mkdir()
2719 if (tcon->posix_extensions) { in smb311_posix_mkdir()
2733 trace_smb3_posix_mkdir_enter(xid, tcon->tid, ses->Suid, CREATE_NOT_FILE, in smb311_posix_mkdir()
2739 cifs_stats_fail_inc(tcon, SMB2_CREATE_HE); in smb311_posix_mkdir()
2740 trace_smb3_posix_mkdir_err(xid, tcon->tid, ses->Suid, in smb311_posix_mkdir()
2758 trace_smb3_posix_mkdir_done(xid, rsp->PersistentFileId, tcon->tid, ses->Suid, in smb311_posix_mkdir()
2761 SMB2_close(xid, tcon, rsp->PersistentFileId, rsp->VolatileFileId); in smb311_posix_mkdir()
2776 SMB2_open_init(struct cifs_tcon *tcon, struct TCP_Server_Info *server, in SMB2_open_init() argument
2790 rc = smb2_plain_req_init(SMB2_CREATE, tcon, server, in SMB2_open_init()
2822 if (tcon->share_flags & SHI1005_FLAGS_DFS) { in SMB2_open_init()
2828 tcon->tree_name, path); in SMB2_open_init()
2851 if ((!server->oplocks) || (tcon->no_lease)) in SMB2_open_init()
2877 tcon->use_persistent); in SMB2_open_init()
2882 if (tcon->posix_extensions) { in SMB2_open_init()
2895 if (tcon->snapshot_time) { in SMB2_open_init()
2904 rc = add_twarp_context(iov, &n_iov, tcon->snapshot_time); in SMB2_open_init()
2975 struct cifs_tcon *tcon = oparms->tcon; in SMB2_open() local
2976 struct cifs_ses *ses = tcon->ses; in SMB2_open()
2988 if (smb3_encryption_required(tcon)) in SMB2_open()
2996 rc = SMB2_open_init(tcon, server, in SMB2_open()
3001 trace_smb3_open_enter(xid, tcon->tid, tcon->ses->Suid, in SMB2_open()
3010 cifs_stats_fail_inc(tcon, SMB2_CREATE_HE); in SMB2_open()
3017 trace_smb3_open_err(xid, tcon->tid, ses->Suid, in SMB2_open()
3021 tcon->tree_name); in SMB2_open()
3022 tcon->need_reconnect = true; in SMB2_open()
3028 trace_smb3_open_done(xid, rsp->PersistentFileId, tcon->tid, ses->Suid, in SMB2_open()
3031 atomic_inc(&tcon->num_remote_opens); in SMB2_open()
3061 SMB2_ioctl_init(struct cifs_tcon *tcon, struct TCP_Server_Info *server, in SMB2_ioctl_init() argument
3073 rc = smb2_ioctl_req_init(opcode, tcon, server, in SMB2_ioctl_init()
3166 SMB2_ioctl(const unsigned int xid, struct cifs_tcon *tcon, u64 persistent_fid, in SMB2_ioctl() argument
3190 if (!tcon) in SMB2_ioctl()
3193 ses = tcon->ses; in SMB2_ioctl()
3201 if (smb3_encryption_required(tcon)) in SMB2_ioctl()
3209 rc = SMB2_ioctl_init(tcon, server, in SMB2_ioctl()
3221 trace_smb3_fsctl_err(xid, persistent_fid, tcon->tid, in SMB2_ioctl()
3225 cifs_stats_fail_inc(tcon, SMB2_IOCTL_HE); in SMB2_ioctl()
3230 cifs_stats_fail_inc(tcon, SMB2_IOCTL_HE); in SMB2_ioctl()
3235 cifs_stats_fail_inc(tcon, SMB2_IOCTL_HE); in SMB2_ioctl()
3292 SMB2_set_compression(const unsigned int xid, struct cifs_tcon *tcon, in SMB2_set_compression() argument
3302 rc = SMB2_ioctl(xid, tcon, persistent_fid, volatile_fid, in SMB2_set_compression()
3314 SMB2_close_init(struct cifs_tcon *tcon, struct TCP_Server_Info *server, in SMB2_close_init() argument
3323 rc = smb2_plain_req_init(SMB2_CLOSE, tcon, server, in SMB2_close_init()
3348 __SMB2_close(const unsigned int xid, struct cifs_tcon *tcon, in __SMB2_close() argument
3354 struct cifs_ses *ses = tcon->ses; in __SMB2_close()
3368 if (smb3_encryption_required(tcon)) in __SMB2_close()
3380 trace_smb3_close_enter(xid, persistent_fid, tcon->tid, ses->Suid); in __SMB2_close()
3381 rc = SMB2_close_init(tcon, server, in __SMB2_close()
3392 cifs_stats_fail_inc(tcon, SMB2_CLOSE_HE); in __SMB2_close()
3393 trace_smb3_close_err(xid, persistent_fid, tcon->tid, ses->Suid, in __SMB2_close()
3397 trace_smb3_close_done(xid, persistent_fid, tcon->tid, in __SMB2_close()
3407 atomic_dec(&tcon->num_remote_opens); in __SMB2_close()
3416 tmp_rc = smb2_handle_cancelled_close(tcon, persistent_fid, in __SMB2_close()
3426 SMB2_close(const unsigned int xid, struct cifs_tcon *tcon, in SMB2_close() argument
3429 return __SMB2_close(xid, tcon, persistent_fid, volatile_fid, NULL); in SMB2_close()
3488 SMB2_query_info_init(struct cifs_tcon *tcon, struct TCP_Server_Info *server, in SMB2_query_info_init() argument
3499 rc = smb2_plain_req_init(SMB2_QUERY_INFO, tcon, server, in SMB2_query_info_init()
3532 query_info(const unsigned int xid, struct cifs_tcon *tcon, in query_info() argument
3543 struct cifs_ses *ses = tcon->ses; in query_info()
3556 if (smb3_encryption_required(tcon)) in query_info()
3564 rc = SMB2_query_info_init(tcon, server, in query_info()
3571 trace_smb3_query_info_enter(xid, persistent_fid, tcon->tid, in query_info()
3579 cifs_stats_fail_inc(tcon, SMB2_QUERY_INFO_HE); in query_info()
3580 trace_smb3_query_info_err(xid, persistent_fid, tcon->tid, in query_info()
3585 trace_smb3_query_info_done(xid, persistent_fid, tcon->tid, in query_info()
3619 int SMB2_query_info(const unsigned int xid, struct cifs_tcon *tcon, in SMB2_query_info() argument
3622 return query_info(xid, tcon, persistent_fid, volatile_fid, in SMB2_query_info()
3632 SMB311_posix_query_info(const unsigned int xid, struct cifs_tcon *tcon,
3639 return query_info(xid, tcon, persistent_fid, volatile_fid,
3647 SMB2_query_acl(const unsigned int xid, struct cifs_tcon *tcon, in SMB2_query_acl() argument
3655 return query_info(xid, tcon, persistent_fid, volatile_fid, in SMB2_query_acl()
3661 SMB2_get_srv_num(const unsigned int xid, struct cifs_tcon *tcon, in SMB2_get_srv_num() argument
3664 return query_info(xid, tcon, persistent_fid, volatile_fid, in SMB2_get_srv_num()
3678 struct cifs_tcon *tcon, struct TCP_Server_Info *server, in SMB2_notify_init() argument
3687 rc = smb2_plain_req_init(SMB2_CHANGE_NOTIFY, tcon, server, in SMB2_notify_init()
3710 SMB2_change_notify(const unsigned int xid, struct cifs_tcon *tcon, in SMB2_change_notify() argument
3715 struct cifs_ses *ses = tcon->ses; in SMB2_change_notify()
3729 if (smb3_encryption_required(tcon)) in SMB2_change_notify()
3740 rc = SMB2_notify_init(xid, &rqst, tcon, server, in SMB2_change_notify()
3746 trace_smb3_notify_enter(xid, persistent_fid, tcon->tid, ses->Suid, in SMB2_change_notify()
3752 cifs_stats_fail_inc(tcon, SMB2_CHANGE_NOTIFY_HE); in SMB2_change_notify()
3753 trace_smb3_notify_err(xid, persistent_fid, tcon->tid, ses->Suid, in SMB2_change_notify()
3756 trace_smb3_notify_done(xid, persistent_fid, tcon->tid, in SMB2_change_notify()
3817 struct cifs_tcon *tcon, *tcon2; in smb2_reconnect_server() local
3827 /* Prevent simultaneous reconnects that can corrupt tcon->rlist list */ in smb2_reconnect_server()
3839 list_for_each_entry(tcon, &ses->tcon_list, tcon_list) { in smb2_reconnect_server()
3840 if (tcon->need_reconnect || tcon->need_reopen_files) { in smb2_reconnect_server()
3841 tcon->tc_count++; in smb2_reconnect_server()
3842 list_add_tail(&tcon->rlist, &tmp_list); in smb2_reconnect_server()
3857 * binding session, but tcon is healthy (some other channel in smb2_reconnect_server()
3877 list_for_each_entry_safe(tcon, tcon2, &tmp_list, rlist) { in smb2_reconnect_server()
3878 rc = smb2_reconnect(SMB2_INTERNAL_CMD, tcon, server); in smb2_reconnect_server()
3880 cifs_reopen_persistent_handles(tcon); in smb2_reconnect_server()
3883 list_del_init(&tcon->rlist); in smb2_reconnect_server()
3884 if (tcon->ipc) in smb2_reconnect_server()
3885 cifs_put_smb_ses(tcon->ses); in smb2_reconnect_server()
3887 cifs_put_tcon(tcon); in smb2_reconnect_server()
3893 /* allocate a dummy tcon struct used for reconnect */ in smb2_reconnect_server()
3894 tcon = kzalloc(sizeof(struct cifs_tcon), GFP_KERNEL); in smb2_reconnect_server()
3895 if (!tcon) { in smb2_reconnect_server()
3904 tcon->status = TID_GOOD; in smb2_reconnect_server()
3905 tcon->retry = false; in smb2_reconnect_server()
3906 tcon->need_reconnect = false; in smb2_reconnect_server()
3910 tcon->ses = ses; in smb2_reconnect_server()
3911 rc = smb2_reconnect(SMB2_INTERNAL_CMD, tcon, server); in smb2_reconnect_server()
3917 kfree(tcon); in smb2_reconnect_server()
3980 struct cifs_tcon *tcon, struct TCP_Server_Info *server, in SMB2_flush_init() argument
3988 rc = smb2_plain_req_init(SMB2_FLUSH, tcon, server, in SMB2_flush_init()
4003 SMB2_flush(const unsigned int xid, struct cifs_tcon *tcon, u64 persistent_fid, in SMB2_flush() argument
4006 struct cifs_ses *ses = tcon->ses; in SMB2_flush()
4019 if (smb3_encryption_required(tcon)) in SMB2_flush()
4027 rc = SMB2_flush_init(xid, &rqst, tcon, server, in SMB2_flush()
4032 trace_smb3_flush_enter(xid, persistent_fid, tcon->tid, ses->Suid); in SMB2_flush()
4037 cifs_stats_fail_inc(tcon, SMB2_FLUSH_HE); in SMB2_flush()
4038 trace_smb3_flush_err(xid, persistent_fid, tcon->tid, ses->Suid, in SMB2_flush()
4041 trace_smb3_flush_done(xid, persistent_fid, tcon->tid, in SMB2_flush()
4064 rc = smb2_plain_req_init(SMB2_READ, io_parms->tcon, server, in smb2_new_read_req()
4086 io_parms->tcon->tid, io_parms->tcon->ses->Suid, in smb2_new_read_req()
4153 struct cifs_tcon *tcon = tlink_tcon(rdata->cfile->tlink); in smb2_readv_callback() local
4189 cifs_stats_bytes_read(tcon, rdata->got_bytes); in smb2_readv_callback()
4199 cifs_stats_bytes_read(tcon, rdata->got_bytes); in smb2_readv_callback()
4220 cifs_stats_fail_inc(tcon, SMB2_READ_HE); in smb2_readv_callback()
4223 tcon->tid, tcon->ses->Suid, rdata->offset, in smb2_readv_callback()
4228 tcon->tid, tcon->ses->Suid, in smb2_readv_callback()
4247 struct cifs_tcon *tcon = tlink_tcon(rdata->cfile->tlink); in smb2_async_readv() local
4254 rdata->server = cifs_pick_channel(tcon->ses); in smb2_async_readv()
4256 io_parms.tcon = tlink_tcon(rdata->cfile->tlink); in smb2_async_readv()
4269 if (smb3_encryption_required(io_parms.tcon)) in smb2_async_readv()
4296 cifs_stats_fail_inc(io_parms.tcon, SMB2_READ_HE); in smb2_async_readv()
4298 io_parms.tcon->tid, in smb2_async_readv()
4299 io_parms.tcon->ses->Suid, in smb2_async_readv()
4320 struct cifs_ses *ses = io_parms->tcon->ses; in SMB2_read()
4323 io_parms->server = cifs_pick_channel(io_parms->tcon->ses); in SMB2_read()
4330 if (smb3_encryption_required(io_parms->tcon)) in SMB2_read()
4346 cifs_stats_fail_inc(io_parms->tcon, SMB2_READ_HE); in SMB2_read()
4350 io_parms->tcon->tid, ses->Suid, in SMB2_read()
4354 trace_smb3_read_done(xid, req->PersistentFileId, io_parms->tcon->tid, in SMB2_read()
4362 io_parms->tcon->tid, ses->Suid, in SMB2_read()
4397 struct cifs_tcon *tcon = tlink_tcon(wdata->cfile->tlink); in smb2_writev_callback() local
4456 cifs_stats_fail_inc(tcon, SMB2_WRITE_HE); in smb2_writev_callback()
4459 tcon->tid, tcon->ses->Suid, wdata->offset, in smb2_writev_callback()
4463 tcon->tree_name); in smb2_writev_callback()
4467 tcon->tid, tcon->ses->Suid, in smb2_writev_callback()
4483 struct cifs_tcon *tcon = tlink_tcon(wdata->cfile->tlink); in smb2_async_writev() local
4490 server = wdata->server = cifs_pick_channel(tcon->ses); in smb2_async_writev()
4492 rc = smb2_plain_req_init(SMB2_WRITE, tcon, server, in smb2_async_writev()
4497 if (smb3_encryption_required(tcon)) in smb2_async_writev()
4514 tcon->tid, tcon->ses->Suid, wdata->offset, wdata->bytes); in smb2_async_writev()
4603 tcon->tid, tcon->ses->Suid, wdata->offset, in smb2_async_writev()
4606 cifs_stats_fail_inc(tcon, SMB2_WRITE_HE); in smb2_async_writev()
4640 io_parms->server = cifs_pick_channel(io_parms->tcon->ses); in SMB2_write()
4645 rc = smb2_plain_req_init(SMB2_WRITE, io_parms->tcon, server, in SMB2_write()
4650 if (smb3_encryption_required(io_parms->tcon)) in SMB2_write()
4667 io_parms->tcon->tid, io_parms->tcon->ses->Suid, in SMB2_write()
4678 rc = cifs_send_recv(xid, io_parms->tcon->ses, server, in SMB2_write()
4686 io_parms->tcon->tid, in SMB2_write()
4687 io_parms->tcon->ses->Suid, in SMB2_write()
4689 cifs_stats_fail_inc(io_parms->tcon, SMB2_WRITE_HE); in SMB2_write()
4695 io_parms->tcon->tid, in SMB2_write()
4696 io_parms->tcon->ses->Suid, in SMB2_write()
4853 struct cifs_tcon *tcon, in SMB2_query_directory_init() argument
4869 rc = smb2_plain_req_init(SMB2_QUERY_DIRECTORY, tcon, server, in SMB2_query_directory_init()
4916 trace_smb3_query_dir_enter(xid, persistent_fid, tcon->tid, in SMB2_query_directory_init()
4917 tcon->ses->Suid, index, output_size); in SMB2_query_directory_init()
4930 smb2_parse_query_directory(struct cifs_tcon *tcon, in smb2_parse_query_directory() argument
5002 SMB2_query_directory(const unsigned int xid, struct cifs_tcon *tcon, in SMB2_query_directory() argument
5012 struct cifs_ses *ses = tcon->ses; in SMB2_query_directory()
5019 if (smb3_encryption_required(tcon)) in SMB2_query_directory()
5027 rc = SMB2_query_directory_init(xid, tcon, server, in SMB2_query_directory()
5042 tcon->tid, tcon->ses->Suid, index, 0); in SMB2_query_directory()
5046 trace_smb3_query_dir_err(xid, persistent_fid, tcon->tid, in SMB2_query_directory()
5047 tcon->ses->Suid, index, 0, rc); in SMB2_query_directory()
5048 cifs_stats_fail_inc(tcon, SMB2_QUERY_DIRECTORY_HE); in SMB2_query_directory()
5053 rc = smb2_parse_query_directory(tcon, &rsp_iov, resp_buftype, in SMB2_query_directory()
5056 trace_smb3_query_dir_err(xid, persistent_fid, tcon->tid, in SMB2_query_directory()
5057 tcon->ses->Suid, index, 0, rc); in SMB2_query_directory()
5062 trace_smb3_query_dir_done(xid, persistent_fid, tcon->tid, in SMB2_query_directory()
5063 tcon->ses->Suid, index, srch_inf->entries_in_buffer); in SMB2_query_directory()
5072 SMB2_set_info_init(struct cifs_tcon *tcon, struct TCP_Server_Info *server, in SMB2_set_info_init() argument
5083 rc = smb2_plain_req_init(SMB2_SET_INFO, tcon, server, in SMB2_set_info_init()
5123 send_set_info(const unsigned int xid, struct cifs_tcon *tcon, in send_set_info() argument
5134 struct cifs_ses *ses = tcon->ses; in send_set_info()
5144 if (smb3_encryption_required(tcon)) in send_set_info()
5155 rc = SMB2_set_info_init(tcon, server, in send_set_info()
5172 cifs_stats_fail_inc(tcon, SMB2_SET_INFO_HE); in send_set_info()
5173 trace_smb3_set_info_err(xid, persistent_fid, tcon->tid, in send_set_info()
5183 SMB2_set_eof(const unsigned int xid, struct cifs_tcon *tcon, u64 persistent_fid, in SMB2_set_eof() argument
5195 trace_smb3_set_eof(xid, persistent_fid, tcon->tid, tcon->ses->Suid, le64_to_cpu(*eof)); in SMB2_set_eof()
5197 return send_set_info(xid, tcon, persistent_fid, volatile_fid, in SMB2_set_eof()
5203 SMB2_set_acl(const unsigned int xid, struct cifs_tcon *tcon, in SMB2_set_acl() argument
5207 return send_set_info(xid, tcon, persistent_fid, volatile_fid, in SMB2_set_acl()
5213 SMB2_set_ea(const unsigned int xid, struct cifs_tcon *tcon, in SMB2_set_ea() argument
5217 return send_set_info(xid, tcon, persistent_fid, volatile_fid, in SMB2_set_ea()
5223 SMB2_oplock_break(const unsigned int xid, struct cifs_tcon *tcon, in SMB2_oplock_break() argument
5230 struct cifs_ses *ses = tcon->ses; in SMB2_oplock_break()
5239 rc = smb2_plain_req_init(SMB2_OPLOCK_BREAK, tcon, server, in SMB2_oplock_break()
5244 if (smb3_encryption_required(tcon)) in SMB2_oplock_break()
5266 cifs_stats_fail_inc(tcon, SMB2_OPLOCK_BREAK_HE); in SMB2_oplock_break()
5305 build_qfs_info_req(struct kvec *iov, struct cifs_tcon *tcon, in build_qfs_info_req() argument
5316 if ((tcon->ses == NULL) || server == NULL) in build_qfs_info_req()
5319 rc = smb2_plain_req_init(SMB2_QUERY_INFO, tcon, server, in build_qfs_info_req()
5340 SMB311_posix_qfs_info(const unsigned int xid, struct cifs_tcon *tcon, in SMB311_posix_qfs_info() argument
5349 struct cifs_ses *ses = tcon->ses; in SMB311_posix_qfs_info()
5354 rc = build_qfs_info_req(&iov, tcon, server, in SMB311_posix_qfs_info()
5361 if (smb3_encryption_required(tcon)) in SMB311_posix_qfs_info()
5372 cifs_stats_fail_inc(tcon, SMB2_QUERY_INFO_HE); in SMB311_posix_qfs_info()
5391 SMB2_QFS_info(const unsigned int xid, struct cifs_tcon *tcon, in SMB2_QFS_info() argument
5400 struct cifs_ses *ses = tcon->ses; in SMB2_QFS_info()
5405 rc = build_qfs_info_req(&iov, tcon, server, in SMB2_QFS_info()
5412 if (smb3_encryption_required(tcon)) in SMB2_QFS_info()
5423 cifs_stats_fail_inc(tcon, SMB2_QUERY_INFO_HE); in SMB2_QFS_info()
5442 SMB2_QFS_attr(const unsigned int xid, struct cifs_tcon *tcon, in SMB2_QFS_attr() argument
5451 struct cifs_ses *ses = tcon->ses; in SMB2_QFS_attr()
5473 rc = build_qfs_info_req(&iov, tcon, server, in SMB2_QFS_attr()
5479 if (smb3_encryption_required(tcon)) in SMB2_QFS_attr()
5490 cifs_stats_fail_inc(tcon, SMB2_QUERY_INFO_HE); in SMB2_QFS_attr()
5502 memcpy(&tcon->fsAttrInfo, offset in SMB2_QFS_attr()
5506 memcpy(&tcon->fsDevInfo, offset in SMB2_QFS_attr()
5511 tcon->ss_flags = le32_to_cpu(ss_info->Flags); in SMB2_QFS_attr()
5512 tcon->perf_sector_size = in SMB2_QFS_attr()
5517 tcon->vol_serial_number = vol_info->VolumeSerialNumber; in SMB2_QFS_attr()
5518 tcon->vol_create_time = vol_info->VolumeCreationTime; in SMB2_QFS_attr()
5527 smb2_lockv(const unsigned int xid, struct cifs_tcon *tcon, in smb2_lockv() argument
5540 struct TCP_Server_Info *server = cifs_pick_channel(tcon->ses); in smb2_lockv()
5544 rc = smb2_plain_req_init(SMB2_LOCK, tcon, server, in smb2_lockv()
5549 if (smb3_encryption_required(tcon)) in smb2_lockv()
5565 cifs_stats_inc(&tcon->stats.cifs_stats.num_locks); in smb2_lockv()
5571 rc = cifs_send_recv(xid, tcon->ses, server, in smb2_lockv()
5577 cifs_stats_fail_inc(tcon, SMB2_LOCK_HE); in smb2_lockv()
5578 trace_smb3_lock_err(xid, persist_fid, tcon->tid, in smb2_lockv()
5579 tcon->ses->Suid, rc); in smb2_lockv()
5586 SMB2_lock(const unsigned int xid, struct cifs_tcon *tcon, in SMB2_lock() argument
5599 return smb2_lockv(xid, tcon, persist_fid, volatile_fid, pid, 1, &lock); in SMB2_lock()
5603 SMB2_lease_break(const unsigned int xid, struct cifs_tcon *tcon, in SMB2_lease_break() argument
5609 struct cifs_ses *ses = tcon->ses; in SMB2_lease_break()
5617 struct TCP_Server_Info *server = cifs_pick_channel(tcon->ses); in SMB2_lease_break()
5620 rc = smb2_plain_req_init(SMB2_OPLOCK_BREAK, tcon, server, in SMB2_lease_break()
5625 if (smb3_encryption_required(tcon)) in SMB2_lease_break()
5651 cifs_stats_fail_inc(tcon, SMB2_OPLOCK_BREAK_HE); in SMB2_lease_break()
5652 trace_smb3_lease_err(le32_to_cpu(lease_state), tcon->tid, in SMB2_lease_break()
5656 trace_smb3_lease_done(le32_to_cpu(lease_state), tcon->tid, in SMB2_lease_break()