Lines Matching full:tcon
435 smb1_negotiate_wsize(struct cifs_tcon *tcon, struct smb3_fs_context *ctx) in smb1_negotiate_wsize() argument
437 __u64 unix_cap = le64_to_cpu(tcon->fsUnixInfo.Capability); in smb1_negotiate_wsize()
438 struct TCP_Server_Info *server = tcon->ses->server; in smb1_negotiate_wsize()
444 else if (tcon->unix_ext && (unix_cap & CIFS_UNIX_LARGE_WRITE_CAP)) in smb1_negotiate_wsize()
450 if (!tcon->unix_ext || !(unix_cap & CIFS_UNIX_LARGE_WRITE_CAP)) in smb1_negotiate_wsize()
470 smb1_negotiate_rsize(struct cifs_tcon *tcon, struct smb3_fs_context *ctx) in smb1_negotiate_rsize() argument
472 __u64 unix_cap = le64_to_cpu(tcon->fsUnixInfo.Capability); in smb1_negotiate_rsize()
473 struct TCP_Server_Info *server = tcon->ses->server; in smb1_negotiate_rsize()
488 if (tcon->unix_ext && (unix_cap & CIFS_UNIX_LARGE_READ_CAP)) in smb1_negotiate_rsize()
511 cifs_qfs_tcon(const unsigned int xid, struct cifs_tcon *tcon, in cifs_qfs_tcon() argument
514 CIFSSMBQFSDeviceInfo(xid, tcon); in cifs_qfs_tcon()
515 CIFSSMBQFSAttributeInfo(xid, tcon); in cifs_qfs_tcon()
519 cifs_is_path_accessible(const unsigned int xid, struct cifs_tcon *tcon, in cifs_is_path_accessible() argument
529 rc = CIFSSMBQPathInfo(xid, tcon, full_path, file_info, in cifs_is_path_accessible()
534 rc = SMBQueryInformation(xid, tcon, full_path, file_info, in cifs_is_path_accessible()
541 struct cifs_tcon *tcon, in cifs_query_path_info() argument
565 if (tcon->ses->capabilities & CAP_NT_SMBS) in cifs_query_path_info()
566 rc = CIFSSMBQPathInfo(xid, tcon, full_path, &fi, 0 /* not legacy */, in cifs_query_path_info()
573 if (rc && !(tcon->ses->capabilities & CAP_UNICODE) && strpbrk(full_path, "*?\"><")) in cifs_query_path_info()
582 if (!(tcon->ses->capabilities & tcon->ses->server->vals->cap_nt_find)) in cifs_query_path_info()
586 rc = CIFSFindFirst(xid, tcon, full_path, cifs_sb, NULL, in cifs_query_path_info()
590 if (!(tcon->ses->capabilities & tcon->ses->server->vals->cap_nt_find)) { in cifs_query_path_info()
592 int offset = tcon->ses->server->timeAdj; in cifs_query_path_info()
638 rc = SMBQueryInformation(xid, tcon, full_path, &fi, cifs_sb->local_nls, in cifs_query_path_info()
660 rc = CIFSSMBQAllEAs(xid, tcon, full_path, SMB2_WSL_XATTR_DEV, in cifs_query_path_info()
690 static int cifs_get_srv_inum(const unsigned int xid, struct cifs_tcon *tcon, in cifs_get_srv_inum() argument
707 * Note that this function can be called with tcon == NULL. in cifs_get_srv_inum()
709 if (tcon && !(tcon->ses->capabilities & CAP_INFOLEVEL_PASSTHRU)) in cifs_get_srv_inum()
711 return CIFSGetSrvInodeNumber(xid, tcon, full_path, uniqueid, in cifs_get_srv_inum()
716 static int cifs_query_file_info(const unsigned int xid, struct cifs_tcon *tcon, in cifs_query_file_info() argument
726 if (!(tcon->ses->capabilities & CAP_NT_SMBS)) in cifs_query_file_info()
735 rc = CIFSSMBQFileInfo(xid, tcon, cfile->fid.netfid, &fi); in cifs_query_file_info()
742 cifs_clear_stats(struct cifs_tcon *tcon) in cifs_clear_stats() argument
744 atomic_set(&tcon->stats.cifs_stats.num_writes, 0); in cifs_clear_stats()
745 atomic_set(&tcon->stats.cifs_stats.num_reads, 0); in cifs_clear_stats()
746 atomic_set(&tcon->stats.cifs_stats.num_flushes, 0); in cifs_clear_stats()
747 atomic_set(&tcon->stats.cifs_stats.num_oplock_brks, 0); in cifs_clear_stats()
748 atomic_set(&tcon->stats.cifs_stats.num_opens, 0); in cifs_clear_stats()
749 atomic_set(&tcon->stats.cifs_stats.num_posixopens, 0); in cifs_clear_stats()
750 atomic_set(&tcon->stats.cifs_stats.num_posixmkdirs, 0); in cifs_clear_stats()
751 atomic_set(&tcon->stats.cifs_stats.num_closes, 0); in cifs_clear_stats()
752 atomic_set(&tcon->stats.cifs_stats.num_deletes, 0); in cifs_clear_stats()
753 atomic_set(&tcon->stats.cifs_stats.num_mkdirs, 0); in cifs_clear_stats()
754 atomic_set(&tcon->stats.cifs_stats.num_rmdirs, 0); in cifs_clear_stats()
755 atomic_set(&tcon->stats.cifs_stats.num_renames, 0); in cifs_clear_stats()
756 atomic_set(&tcon->stats.cifs_stats.num_t2renames, 0); in cifs_clear_stats()
757 atomic_set(&tcon->stats.cifs_stats.num_ffirst, 0); in cifs_clear_stats()
758 atomic_set(&tcon->stats.cifs_stats.num_fnext, 0); in cifs_clear_stats()
759 atomic_set(&tcon->stats.cifs_stats.num_fclose, 0); in cifs_clear_stats()
760 atomic_set(&tcon->stats.cifs_stats.num_hardlinks, 0); in cifs_clear_stats()
761 atomic_set(&tcon->stats.cifs_stats.num_symlinks, 0); in cifs_clear_stats()
762 atomic_set(&tcon->stats.cifs_stats.num_locks, 0); in cifs_clear_stats()
763 atomic_set(&tcon->stats.cifs_stats.num_acl_get, 0); in cifs_clear_stats()
764 atomic_set(&tcon->stats.cifs_stats.num_acl_set, 0); in cifs_clear_stats()
768 cifs_print_stats(struct seq_file *m, struct cifs_tcon *tcon) in cifs_print_stats() argument
771 atomic_read(&tcon->stats.cifs_stats.num_oplock_brks)); in cifs_print_stats()
773 atomic_read(&tcon->stats.cifs_stats.num_reads), in cifs_print_stats()
774 (long long)(tcon->bytes_read)); in cifs_print_stats()
776 atomic_read(&tcon->stats.cifs_stats.num_writes), in cifs_print_stats()
777 (long long)(tcon->bytes_written)); in cifs_print_stats()
779 atomic_read(&tcon->stats.cifs_stats.num_flushes)); in cifs_print_stats()
781 atomic_read(&tcon->stats.cifs_stats.num_locks), in cifs_print_stats()
782 atomic_read(&tcon->stats.cifs_stats.num_hardlinks), in cifs_print_stats()
783 atomic_read(&tcon->stats.cifs_stats.num_symlinks)); in cifs_print_stats()
785 atomic_read(&tcon->stats.cifs_stats.num_opens), in cifs_print_stats()
786 atomic_read(&tcon->stats.cifs_stats.num_closes), in cifs_print_stats()
787 atomic_read(&tcon->stats.cifs_stats.num_deletes)); in cifs_print_stats()
789 atomic_read(&tcon->stats.cifs_stats.num_posixopens), in cifs_print_stats()
790 atomic_read(&tcon->stats.cifs_stats.num_posixmkdirs)); in cifs_print_stats()
792 atomic_read(&tcon->stats.cifs_stats.num_mkdirs), in cifs_print_stats()
793 atomic_read(&tcon->stats.cifs_stats.num_rmdirs)); in cifs_print_stats()
795 atomic_read(&tcon->stats.cifs_stats.num_renames), in cifs_print_stats()
796 atomic_read(&tcon->stats.cifs_stats.num_t2renames)); in cifs_print_stats()
798 atomic_read(&tcon->stats.cifs_stats.num_ffirst), in cifs_print_stats()
799 atomic_read(&tcon->stats.cifs_stats.num_fnext), in cifs_print_stats()
800 atomic_read(&tcon->stats.cifs_stats.num_fclose)); in cifs_print_stats()
805 struct cifs_sb_info *cifs_sb, struct cifs_tcon *tcon, in cifs_mkdir_setinfo() argument
817 rc = CIFSSMBSetPathInfo(xid, tcon, full_path, &info, cifs_sb->local_nls, in cifs_mkdir_setinfo()
830 if (!(oparms->tcon->ses->capabilities & CAP_NT_SMBS)) in cifs_open_file()
831 rc = SMBLegacyOpen(xid, oparms->tcon, oparms->path, in cifs_open_file()
857 cifs_close_file(const unsigned int xid, struct cifs_tcon *tcon, in cifs_close_file() argument
860 return CIFSSMBClose(xid, tcon, fid->netfid); in cifs_close_file()
864 cifs_flush_file(const unsigned int xid, struct cifs_tcon *tcon, in cifs_flush_file() argument
867 return CIFSSMBFlush(xid, tcon, fid->netfid); in cifs_flush_file()
905 struct cifs_tcon *tcon; in smb_set_file_info() local
913 tcon = tlink_tcon(open_file->tlink); in smb_set_file_info()
921 tcon = tlink_tcon(tlink); in smb_set_file_info()
932 if (!(tcon->ses->capabilities & CAP_NT_SMBS) && in smb_set_file_info()
935 rc = cifs_query_path_info(xid, tcon, cifs_sb, full_path, &query_data); in smb_set_file_info()
962 rc = CIFSSMBSetPathInfo(xid, tcon, full_path, buf, cifs_sb->local_nls, in smb_set_file_info()
972 .tcon = tcon, in smb_set_file_info()
981 if (S_ISDIR(inode->i_mode) && !(tcon->ses->capabilities & CAP_NT_SMBS)) { in smb_set_file_info()
1002 !(tcon->ses->capabilities & CAP_NT_SMBS)) in smb_set_file_info()
1009 rc = SMBSetInformation(xid, tcon, full_path, in smb_set_file_info()
1030 rc = CIFSSMBSetFileInfo(xid, tcon, buf, fid.netfid, netpid); in smb_set_file_info()
1035 CIFSSMBClose(xid, tcon, fid.netfid); in smb_set_file_info()
1046 !(tcon->ses->capabilities & CAP_NT_SMBS) && in smb_set_file_info()
1048 SMBSetInformation(xid, tcon, full_path, in smb_set_file_info()
1060 cifs_set_compression(const unsigned int xid, struct cifs_tcon *tcon, in cifs_set_compression() argument
1063 return CIFSSMB_set_compression(xid, tcon, cfile->fid.netfid); in cifs_set_compression()
1067 cifs_query_dir_first(const unsigned int xid, struct cifs_tcon *tcon, in cifs_query_dir_first() argument
1074 rc = CIFSFindFirst(xid, tcon, path, cifs_sb, in cifs_query_dir_first()
1082 cifs_query_dir_next(const unsigned int xid, struct cifs_tcon *tcon, in cifs_query_dir_next() argument
1086 return CIFSFindNext(xid, tcon, fid->netfid, search_flags, srch_inf); in cifs_query_dir_next()
1090 cifs_close_dir(const unsigned int xid, struct cifs_tcon *tcon, in cifs_close_dir() argument
1093 return CIFSFindClose(xid, tcon, fid->netfid); in cifs_close_dir()
1097 cifs_oplock_response(struct cifs_tcon *tcon, __u64 persistent_fid, in cifs_oplock_response() argument
1100 return CIFSSMBLock(0, tcon, net_fid, current->tgid, 0, 0, 0, 0, in cifs_oplock_response()
1105 cifs_queryfs(const unsigned int xid, struct cifs_tcon *tcon, in cifs_queryfs() argument
1115 if ((tcon->ses->capabilities & CAP_UNIX) && in cifs_queryfs()
1116 (CIFS_POSIX_EXTENSIONS & le64_to_cpu(tcon->fsUnixInfo.Capability))) in cifs_queryfs()
1117 rc = CIFSSMBQFSPosixInfo(xid, tcon, buf); in cifs_queryfs()
1123 if (rc && (tcon->ses->capabilities & CAP_NT_SMBS)) in cifs_queryfs()
1124 rc = CIFSSMBQFSInfo(xid, tcon, buf); in cifs_queryfs()
1132 rc = SMBOldQFSInfo(xid, tcon, buf); in cifs_queryfs()
1146 cifs_unix_dfs_readlink(const unsigned int xid, struct cifs_tcon *tcon, in cifs_unix_dfs_readlink() argument
1154 rc = get_dfs_path(xid, tcon->ses, searchName, nls_codepage, &referral, in cifs_unix_dfs_readlink()
1170 struct cifs_tcon *tcon, in cifs_query_symlink() argument
1179 if (!cap_unix(tcon->ses)) in cifs_query_symlink()
1182 rc = CIFSSMBUnixQuerySymLink(xid, tcon, full_path, target_path, in cifs_query_symlink()
1185 rc = cifs_unix_dfs_readlink(xid, tcon, full_path, in cifs_query_symlink()
1228 struct dentry *dentry, struct cifs_tcon *tcon, in cifs_make_node() argument
1235 if (tcon->unix_ext) { in cifs_make_node()
1254 rc = CIFSSMBUnixSetPathInfo(xid, tcon, full_path, &args, in cifs_make_node()
1275 return cifs_sfu_make_node(xid, inode, dentry, tcon, in cifs_make_node()
1285 struct cifs_tcon *tcon; in cifs_is_network_name_deleted() local
1303 list_for_each_entry(tcon, &ses->tcon_list, tcon_list) { in cifs_is_network_name_deleted()
1304 if (tcon->tid == shdr->Tid) { in cifs_is_network_name_deleted()
1305 spin_lock(&tcon->tc_lock); in cifs_is_network_name_deleted()
1306 tcon->need_reconnect = true; in cifs_is_network_name_deleted()
1307 spin_unlock(&tcon->tc_lock); in cifs_is_network_name_deleted()
1310 tcon->tree_name); in cifs_is_network_name_deleted()