Lines Matching refs:volume_info

319 static int cifs_setup_volume_info(struct smb_vol *volume_info, char *mount_data,
2465 cifs_get_tcp_session(struct smb_vol *volume_info) in cifs_get_tcp_session() argument
2470 cifs_dbg(FYI, "UNC: %s\n", volume_info->UNC); in cifs_get_tcp_session()
2473 tcp_ses = cifs_find_tcp_session(volume_info); in cifs_get_tcp_session()
2483 tcp_ses->ops = volume_info->ops; in cifs_get_tcp_session()
2484 tcp_ses->vals = volume_info->vals; in cifs_get_tcp_session()
2486 tcp_ses->hostname = extract_hostname(volume_info->UNC); in cifs_get_tcp_session()
2492 tcp_ses->noblocksnd = volume_info->noblocksnd; in cifs_get_tcp_session()
2493 tcp_ses->noautotune = volume_info->noautotune; in cifs_get_tcp_session()
2494 tcp_ses->tcp_nodelay = volume_info->sockopt_tcp_nodelay; in cifs_get_tcp_session()
2495 tcp_ses->rdma = volume_info->rdma; in cifs_get_tcp_session()
2503 volume_info->source_rfc1001_name, RFC1001_NAME_LEN_WITH_NULL); in cifs_get_tcp_session()
2505 volume_info->target_rfc1001_name, RFC1001_NAME_LEN_WITH_NULL); in cifs_get_tcp_session()
2515 memcpy(&tcp_ses->srcaddr, &volume_info->srcaddr, in cifs_get_tcp_session()
2517 memcpy(&tcp_ses->dstaddr, &volume_info->dstaddr, in cifs_get_tcp_session()
2528 if (volume_info->echo_interval >= SMB_ECHO_INTERVAL_MIN && in cifs_get_tcp_session()
2529 volume_info->echo_interval <= SMB_ECHO_INTERVAL_MAX) in cifs_get_tcp_session()
2530 tcp_ses->echo_interval = volume_info->echo_interval * HZ; in cifs_get_tcp_session()
2540 tcp_ses, (struct sockaddr *)&volume_info->dstaddr); in cifs_get_tcp_session()
2640 cifs_setup_ipc(struct cifs_ses *ses, struct smb_vol *volume_info) in cifs_setup_ipc() argument
2652 if (volume_info->seal) { in cifs_setup_ipc()
2940 cifs_get_smb_ses(struct TCP_Server_Info *server, struct smb_vol *volume_info) in cifs_get_smb_ses() argument
2950 ses = cifs_find_smb_ses(server, volume_info); in cifs_get_smb_ses()
2967 volume_info->local_nls); in cifs_get_smb_ses()
2998 if (volume_info->username) { in cifs_get_smb_ses()
2999 ses->user_name = kstrdup(volume_info->username, GFP_KERNEL); in cifs_get_smb_ses()
3005 if (volume_info->password) { in cifs_get_smb_ses()
3006 ses->password = kstrdup(volume_info->password, GFP_KERNEL); in cifs_get_smb_ses()
3010 if (volume_info->domainname) { in cifs_get_smb_ses()
3011 ses->domainName = kstrdup(volume_info->domainname, GFP_KERNEL); in cifs_get_smb_ses()
3015 if (volume_info->domainauto) in cifs_get_smb_ses()
3016 ses->domainAuto = volume_info->domainauto; in cifs_get_smb_ses()
3017 ses->cred_uid = volume_info->cred_uid; in cifs_get_smb_ses()
3018 ses->linux_uid = volume_info->linux_uid; in cifs_get_smb_ses()
3020 ses->sectype = volume_info->sectype; in cifs_get_smb_ses()
3021 ses->sign = volume_info->sign; in cifs_get_smb_ses()
3026 rc = cifs_setup_session(xid, ses, volume_info->local_nls); in cifs_get_smb_ses()
3038 cifs_setup_ipc(ses, volume_info); in cifs_get_smb_ses()
3048 static int match_tcon(struct cifs_tcon *tcon, struct smb_vol *volume_info) in match_tcon() argument
3052 if (strncmp(tcon->treeName, volume_info->UNC, MAX_TREE_SIZE)) in match_tcon()
3054 if (tcon->seal != volume_info->seal) in match_tcon()
3056 if (tcon->snapshot_time != volume_info->snapshot_time) in match_tcon()
3058 if (tcon->no_lease != volume_info->no_lease) in match_tcon()
3064 cifs_find_tcon(struct cifs_ses *ses, struct smb_vol *volume_info) in cifs_find_tcon() argument
3072 if (!match_tcon(tcon, volume_info)) in cifs_find_tcon()
3137 cifs_get_tcon(struct cifs_ses *ses, struct smb_vol *volume_info) in cifs_get_tcon() argument
3142 tcon = cifs_find_tcon(ses, volume_info); in cifs_get_tcon()
3164 if (volume_info->snapshot_time) { in cifs_get_tcon()
3171 tcon->snapshot_time = volume_info->snapshot_time; in cifs_get_tcon()
3175 if (volume_info->password) { in cifs_get_tcon()
3176 tcon->password = kstrdup(volume_info->password, GFP_KERNEL); in cifs_get_tcon()
3183 if (volume_info->seal) { in cifs_get_tcon()
3199 if (volume_info->linux_ext) { in cifs_get_tcon()
3216 rc = ses->server->ops->tree_connect(xid, ses, volume_info->UNC, tcon, in cifs_get_tcon()
3217 volume_info->local_nls); in cifs_get_tcon()
3223 if (volume_info->nodfs) { in cifs_get_tcon()
3229 if (volume_info->persistent) { in cifs_get_tcon()
3246 && (volume_info->nopersistent == false)) { in cifs_get_tcon()
3249 } else if (volume_info->resilient) { in cifs_get_tcon()
3264 tcon->retry = volume_info->retry; in cifs_get_tcon()
3265 tcon->nocase = volume_info->nocase; in cifs_get_tcon()
3266 tcon->nohandlecache = volume_info->nohandlecache; in cifs_get_tcon()
3267 tcon->local_lease = volume_info->local_lease; in cifs_get_tcon()
3268 tcon->no_lease = volume_info->no_lease; in cifs_get_tcon()
3367 struct smb_vol *volume_info; in cifs_match_super() local
3387 volume_info = mnt_data->vol; in cifs_match_super()
3389 if (!match_server(tcp_srv, volume_info) || in cifs_match_super()
3390 !match_session(ses, volume_info) || in cifs_match_super()
3391 !match_tcon(tcon, volume_info) || in cifs_match_super()
3893 cleanup_volume_info_contents(struct smb_vol *volume_info) in cleanup_volume_info_contents() argument
3895 kfree(volume_info->username); in cleanup_volume_info_contents()
3896 kzfree(volume_info->password); in cleanup_volume_info_contents()
3897 kfree(volume_info->UNC); in cleanup_volume_info_contents()
3898 kfree(volume_info->domainname); in cleanup_volume_info_contents()
3899 kfree(volume_info->iocharset); in cleanup_volume_info_contents()
3900 kfree(volume_info->prepath); in cleanup_volume_info_contents()
3904 cifs_cleanup_volume_info(struct smb_vol *volume_info) in cifs_cleanup_volume_info() argument
3906 if (!volume_info) in cifs_cleanup_volume_info()
3908 cleanup_volume_info_contents(volume_info); in cifs_cleanup_volume_info()
3909 kfree(volume_info); in cifs_cleanup_volume_info()
3957 struct smb_vol *volume_info, struct cifs_sb_info *cifs_sb, in expand_dfs_referral() argument
3965 full_path = build_unc_path_to_root(volume_info, cifs_sb); in expand_dfs_referral()
3970 ref_path = check_prefix ? full_path + 1 : volume_info->UNC + 1; in expand_dfs_referral()
3988 cleanup_volume_info_contents(volume_info); in expand_dfs_referral()
3989 rc = cifs_setup_volume_info(volume_info, mdata, in expand_dfs_referral()
4002 cifs_setup_volume_info(struct smb_vol *volume_info, char *mount_data, in cifs_setup_volume_info() argument
4007 if (cifs_parse_mount_options(mount_data, devname, volume_info, is_smb3)) in cifs_setup_volume_info()
4010 if (volume_info->nullauth) { in cifs_setup_volume_info()
4012 kfree(volume_info->username); in cifs_setup_volume_info()
4013 volume_info->username = NULL; in cifs_setup_volume_info()
4014 } else if (volume_info->username) { in cifs_setup_volume_info()
4016 cifs_dbg(FYI, "Username: %s\n", volume_info->username); in cifs_setup_volume_info()
4025 if (volume_info->iocharset == NULL) { in cifs_setup_volume_info()
4027 volume_info->local_nls = load_nls_default(); in cifs_setup_volume_info()
4029 volume_info->local_nls = load_nls(volume_info->iocharset); in cifs_setup_volume_info()
4030 if (volume_info->local_nls == NULL) { in cifs_setup_volume_info()
4032 volume_info->iocharset); in cifs_setup_volume_info()
4044 struct smb_vol *volume_info; in cifs_get_volume_info() local
4046 volume_info = kmalloc(sizeof(struct smb_vol), GFP_KERNEL); in cifs_get_volume_info()
4047 if (!volume_info) in cifs_get_volume_info()
4050 rc = cifs_setup_volume_info(volume_info, mount_data, devname, is_smb3); in cifs_get_volume_info()
4052 cifs_cleanup_volume_info(volume_info); in cifs_get_volume_info()
4053 volume_info = ERR_PTR(rc); in cifs_get_volume_info()
4056 return volume_info; in cifs_get_volume_info()
4098 cifs_mount(struct cifs_sb_info *cifs_sb, struct smb_vol *volume_info) in cifs_mount() argument
4135 server = cifs_get_tcp_session(volume_info); in cifs_mount()
4140 if ((volume_info->max_credits < 20) || in cifs_mount()
4141 (volume_info->max_credits > 60000)) in cifs_mount()
4144 server->max_credits = volume_info->max_credits; in cifs_mount()
4146 ses = cifs_get_smb_ses(server, volume_info); in cifs_mount()
4153 if ((volume_info->persistent == true) && ((ses->server->capabilities & in cifs_mount()
4161 tcon = cifs_get_tcon(ses, volume_info); in cifs_mount()
4179 reset_cifs_unix_caps(xid, tcon, cifs_sb, volume_info); in cifs_mount()
4193 cifs_sb->wsize = server->ops->negotiate_wsize(tcon, volume_info); in cifs_mount()
4194 cifs_sb->rsize = server->ops->negotiate_rsize(tcon, volume_info); in cifs_mount()
4206 int refrc = expand_dfs_referral(xid, ses, volume_info, cifs_sb, in cifs_mount()
4224 full_path = cifs_build_path_to_root(volume_info, cifs_sb, tcon, in cifs_mount()
4265 rc = expand_dfs_referral(xid, ses, volume_info, cifs_sb, true); in cifs_mount()