Lines Matching refs:tcon
440 cifs_negotiate_wsize(struct cifs_tcon *tcon, struct smb3_fs_context *ctx)
442 __u64 unix_cap = le64_to_cpu(tcon->fsUnixInfo.Capability);
443 struct TCP_Server_Info *server = tcon->ses->server;
449 else if (tcon->unix_ext && (unix_cap & CIFS_UNIX_LARGE_WRITE_CAP))
455 if (!tcon->unix_ext || !(unix_cap & CIFS_UNIX_LARGE_WRITE_CAP))
475 cifs_negotiate_rsize(struct cifs_tcon *tcon, struct smb3_fs_context *ctx)
477 __u64 unix_cap = le64_to_cpu(tcon->fsUnixInfo.Capability);
478 struct TCP_Server_Info *server = tcon->ses->server;
493 if (tcon->unix_ext && (unix_cap & CIFS_UNIX_LARGE_READ_CAP))
516 cifs_qfs_tcon(const unsigned int xid, struct cifs_tcon *tcon,
519 CIFSSMBQFSDeviceInfo(xid, tcon);
520 CIFSSMBQFSAttributeInfo(xid, tcon);
524 cifs_is_path_accessible(const unsigned int xid, struct cifs_tcon *tcon,
534 rc = CIFSSMBQPathInfo(xid, tcon, full_path, file_info,
539 rc = SMBQueryInformation(xid, tcon, full_path, file_info,
546 struct cifs_tcon *tcon,
558 rc = CIFSSMBQPathInfo(xid, tcon, full_path, &fi, 0 /* not legacy */, cifs_sb->local_nls,
563 * in tcon or mount.
566 rc = SMBQueryInformation(xid, tcon, full_path, &fi, cifs_sb->local_nls,
583 .tcon = tcon,
597 CIFSSMBClose(xid, tcon, fid.netfid);
603 static int cifs_get_srv_inum(const unsigned int xid, struct cifs_tcon *tcon,
618 return CIFSGetSrvInodeNumber(xid, tcon, full_path, uniqueid,
623 static int cifs_query_file_info(const unsigned int xid, struct cifs_tcon *tcon,
635 rc = CIFSSMBQFileInfo(xid, tcon, cfile->fid.netfid, &fi);
642 cifs_clear_stats(struct cifs_tcon *tcon)
644 atomic_set(&tcon->stats.cifs_stats.num_writes, 0);
645 atomic_set(&tcon->stats.cifs_stats.num_reads, 0);
646 atomic_set(&tcon->stats.cifs_stats.num_flushes, 0);
647 atomic_set(&tcon->stats.cifs_stats.num_oplock_brks, 0);
648 atomic_set(&tcon->stats.cifs_stats.num_opens, 0);
649 atomic_set(&tcon->stats.cifs_stats.num_posixopens, 0);
650 atomic_set(&tcon->stats.cifs_stats.num_posixmkdirs, 0);
651 atomic_set(&tcon->stats.cifs_stats.num_closes, 0);
652 atomic_set(&tcon->stats.cifs_stats.num_deletes, 0);
653 atomic_set(&tcon->stats.cifs_stats.num_mkdirs, 0);
654 atomic_set(&tcon->stats.cifs_stats.num_rmdirs, 0);
655 atomic_set(&tcon->stats.cifs_stats.num_renames, 0);
656 atomic_set(&tcon->stats.cifs_stats.num_t2renames, 0);
657 atomic_set(&tcon->stats.cifs_stats.num_ffirst, 0);
658 atomic_set(&tcon->stats.cifs_stats.num_fnext, 0);
659 atomic_set(&tcon->stats.cifs_stats.num_fclose, 0);
660 atomic_set(&tcon->stats.cifs_stats.num_hardlinks, 0);
661 atomic_set(&tcon->stats.cifs_stats.num_symlinks, 0);
662 atomic_set(&tcon->stats.cifs_stats.num_locks, 0);
663 atomic_set(&tcon->stats.cifs_stats.num_acl_get, 0);
664 atomic_set(&tcon->stats.cifs_stats.num_acl_set, 0);
668 cifs_print_stats(struct seq_file *m, struct cifs_tcon *tcon)
671 atomic_read(&tcon->stats.cifs_stats.num_oplock_brks));
673 atomic_read(&tcon->stats.cifs_stats.num_reads),
674 (long long)(tcon->bytes_read));
676 atomic_read(&tcon->stats.cifs_stats.num_writes),
677 (long long)(tcon->bytes_written));
679 atomic_read(&tcon->stats.cifs_stats.num_flushes));
681 atomic_read(&tcon->stats.cifs_stats.num_locks),
682 atomic_read(&tcon->stats.cifs_stats.num_hardlinks),
683 atomic_read(&tcon->stats.cifs_stats.num_symlinks));
685 atomic_read(&tcon->stats.cifs_stats.num_opens),
686 atomic_read(&tcon->stats.cifs_stats.num_closes),
687 atomic_read(&tcon->stats.cifs_stats.num_deletes));
689 atomic_read(&tcon->stats.cifs_stats.num_posixopens),
690 atomic_read(&tcon->stats.cifs_stats.num_posixmkdirs));
692 atomic_read(&tcon->stats.cifs_stats.num_mkdirs),
693 atomic_read(&tcon->stats.cifs_stats.num_rmdirs));
695 atomic_read(&tcon->stats.cifs_stats.num_renames),
696 atomic_read(&tcon->stats.cifs_stats.num_t2renames));
698 atomic_read(&tcon->stats.cifs_stats.num_ffirst),
699 atomic_read(&tcon->stats.cifs_stats.num_fnext),
700 atomic_read(&tcon->stats.cifs_stats.num_fclose));
705 struct cifs_sb_info *cifs_sb, struct cifs_tcon *tcon,
717 rc = CIFSSMBSetPathInfo(xid, tcon, full_path, &info, cifs_sb->local_nls,
730 if (!(oparms->tcon->ses->capabilities & CAP_NT_SMBS))
731 rc = SMBLegacyOpen(xid, oparms->tcon, oparms->path,
757 cifs_close_file(const unsigned int xid, struct cifs_tcon *tcon,
760 CIFSSMBClose(xid, tcon, fid->netfid);
764 cifs_flush_file(const unsigned int xid, struct cifs_tcon *tcon,
767 return CIFSSMBFlush(xid, tcon, fid->netfid);
802 struct cifs_tcon *tcon;
809 tcon = tlink_tcon(open_file->tlink);
819 tcon = tlink_tcon(tlink);
821 rc = CIFSSMBSetPathInfo(xid, tcon, full_path, buf, cifs_sb->local_nls,
831 .tcon = tcon,
851 rc = CIFSSMBSetFileInfo(xid, tcon, buf, fid.netfid, netpid);
856 CIFSSMBClose(xid, tcon, fid.netfid);
866 cifs_set_compression(const unsigned int xid, struct cifs_tcon *tcon,
869 return CIFSSMB_set_compression(xid, tcon, cfile->fid.netfid);
873 cifs_query_dir_first(const unsigned int xid, struct cifs_tcon *tcon,
880 rc = CIFSFindFirst(xid, tcon, path, cifs_sb,
888 cifs_query_dir_next(const unsigned int xid, struct cifs_tcon *tcon,
892 return CIFSFindNext(xid, tcon, fid->netfid, search_flags, srch_inf);
896 cifs_close_dir(const unsigned int xid, struct cifs_tcon *tcon,
899 return CIFSFindClose(xid, tcon, fid->netfid);
903 cifs_oplock_response(struct cifs_tcon *tcon, __u64 persistent_fid,
906 return CIFSSMBLock(0, tcon, net_fid, current->tgid, 0, 0, 0, 0,
911 cifs_queryfs(const unsigned int xid, struct cifs_tcon *tcon,
921 if ((tcon->ses->capabilities & CAP_UNIX) &&
922 (CIFS_POSIX_EXTENSIONS & le64_to_cpu(tcon->fsUnixInfo.Capability)))
923 rc = CIFSSMBQFSPosixInfo(xid, tcon, buf);
929 if (rc && (tcon->ses->capabilities & CAP_NT_SMBS))
930 rc = CIFSSMBQFSInfo(xid, tcon, buf);
938 rc = SMBOldQFSInfo(xid, tcon, buf);
952 cifs_unix_dfs_readlink(const unsigned int xid, struct cifs_tcon *tcon,
960 rc = get_dfs_path(xid, tcon->ses, searchName, nls_codepage, &referral,
976 struct cifs_tcon *tcon,
985 if (!cap_unix(tcon->ses))
988 rc = CIFSSMBUnixQuerySymLink(xid, tcon, full_path, target_path,
991 rc = cifs_unix_dfs_readlink(xid, tcon, full_path,
1039 struct dentry *dentry, struct cifs_tcon *tcon,
1054 if (tcon->unix_ext) {
1073 rc = CIFSSMBUnixSetPathInfo(xid, tcon, full_path, &args,
1100 .tcon = tcon,
1110 if (tcon->ses->server->oplocks)
1114 rc = tcon->ses->server->ops->open(xid, &oparms, &oplock, &buf);
1125 io_parms.tcon = tcon;
1134 rc = tcon->ses->server->ops->sync_write(xid, &fid, &io_parms,
1140 rc = tcon->ses->server->ops->sync_write(xid, &fid, &io_parms,
1143 tcon->ses->server->ops->close(xid, tcon, &fid);