Lines Matching defs:ses

646 static int get_dfs_referral(const unsigned int xid, struct cifs_ses *ses, const char *path,
655 if (!ses || !ses->server || !ses->server->ops->get_dfs_refer)
660 cifs_dbg(FYI, "%s: ipc=%s referral=%s\n", __func__, ses->tcon_ipc->tree_name, path);
661 rc = ses->server->ops->get_dfs_refer(xid, ses, path, refs, numrefs, cache_cp,
684 struct cifs_ses *ses,
708 * a new referral. The @ses used for performing the I/O could be
719 rc = get_dfs_referral(xid, ses, path, &refs, &numrefs);
846 * @ses: smb session to issue the request on
856 int dfs_cache_find(const unsigned int xid, struct cifs_ses *ses, const struct nls_table *cp,
868 ce = cache_refresh_path(xid, ses, npath, false);
1159 static bool is_ses_good(struct cifs_ses *ses)
1161 struct TCP_Server_Info *server = ses->server;
1162 struct cifs_tcon *tcon = ses->tcon_ipc;
1165 spin_lock(&ses->ses_lock);
1166 spin_lock(&ses->chan_lock);
1167 ret = !cifs_chan_needs_reconnect(ses, server) &&
1168 ses->ses_status == SES_GOOD &&
1170 spin_unlock(&ses->chan_lock);
1171 spin_unlock(&ses->ses_lock);
1175 /* Refresh dfs referral of @ses and mark it for reconnect if needed */
1176 static void __refresh_ses_referral(struct cifs_ses *ses, bool force_refresh)
1178 struct TCP_Server_Info *server = ses->server;
1213 ses = CIFS_DFS_ROOT_SES(ses);
1214 if (!is_ses_good(ses)) {
1220 ce = cache_refresh_path(xid, ses, path, true);
1235 static inline void refresh_ses_referral(struct cifs_ses *ses)
1237 __refresh_ses_referral(ses, false);
1240 static inline void force_refresh_ses_referral(struct cifs_ses *ses)
1242 __refresh_ses_referral(ses, true);
1283 force_refresh_ses_referral(tcon->ses);
1291 struct cifs_ses *ses;
1295 for (ses = tcon->ses; ses; ses = ses->dfs_root_ses)
1296 refresh_ses_referral(ses);