| /linux/fs/smb/client/ |
| H A D | sess.c | 26 cifs_ses_add_channel(struct cifs_ses *ses, 29 bool is_ses_using_iface(struct cifs_ses *ses, struct cifs_server_iface *iface) in is_ses_using_iface() argument 33 spin_lock(&ses->chan_lock); in is_ses_using_iface() 34 for (i = 0; i < ses->chan_count; i++) { in is_ses_using_iface() 35 if (ses->chans[i].iface == iface) { in is_ses_using_iface() 36 spin_unlock(&ses->chan_lock); in is_ses_using_iface() 40 spin_unlock(&ses->chan_lock); in is_ses_using_iface() 47 cifs_ses_get_chan_index(struct cifs_ses *ses, in cifs_ses_get_chan_index() argument 56 for (i = 0; i < ses->chan_count; i++) { in cifs_ses_get_chan_index() 57 if (ses->chans[i].server == server) in cifs_ses_get_chan_index() [all …]
|
| H A D | smb1session.c | 21 struct cifs_ses *ses; member 39 static __u32 cifs_ssetup_hdr(struct cifs_ses *ses, in cifs_ssetup_hdr() argument 68 if (ses->capabilities & CAP_UNICODE) { in cifs_ssetup_hdr() 72 if (ses->capabilities & CAP_STATUS32) { in cifs_ssetup_hdr() 76 if (ses->capabilities & CAP_DFS) { in cifs_ssetup_hdr() 80 if (ses->capabilities & CAP_UNIX) in cifs_ssetup_hdr() 125 static void unicode_domain_string(char **pbcc_area, struct cifs_ses *ses, in unicode_domain_string() argument 132 if (ses->domainName == NULL) { in unicode_domain_string() 141 bytes_ret = cifs_strtoUTF16((__le16 *) bcc_ptr, ses->domainName, in unicode_domain_string() 149 static void ascii_domain_string(char **pbcc_area, struct cifs_ses *ses, in ascii_domain_string() argument [all …]
|
| H A D | connect.c | 66 static struct mchan_mount *mchan_mount_alloc(struct cifs_ses *ses); 110 struct TCP_Server_Info *server = tcon->ses->server; in smb2_query_server_interfaces() 152 struct cifs_ses *ses; in cifs_signal_cifsd_for_reconnect() local 166 list_for_each_entry(ses, &server->smb_ses_list, smb_ses_list) { in cifs_signal_cifsd_for_reconnect() 167 spin_lock(&ses->ses_lock); in cifs_signal_cifsd_for_reconnect() 168 if (ses->ses_status == SES_EXITING) { in cifs_signal_cifsd_for_reconnect() 169 spin_unlock(&ses->ses_lock); in cifs_signal_cifsd_for_reconnect() 172 spin_lock(&ses->chan_lock); in cifs_signal_cifsd_for_reconnect() 173 for (i = 1; i < ses->chan_count; i++) { in cifs_signal_cifsd_for_reconnect() 174 nserver = ses->chans[i].server; in cifs_signal_cifsd_for_reconnect() [all …]
|
| H A D | smb2pdu.c | 79 if (!tcon || !tcon->ses) in smb3_encryption_required() 81 if ((tcon->ses->session_flags & SMB2_SESSION_FLAG_ENCRYPT_DATA) || in smb3_encryption_required() 85 (tcon->ses->server->capabilities & SMB2_GLOBAL_CAP_ENCRYPTION)) in smb3_encryption_required() 88 (tcon->ses->server->capabilities & SMB2_GLOBAL_CAP_ENCRYPTION)) in smb3_encryption_required() 144 if (tcon->ses) in smb2_hdr_assemble() 145 shdr->SessionId = cpu_to_le64(tcon->ses->Suid); in smb2_hdr_assemble() 168 cifs_chan_skip_or_disable(struct cifs_ses *ses, in cifs_chan_skip_or_disable() argument 178 ses->server->hostname); in cifs_chan_skip_or_disable() 180 spin_lock(&ses->chan_lock); in cifs_chan_skip_or_disable() 181 chan_index = cifs_ses_get_chan_index(ses, server); in cifs_chan_skip_or_disable() [all …]
|
| H A D | dfs.h | 23 struct cifs_ses *ses; member 43 #define ref_walk_ses(w) (ref_walk_cur(w)->ses) 68 if (ref->ses) in __ref_walk_free() 69 cifs_put_smb_ses(ref->ses); in __ref_walk_free() 138 if (WARN_ON_ONCE(!ref->ses)) in ref_walk_set_tcon() 140 list_add(&ref->ses->dlist, &tcon->dfs_ses_list); in ref_walk_set_tcon() 141 ref->ses = NULL; in ref_walk_set_tcon() 170 struct cifs_ses *rses = ctx->dfs_root_ses ?: mnt_ctx->ses; in dfs_get_referral() 184 struct cifs_ses *ses, *n; in dfs_put_root_smb_sessions() local 186 list_for_each_entry_safe(ses, n, head, dlist) { in dfs_put_root_smb_sessions() [all …]
|
| H A D | smb1transport.c | 72 static int allocate_mid(struct cifs_ses *ses, struct smb_hdr *in_buf, in allocate_mid() argument 75 spin_lock(&ses->ses_lock); in allocate_mid() 76 if (ses->ses_status == SES_NEW) { in allocate_mid() 79 spin_unlock(&ses->ses_lock); in allocate_mid() 85 if (ses->ses_status == SES_EXITING) { in allocate_mid() 88 spin_unlock(&ses->ses_lock); in allocate_mid() 93 spin_unlock(&ses->ses_lock); in allocate_mid() 95 *ppmidQ = alloc_mid(in_buf, ses->server); in allocate_mid() 98 spin_lock(&ses->server->mid_queue_lock); in allocate_mid() 99 list_add_tail(&(*ppmidQ)->qhead, &ses->server->pending_mid_q); in allocate_mid() [all …]
|
| H A D | cifsproto.h | 100 struct TCP_Server_Info *cifs_pick_channel(struct cifs_ses *ses); 101 int cifs_send_recv(const unsigned int xid, struct cifs_ses *ses, 104 int compound_send_recv(const unsigned int xid, struct cifs_ses *ses, 118 send_cancel(struct cifs_ses *ses, struct TCP_Server_Info *server, in send_cancel() argument 123 server->ops->send_cancel(ses, server, rqst, mid, xid) : 0; in send_cancel() 290 int cifs_negotiate_protocol(const unsigned int xid, struct cifs_ses *ses, 292 int cifs_setup_session(const unsigned int xid, struct cifs_ses *ses, 310 int setup_ntlmv2_rsp(struct cifs_ses *ses, const struct nls_table *nls_cp); 312 int calc_seckey(struct cifs_ses *ses); 313 int generate_smb30signingkey(struct cifs_ses *ses, [all …]
|
| H A D | dfs_cache.c | 644 static int get_dfs_referral(const unsigned int xid, struct cifs_ses *ses, const char *path, in get_dfs_referral() argument 653 if (!ses || !ses->server || !ses->server->ops->get_dfs_refer) in get_dfs_referral() 658 cifs_dbg(FYI, "%s: ipc=%s referral=%s\n", __func__, ses->tcon_ipc->tree_name, path); in get_dfs_referral() 659 rc = ses->server->ops->get_dfs_refer(xid, ses, path, refs, numrefs, cache_cp, in get_dfs_referral() 682 struct cifs_ses *ses, in cache_refresh_path() argument 717 rc = get_dfs_referral(xid, ses, path, &refs, &numrefs); in cache_refresh_path() 854 int dfs_cache_find(const unsigned int xid, struct cifs_ses *ses, const struct nls_table *cp, in dfs_cache_find() argument 866 ce = cache_refresh_path(xid, ses, npath, false); in dfs_cache_find() 1098 struct TCP_Server_Info *server = tcon->ses->server; in target_share_equal() 1123 static bool is_ses_good(struct cifs_tcon *tcon, struct cifs_ses *ses) in is_ses_good() argument [all …]
|
| H A D | cifs_swn.c | 94 if (tcon->ses->user_name != NULL) { in cifs_swn_auth_info_ntlm() 95 ret = nla_put_string(skb, CIFS_GENL_ATTR_SWN_USER_NAME, tcon->ses->user_name); in cifs_swn_auth_info_ntlm() 100 if (tcon->ses->password != NULL) { in cifs_swn_auth_info_ntlm() 101 ret = nla_put_string(skb, CIFS_GENL_ATTR_SWN_PASSWORD, tcon->ses->password); in cifs_swn_auth_info_ntlm() 106 if (tcon->ses->domainName != NULL) { in cifs_swn_auth_info_ntlm() 107 ret = nla_put_string(skb, CIFS_GENL_ATTR_SWN_DOMAIN_NAME, tcon->ses->domainName); in cifs_swn_auth_info_ntlm() 157 if (tcon->ses->server->use_swn_dstaddr) in cifs_swn_send_register_message() 158 addr = &tcon->ses->server->swn_dstaddr; in cifs_swn_send_register_message() 160 addr = &tcon->ses->server->dstaddr; in cifs_swn_send_register_message() 184 authtype = cifs_select_sectype(tcon->ses->server, tcon->ses->sectype); in cifs_swn_send_register_message() [all …]
|
| H A D | cifsfs.c | 214 if (tcon->ses->capabilities & tcon->ses->server->vals->cap_large_files) in cifs_read_super() 226 if ((tcon->ses->server->vals->protocol_id == SMB10_PROT_ID) && in cifs_read_super() 227 ((tcon->ses->capabilities & in cifs_read_super() 228 tcon->ses->server->vals->cap_nt_find) == 0) && in cifs_read_super() 257 tcon->ses->server->ops->negotiate_rsize(tcon, cifs_sb->ctx); in cifs_read_super() 341 struct TCP_Server_Info *server = tcon->ses->server; in cifs_statfs() 381 struct TCP_Server_Info *server = tcon->ses->server; in cifs_fallocate() 521 cifs_show_security(struct seq_file *s, struct cifs_ses *ses) in cifs_show_security() argument 523 if (ses->sectype == Unspecified) { in cifs_show_security() 524 if (ses->user_name == NULL) in cifs_show_security() [all …]
|
| H A D | dfs.c | 78 struct cifs_ses *ses = mnt_ctx->ses; in set_root_smb_session() local 80 if (ses) { in set_root_smb_session() 82 cifs_smb_ses_inc_refcount(ses); in set_root_smb_session() 85 ctx->dfs_root_ses = ses; in set_root_smb_session() 222 else if (WARN_ON(!mnt_ctx->ses)) in __dfs_mount_share() 342 const struct smb_version_operations *ops = tcon->ses->server->ops; in tree_connect_dfs_target() 343 struct TCP_Server_Info *server = tcon->ses->server; in tree_connect_dfs_target() 373 rc = ops->tree_connect(xid, tcon->ses, tree, in tree_connect_dfs_target() 374 tcon, tcon->ses->local_nls); in tree_connect_dfs_target() 389 struct TCP_Server_Info *server = tcon->ses->server; in cifs_tree_connect() [all …]
|
| H A D | cifssmb.c | 75 struct cifs_ses *ses; in cifs_reconnect_tcon() local 86 ses = tcon->ses; in cifs_reconnect_tcon() 87 server = ses->server; in cifs_reconnect_tcon() 109 spin_lock(&ses->chan_lock); in cifs_reconnect_tcon() 110 if (!cifs_chan_needs_reconnect(ses, server) && !tcon->need_reconnect) { in cifs_reconnect_tcon() 111 spin_unlock(&ses->chan_lock); in cifs_reconnect_tcon() 114 spin_unlock(&ses->chan_lock); in cifs_reconnect_tcon() 116 mutex_lock(&ses->session_mutex); in cifs_reconnect_tcon() 125 mutex_unlock(&ses->session_mutex); in cifs_reconnect_tcon() 129 mutex_unlock(&ses->session_mutex); in cifs_reconnect_tcon() [all …]
|
| H A D | cifsglob.h | 113 #define CIFS_DFS_ROOT_SES(ses) ((ses)->dfs_root_ses ?: (ses)) argument 312 int (*send_cancel)(struct cifs_ses *ses, struct TCP_Server_Info *server, 368 struct cifs_ses *ses, 538 int (*generate_signingkey)(struct cifs_ses *ses, 1119 #define CIFS_ALL_CHANNELS_SET(ses) \ argument 1120 ((1UL << (ses)->chan_count) - 1) 1121 #define CIFS_ALL_CHANS_GOOD(ses) \ argument 1122 (!(ses)->chans_need_reconnect) 1123 #define CIFS_ALL_CHANS_NEED_RECONNECT(ses) \ argument 1124 ((ses)->chans_need_reconnect == CIFS_ALL_CHANNELS_SET(ses)) [all …]
|
| H A D | smb1ops.c | 141 send_nt_cancel(struct cifs_ses *ses, struct TCP_Server_Info *server, in send_nt_cancel() argument 188 send_lock_cancel(struct cifs_ses *ses, struct TCP_Server_Info *server, in send_lock_cancel() argument 204 pSMB->hdr.Mid = get_next_mid(ses->server); in send_lock_cancel() 206 rc = SendReceive(xid, ses, in_buf, in_len, NULL, NULL, 0); in send_lock_cancel() 214 static int cifs_send_cancel(struct cifs_ses *ses, struct TCP_Server_Info *server, in cifs_send_cancel() argument 219 return send_lock_cancel(ses, server, rqst, mid, xid); in cifs_send_cancel() 220 return send_nt_cancel(ses, server, rqst, mid, xid); in cifs_send_cancel() 412 struct cifs_ses *ses, in cifs_negotiate() argument 416 rc = CIFSSMBNegotiate(xid, ses, server); in cifs_negotiate() 424 struct TCP_Server_Info *server = tcon->ses->server; in smb1_negotiate_wsize() [all …]
|
| H A D | transport.c | 821 struct TCP_Server_Info *cifs_pick_channel(struct cifs_ses *ses) in cifs_pick_channel() argument 828 if (!ses) in cifs_pick_channel() 831 spin_lock(&ses->chan_lock); in cifs_pick_channel() 832 start = atomic_inc_return(&ses->chan_seq); in cifs_pick_channel() 833 for (i = 0; i < ses->chan_count; i++) { in cifs_pick_channel() 834 cur = (start + i) % ses->chan_count; in cifs_pick_channel() 835 server = ses->chans[cur].server; in cifs_pick_channel() 839 if (CIFS_CHAN_NEEDS_RECONNECT(ses, cur)) in cifs_pick_channel() 856 server = ses->chans[index].server; in cifs_pick_channel() 857 spin_unlock(&ses->chan_lock); in cifs_pick_channel() [all …]
|
| H A D | smb2inode.c | 212 struct cifs_ses *ses = tcon->ses; in smb2_compound_op() local 235 server = cifs_pick_channel(ses); in smb2_compound_op() 323 ses->Suid, full_path); in smb2_compound_op() 342 ses->Suid, full_path); in smb2_compound_op() 349 trace_smb3_mkdir_enter(xid, tcon->tid, ses->Suid, full_path); in smb2_compound_op() 367 trace_smb3_unlink_enter(xid, tcon->tid, ses->Suid, full_path); in smb2_compound_op() 385 trace_smb3_set_eof_enter(xid, tcon->tid, ses->Suid, full_path); in smb2_compound_op() 403 ses->Suid, full_path); in smb2_compound_op() 430 trace_smb3_rename_enter(xid, tcon->tid, ses->Suid, full_path); in smb2_compound_op() 456 trace_smb3_hardlink_enter(xid, tcon->tid, ses->Suid, full_path); in smb2_compound_op() [all …]
|
| H A D | smb2misc.c | 164 struct cifs_ses *ses = NULL; in smb2_check_message() local 171 ses = iter; in smb2_check_message() 176 if (!ses) { in smb2_check_message() 642 struct cifs_ses *ses; in smb2_is_valid_lease_break() local 662 list_for_each_entry(ses, &pserver->smb_ses_list, smb_ses_list) { in smb2_is_valid_lease_break() 663 if (cifs_ses_exiting(ses)) in smb2_is_valid_lease_break() 665 list_for_each_entry(tcon, &ses->tcon_list, tcon_list) { in smb2_is_valid_lease_break() 716 struct cifs_ses *ses; in smb2_is_valid_oplock_break() local 741 list_for_each_entry(ses, &pserver->smb_ses_list, smb_ses_list) { in smb2_is_valid_oplock_break() 742 if (cifs_ses_exiting(ses)) in smb2_is_valid_oplock_break() [all …]
|
| H A D | smb2ops.c | 469 struct cifs_ses *ses, in smb2_negotiate() argument 477 rc = SMB2_negotiate(xid, ses, server); in smb2_negotiate() 495 struct TCP_Server_Info *server = tcon->ses->server; in smb2_negotiate_wsize() 510 struct TCP_Server_Info *server = tcon->ses->server; in smb3_negotiate_wsize() 545 struct TCP_Server_Info *server = tcon->ses->server; in smb2_negotiate_rsize() 561 struct TCP_Server_Info *server = tcon->ses->server; in smb3_negotiate_rsize() 633 size_t buf_len, struct cifs_ses *ses, bool in_mount) in parse_server_interfaces() argument 651 spin_lock(&ses->iface_lock); in parse_server_interfaces() 656 list_for_each_entry_safe(iface, niface, &ses->iface_list, in parse_server_interfaces() 660 spin_unlock(&ses->iface_lock); in parse_server_interfaces() [all …]
|
| H A D | misc.c | 890 if ((t1->ses == t2->ses || in tcon_super_cb() 891 t1->ses->dfs_root_ses == t2->ses->dfs_root_ses) && in tcon_super_cb() 892 t1->ses->server == t2->ses->server && in tcon_super_cb() 1006 struct TCP_Server_Info *server = tcon->ses->server; in cifs_inval_name_dfs_link_error() 1007 struct cifs_ses *ses = tcon->ses; in cifs_inval_name_dfs_link_error() local 1057 ses = CIFS_DFS_ROOT_SES(ses); in cifs_inval_name_dfs_link_error() 1058 if (ses->server->ops->get_dfs_refer && in cifs_inval_name_dfs_link_error() 1059 !ses->server->ops->get_dfs_refer(xid, ses, ref_path, &refs, in cifs_inval_name_dfs_link_error()
|
| H A D | file.c | 63 server = cifs_pick_channel(tlink_tcon(open_file->tlink)->ses); in cifs_prepare_write() 168 server = cifs_pick_channel(tlink_tcon(req->cfile->tlink)->ses); in cifs_prepare_read() 561 struct TCP_Server_Info *server = tcon->ses->server; in cifs_nt_open() 679 struct TCP_Server_Info *server = tcon->ses->server; in cifs_new_fileinfo() 812 struct TCP_Server_Info *server = tcon->ses->server; in serverclose_work() 872 struct TCP_Server_Info *server = tcon->ses->server; in _cifsFileInfo_put() 933 struct TCP_Server_Info *server = tcon->ses->server; in _cifsFileInfo_put() 979 return tcon->ses->server->ops->flush(xid, tcon, in cifs_file_flush() 985 rc = tcon->ses->server->ops->flush(xid, tcon, &cfile->fid); in cifs_file_flush() 1012 server = tcon->ses->server; in cifs_do_truncate() [all …]
|
| H A D | link.c | 152 if (tcon->ses->server->ops->create_mf_symlink) in create_mf_symlink() 153 rc = tcon->ses->server->ops->create_mf_symlink(xid, tcon, in create_mf_symlink() 188 if (tcon->ses->server->ops->query_mf_symlink) in check_mf_symlink() 189 rc = tcon->ses->server->ops->query_mf_symlink(xid, tcon, in check_mf_symlink() 249 rc = tcon->ses->server->ops->open(xid, &oparms, &oplock, &query_data); in cifs_query_mf_symlink() 292 rc = tcon->ses->server->ops->open(xid, &oparms, &oplock, NULL); in cifs_create_mf_symlink() 477 server = tcon->ses->server;
|
| /linux/fs/nfsd/ |
| H A D | nfs4callback.c | 412 static u32 highest_slotid(struct nfsd4_session *ses) in highest_slotid() argument 416 spin_lock(&ses->se_lock); in highest_slotid() 417 idx = fls(~ses->se_cb_slot_avail); in highest_slotid() 420 idx = max(idx, ses->se_cb_highest_slot); in highest_slotid() 421 spin_unlock(&ses->se_lock); in highest_slotid() 496 static void update_cb_slot_table(struct nfsd4_session *ses, u32 target) in update_cb_slot_table() argument 499 if (likely(target == READ_ONCE(ses->se_cb_highest_slot))) in update_cb_slot_table() 502 spin_lock(&ses->se_lock); in update_cb_slot_table() 503 if (target > ses->se_cb_highest_slot) { in update_cb_slot_table() 514 for (i = ses->se_cb_highest_slot + 1; i <= target; ++i) in update_cb_slot_table() [all …]
|
| /linux/drivers/scsi/ |
| H A D | scsi_error.c | 1091 void scsi_eh_prep_cmnd(struct scsi_cmnd *scmd, struct scsi_eh_save *ses, in scsi_eh_prep_cmnd() argument 1106 ses->cmd_len = scmd->cmd_len; in scsi_eh_prep_cmnd() 1107 ses->data_direction = scmd->sc_data_direction; in scsi_eh_prep_cmnd() 1108 ses->sdb = scmd->sdb; in scsi_eh_prep_cmnd() 1109 ses->result = scmd->result; in scsi_eh_prep_cmnd() 1110 ses->resid_len = scmd->resid_len; in scsi_eh_prep_cmnd() 1111 ses->underflow = scmd->underflow; in scsi_eh_prep_cmnd() 1112 ses->prot_op = scmd->prot_op; in scsi_eh_prep_cmnd() 1113 ses->eh_eflags = scmd->eh_eflags; in scsi_eh_prep_cmnd() 1117 memcpy(ses->cmnd, scmd->cmnd, sizeof(ses->cmnd)); in scsi_eh_prep_cmnd() [all …]
|
| /linux/fs/nfs/ |
| H A D | nfs4session.c | 534 int nfs4_setup_session_slot_tables(struct nfs4_session *ses) in nfs4_setup_session_slot_tables() argument 541 tbl = &ses->fc_slot_table; in nfs4_setup_session_slot_tables() 542 tbl->session = ses; in nfs4_setup_session_slot_tables() 543 status = nfs4_realloc_slot_table(tbl, ses->fc_attrs.max_reqs, 1); in nfs4_setup_session_slot_tables() 544 if (status || !(ses->flags & SESSION4_BACK_CHAN)) /* -ENOMEM */ in nfs4_setup_session_slot_tables() 547 tbl = &ses->bc_slot_table; in nfs4_setup_session_slot_tables() 548 tbl->session = ses; in nfs4_setup_session_slot_tables() 549 status = nfs4_realloc_slot_table(tbl, ses->bc_attrs.max_reqs, 0); in nfs4_setup_session_slot_tables() 553 nfs4_release_session_slot_tables(ses); in nfs4_setup_session_slot_tables()
|
| /linux/include/scsi/ |
| H A D | scsi_eh.h | 53 struct scsi_eh_save *ses, unsigned char *cmnd, 57 struct scsi_eh_save *ses);
|