Lines Matching full:tcon

437 smb1_negotiate_wsize(struct cifs_tcon *tcon, struct smb3_fs_context *ctx)  in smb1_negotiate_wsize()  argument
439 __u64 unix_cap = le64_to_cpu(tcon->fsUnixInfo.Capability); in smb1_negotiate_wsize()
440 struct TCP_Server_Info *server = tcon->ses->server; in smb1_negotiate_wsize()
446 else if (tcon->unix_ext && (unix_cap & CIFS_UNIX_LARGE_WRITE_CAP)) in smb1_negotiate_wsize()
452 if (!tcon->unix_ext || !(unix_cap & CIFS_UNIX_LARGE_WRITE_CAP)) in smb1_negotiate_wsize()
472 smb1_negotiate_rsize(struct cifs_tcon *tcon, struct smb3_fs_context *ctx) in smb1_negotiate_rsize() argument
474 __u64 unix_cap = le64_to_cpu(tcon->fsUnixInfo.Capability); in smb1_negotiate_rsize()
475 struct TCP_Server_Info *server = tcon->ses->server; in smb1_negotiate_rsize()
490 if (tcon->unix_ext && (unix_cap & CIFS_UNIX_LARGE_READ_CAP)) in smb1_negotiate_rsize()
513 cifs_qfs_tcon(const unsigned int xid, struct cifs_tcon *tcon, in cifs_qfs_tcon() argument
516 CIFSSMBQFSDeviceInfo(xid, tcon); in cifs_qfs_tcon()
517 CIFSSMBQFSAttributeInfo(xid, tcon); in cifs_qfs_tcon()
521 cifs_is_path_accessible(const unsigned int xid, struct cifs_tcon *tcon, in cifs_is_path_accessible() argument
531 rc = CIFSSMBQPathInfo(xid, tcon, full_path, file_info, in cifs_is_path_accessible()
536 rc = SMBQueryInformation(xid, tcon, full_path, file_info, in cifs_is_path_accessible()
543 struct cifs_tcon *tcon, in cifs_query_path_info() argument
567 if (tcon->ses->capabilities & CAP_NT_SMBS) in cifs_query_path_info()
568 rc = CIFSSMBQPathInfo(xid, tcon, full_path, &fi, 0 /* not legacy */, in cifs_query_path_info()
575 if (rc && !(tcon->ses->capabilities & CAP_UNICODE) && strpbrk(full_path, "*?\"><")) in cifs_query_path_info()
584 if (!(tcon->ses->capabilities & tcon->ses->server->vals->cap_nt_find)) in cifs_query_path_info()
588 rc = CIFSFindFirst(xid, tcon, full_path, cifs_sb, NULL, in cifs_query_path_info()
592 if (!(tcon->ses->capabilities & tcon->ses->server->vals->cap_nt_find)) { in cifs_query_path_info()
594 int offset = tcon->ses->server->timeAdj; in cifs_query_path_info()
640 rc = SMBQueryInformation(xid, tcon, full_path, &fi, cifs_sb->local_nls, in cifs_query_path_info()
662 rc = CIFSSMBQAllEAs(xid, tcon, full_path, SMB2_WSL_XATTR_DEV, in cifs_query_path_info()
692 static int cifs_get_srv_inum(const unsigned int xid, struct cifs_tcon *tcon, in cifs_get_srv_inum() argument
709 * Note that this function can be called with tcon == NULL. in cifs_get_srv_inum()
711 if (tcon && !(tcon->ses->capabilities & CAP_INFOLEVEL_PASSTHRU)) in cifs_get_srv_inum()
713 return CIFSGetSrvInodeNumber(xid, tcon, full_path, uniqueid, in cifs_get_srv_inum()
718 static int cifs_query_file_info(const unsigned int xid, struct cifs_tcon *tcon, in cifs_query_file_info() argument
728 if (!(tcon->ses->capabilities & CAP_NT_SMBS)) in cifs_query_file_info()
737 rc = CIFSSMBQFileInfo(xid, tcon, cfile->fid.netfid, &fi); in cifs_query_file_info()
744 cifs_clear_stats(struct cifs_tcon *tcon) in cifs_clear_stats() argument
746 atomic_set(&tcon->stats.cifs_stats.num_writes, 0); in cifs_clear_stats()
747 atomic_set(&tcon->stats.cifs_stats.num_reads, 0); in cifs_clear_stats()
748 atomic_set(&tcon->stats.cifs_stats.num_flushes, 0); in cifs_clear_stats()
749 atomic_set(&tcon->stats.cifs_stats.num_oplock_brks, 0); in cifs_clear_stats()
750 atomic_set(&tcon->stats.cifs_stats.num_opens, 0); in cifs_clear_stats()
751 atomic_set(&tcon->stats.cifs_stats.num_posixopens, 0); in cifs_clear_stats()
752 atomic_set(&tcon->stats.cifs_stats.num_posixmkdirs, 0); in cifs_clear_stats()
753 atomic_set(&tcon->stats.cifs_stats.num_closes, 0); in cifs_clear_stats()
754 atomic_set(&tcon->stats.cifs_stats.num_deletes, 0); in cifs_clear_stats()
755 atomic_set(&tcon->stats.cifs_stats.num_mkdirs, 0); in cifs_clear_stats()
756 atomic_set(&tcon->stats.cifs_stats.num_rmdirs, 0); in cifs_clear_stats()
757 atomic_set(&tcon->stats.cifs_stats.num_renames, 0); in cifs_clear_stats()
758 atomic_set(&tcon->stats.cifs_stats.num_t2renames, 0); in cifs_clear_stats()
759 atomic_set(&tcon->stats.cifs_stats.num_ffirst, 0); in cifs_clear_stats()
760 atomic_set(&tcon->stats.cifs_stats.num_fnext, 0); in cifs_clear_stats()
761 atomic_set(&tcon->stats.cifs_stats.num_fclose, 0); in cifs_clear_stats()
762 atomic_set(&tcon->stats.cifs_stats.num_hardlinks, 0); in cifs_clear_stats()
763 atomic_set(&tcon->stats.cifs_stats.num_symlinks, 0); in cifs_clear_stats()
764 atomic_set(&tcon->stats.cifs_stats.num_locks, 0); in cifs_clear_stats()
765 atomic_set(&tcon->stats.cifs_stats.num_acl_get, 0); in cifs_clear_stats()
766 atomic_set(&tcon->stats.cifs_stats.num_acl_set, 0); in cifs_clear_stats()
770 cifs_print_stats(struct seq_file *m, struct cifs_tcon *tcon) in cifs_print_stats() argument
773 atomic_read(&tcon->stats.cifs_stats.num_oplock_brks)); in cifs_print_stats()
775 atomic_read(&tcon->stats.cifs_stats.num_reads), in cifs_print_stats()
776 (long long)(tcon->bytes_read)); in cifs_print_stats()
778 atomic_read(&tcon->stats.cifs_stats.num_writes), in cifs_print_stats()
779 (long long)(tcon->bytes_written)); in cifs_print_stats()
781 atomic_read(&tcon->stats.cifs_stats.num_flushes)); in cifs_print_stats()
783 atomic_read(&tcon->stats.cifs_stats.num_locks), in cifs_print_stats()
784 atomic_read(&tcon->stats.cifs_stats.num_hardlinks), in cifs_print_stats()
785 atomic_read(&tcon->stats.cifs_stats.num_symlinks)); in cifs_print_stats()
787 atomic_read(&tcon->stats.cifs_stats.num_opens), in cifs_print_stats()
788 atomic_read(&tcon->stats.cifs_stats.num_closes), in cifs_print_stats()
789 atomic_read(&tcon->stats.cifs_stats.num_deletes)); in cifs_print_stats()
791 atomic_read(&tcon->stats.cifs_stats.num_posixopens), in cifs_print_stats()
792 atomic_read(&tcon->stats.cifs_stats.num_posixmkdirs)); in cifs_print_stats()
794 atomic_read(&tcon->stats.cifs_stats.num_mkdirs), in cifs_print_stats()
795 atomic_read(&tcon->stats.cifs_stats.num_rmdirs)); in cifs_print_stats()
797 atomic_read(&tcon->stats.cifs_stats.num_renames), in cifs_print_stats()
798 atomic_read(&tcon->stats.cifs_stats.num_t2renames)); in cifs_print_stats()
800 atomic_read(&tcon->stats.cifs_stats.num_ffirst), in cifs_print_stats()
801 atomic_read(&tcon->stats.cifs_stats.num_fnext), in cifs_print_stats()
802 atomic_read(&tcon->stats.cifs_stats.num_fclose)); in cifs_print_stats()
807 struct cifs_sb_info *cifs_sb, struct cifs_tcon *tcon, in cifs_mkdir_setinfo() argument
819 rc = CIFSSMBSetPathInfo(xid, tcon, full_path, &info, cifs_sb->local_nls, in cifs_mkdir_setinfo()
832 if (!(oparms->tcon->ses->capabilities & CAP_NT_SMBS)) in cifs_open_file()
833 rc = SMBLegacyOpen(xid, oparms->tcon, oparms->path, in cifs_open_file()
859 cifs_close_file(const unsigned int xid, struct cifs_tcon *tcon, in cifs_close_file() argument
862 return CIFSSMBClose(xid, tcon, fid->netfid); in cifs_close_file()
866 cifs_flush_file(const unsigned int xid, struct cifs_tcon *tcon, in cifs_flush_file() argument
869 return CIFSSMBFlush(xid, tcon, fid->netfid); in cifs_flush_file()
907 struct cifs_tcon *tcon; in smb_set_file_info() local
915 tcon = tlink_tcon(open_file->tlink); in smb_set_file_info()
923 tcon = tlink_tcon(tlink); in smb_set_file_info()
934 if (!(tcon->ses->capabilities & CAP_NT_SMBS) && in smb_set_file_info()
937 rc = cifs_query_path_info(xid, tcon, cifs_sb, full_path, &query_data); in smb_set_file_info()
964 rc = CIFSSMBSetPathInfo(xid, tcon, full_path, buf, cifs_sb->local_nls, in smb_set_file_info()
974 .tcon = tcon, in smb_set_file_info()
983 if (S_ISDIR(inode->i_mode) && !(tcon->ses->capabilities & CAP_NT_SMBS)) { in smb_set_file_info()
1004 !(tcon->ses->capabilities & CAP_NT_SMBS)) in smb_set_file_info()
1011 rc = SMBSetInformation(xid, tcon, full_path, in smb_set_file_info()
1032 rc = CIFSSMBSetFileInfo(xid, tcon, buf, fid.netfid, netpid); in smb_set_file_info()
1037 CIFSSMBClose(xid, tcon, fid.netfid); in smb_set_file_info()
1048 !(tcon->ses->capabilities & CAP_NT_SMBS) && in smb_set_file_info()
1050 SMBSetInformation(xid, tcon, full_path, in smb_set_file_info()
1062 cifs_set_compression(const unsigned int xid, struct cifs_tcon *tcon, in cifs_set_compression() argument
1065 return CIFSSMB_set_compression(xid, tcon, cfile->fid.netfid); in cifs_set_compression()
1069 cifs_query_dir_first(const unsigned int xid, struct cifs_tcon *tcon, in cifs_query_dir_first() argument
1076 rc = CIFSFindFirst(xid, tcon, path, cifs_sb, in cifs_query_dir_first()
1084 cifs_query_dir_next(const unsigned int xid, struct cifs_tcon *tcon, in cifs_query_dir_next() argument
1088 return CIFSFindNext(xid, tcon, fid->netfid, search_flags, srch_inf); in cifs_query_dir_next()
1092 cifs_close_dir(const unsigned int xid, struct cifs_tcon *tcon, in cifs_close_dir() argument
1095 return CIFSFindClose(xid, tcon, fid->netfid); in cifs_close_dir()
1099 cifs_oplock_response(struct cifs_tcon *tcon, __u64 persistent_fid, in cifs_oplock_response() argument
1102 return CIFSSMBLock(0, tcon, net_fid, current->tgid, 0, 0, 0, 0, in cifs_oplock_response()
1107 cifs_queryfs(const unsigned int xid, struct cifs_tcon *tcon, in cifs_queryfs() argument
1117 if ((tcon->ses->capabilities & CAP_UNIX) && in cifs_queryfs()
1118 (CIFS_POSIX_EXTENSIONS & le64_to_cpu(tcon->fsUnixInfo.Capability))) in cifs_queryfs()
1119 rc = CIFSSMBQFSPosixInfo(xid, tcon, buf); in cifs_queryfs()
1125 if (rc && (tcon->ses->capabilities & CAP_NT_SMBS)) in cifs_queryfs()
1126 rc = CIFSSMBQFSInfo(xid, tcon, buf); in cifs_queryfs()
1134 rc = SMBOldQFSInfo(xid, tcon, buf); in cifs_queryfs()
1148 cifs_unix_dfs_readlink(const unsigned int xid, struct cifs_tcon *tcon, in cifs_unix_dfs_readlink() argument
1156 rc = get_dfs_path(xid, tcon->ses, searchName, nls_codepage, &referral, in cifs_unix_dfs_readlink()
1172 struct cifs_tcon *tcon, in cifs_query_symlink() argument
1181 if (!cap_unix(tcon->ses)) in cifs_query_symlink()
1184 rc = CIFSSMBUnixQuerySymLink(xid, tcon, full_path, target_path, in cifs_query_symlink()
1187 rc = cifs_unix_dfs_readlink(xid, tcon, full_path, in cifs_query_symlink()
1230 struct dentry *dentry, struct cifs_tcon *tcon, in cifs_make_node() argument
1237 if (tcon->unix_ext) { in cifs_make_node()
1256 rc = CIFSSMBUnixSetPathInfo(xid, tcon, full_path, &args, in cifs_make_node()
1274 return cifs_sfu_make_node(xid, inode, dentry, tcon, in cifs_make_node()
1276 } else if (CIFS_REPARSE_SUPPORT(tcon)) { in cifs_make_node()
1283 return mknod_reparse(xid, inode, dentry, tcon, in cifs_make_node()
1296 struct cifs_tcon *tcon; in cifs_is_network_name_deleted() local
1314 list_for_each_entry(tcon, &ses->tcon_list, tcon_list) { in cifs_is_network_name_deleted()
1315 if (tcon->tid == shdr->Tid) { in cifs_is_network_name_deleted()
1316 spin_lock(&tcon->tc_lock); in cifs_is_network_name_deleted()
1317 tcon->need_reconnect = true; in cifs_is_network_name_deleted()
1318 spin_unlock(&tcon->tc_lock); in cifs_is_network_name_deleted()
1321 tcon->tree_name); in cifs_is_network_name_deleted()