Lines Matching defs:tcon
151 tconInfoFree(struct cifs_tcon *tcon)
153 if (tcon == NULL) {
157 free_cached_dirs(tcon->cfids);
159 kfree(tcon->nativeFileSystem);
160 kfree_sensitive(tcon->password);
162 dfs_put_root_smb_sessions(&tcon->dfs_ses_list);
164 kfree(tcon->origin_fullpath);
165 kfree(tcon);
423 struct cifs_tcon *tcon;
489 /* look up tcon based on tid & uid */
492 list_for_each_entry(tcon, &ses->tcon_list, tcon_list) {
493 if (tcon->tid != buf->Tid)
496 cifs_stats_inc(&tcon->stats.cifs_stats.num_oplock_brks);
497 spin_lock(&tcon->open_file_lock);
498 list_for_each_entry(netfile, &tcon->openFileList, tlist) {
513 spin_unlock(&tcon->open_file_lock);
517 spin_unlock(&tcon->open_file_lock);
542 struct cifs_tcon *tcon = NULL;
545 tcon = cifs_sb_master_tcon(cifs_sb);
550 tcon ? tcon->tree_name : "new server");
623 * Assumes the tcon->open_file_lock is held.
784 cifs_close_all_deferred_files(struct cifs_tcon *tcon)
791 spin_lock(&tcon->open_file_lock);
792 list_for_each_entry(cfile, &tcon->openFileList, tlist) {
807 spin_unlock(&tcon->open_file_lock);
816 cifs_close_deferred_file_under_dentry(struct cifs_tcon *tcon, const char *path)
826 spin_lock(&tcon->open_file_lock);
827 list_for_each_entry(cfile, &tcon->openFileList, tlist) {
845 spin_unlock(&tcon->open_file_lock);
1173 struct super_block *cifs_get_dfs_tcon_super(struct cifs_tcon *tcon)
1175 spin_lock(&tcon->tc_lock);
1176 if (!tcon->origin_fullpath) {
1177 spin_unlock(&tcon->tc_lock);
1180 spin_unlock(&tcon->tc_lock);
1181 return __cifs_get_super(tcon_super_cb, tcon);
1250 struct cifs_tcon *tcon,
1255 struct cifs_ses *ses = tcon->ses;
1264 * look up or tcon is not DFS.
1268 !is_tcon_dfs(tcon))
1271 spin_lock(&tcon->tc_lock);
1272 if (!tcon->origin_fullpath) {
1273 spin_unlock(&tcon->tc_lock);
1276 spin_unlock(&tcon->tc_lock);
1279 * Slow path - tcon is DFS and @full_path has prefix path, so attempt
1282 len = strnlen(tcon->tree_name, MAX_TREE_SIZE + 1) + strlen(full_path) + 1;
1287 scnprintf(path, len, "%s%s", tcon->tree_name, full_path);