Lines Matching refs:volume_info
289 static int cifs_setup_volume_info(struct smb_vol *volume_info, char *mount_data,
2105 cifs_get_tcp_session(struct smb_vol *volume_info) in cifs_get_tcp_session() argument
2110 cifs_dbg(FYI, "UNC: %s\n", volume_info->UNC); in cifs_get_tcp_session()
2113 tcp_ses = cifs_find_tcp_session(volume_info); in cifs_get_tcp_session()
2123 tcp_ses->ops = volume_info->ops; in cifs_get_tcp_session()
2124 tcp_ses->vals = volume_info->vals; in cifs_get_tcp_session()
2126 tcp_ses->hostname = extract_hostname(volume_info->UNC); in cifs_get_tcp_session()
2132 tcp_ses->noblocksnd = volume_info->noblocksnd; in cifs_get_tcp_session()
2133 tcp_ses->noautotune = volume_info->noautotune; in cifs_get_tcp_session()
2134 tcp_ses->tcp_nodelay = volume_info->sockopt_tcp_nodelay; in cifs_get_tcp_session()
2142 volume_info->source_rfc1001_name, RFC1001_NAME_LEN_WITH_NULL); in cifs_get_tcp_session()
2144 volume_info->target_rfc1001_name, RFC1001_NAME_LEN_WITH_NULL); in cifs_get_tcp_session()
2152 memcpy(&tcp_ses->srcaddr, &volume_info->srcaddr, in cifs_get_tcp_session()
2154 memcpy(&tcp_ses->dstaddr, &volume_info->dstaddr, in cifs_get_tcp_session()
2438 cifs_get_smb_ses(struct TCP_Server_Info *server, struct smb_vol *volume_info) in cifs_get_smb_ses() argument
2448 ses = cifs_find_smb_ses(server, volume_info); in cifs_get_smb_ses()
2465 volume_info->local_nls); in cifs_get_smb_ses()
2494 if (volume_info->username) { in cifs_get_smb_ses()
2495 ses->user_name = kstrdup(volume_info->username, GFP_KERNEL); in cifs_get_smb_ses()
2501 if (volume_info->password) { in cifs_get_smb_ses()
2502 ses->password = kstrdup(volume_info->password, GFP_KERNEL); in cifs_get_smb_ses()
2506 if (volume_info->domainname) { in cifs_get_smb_ses()
2507 ses->domainName = kstrdup(volume_info->domainname, GFP_KERNEL); in cifs_get_smb_ses()
2511 ses->cred_uid = volume_info->cred_uid; in cifs_get_smb_ses()
2512 ses->linux_uid = volume_info->linux_uid; in cifs_get_smb_ses()
2514 ses->sectype = volume_info->sectype; in cifs_get_smb_ses()
2515 ses->sign = volume_info->sign; in cifs_get_smb_ses()
2520 rc = cifs_setup_session(xid, ses, volume_info->local_nls); in cifs_get_smb_ses()
2594 cifs_get_tcon(struct cifs_ses *ses, struct smb_vol *volume_info) in cifs_get_tcon() argument
2599 tcon = cifs_find_tcon(ses, volume_info->UNC); in cifs_get_tcon()
2604 if (tcon->seal != volume_info->seal) in cifs_get_tcon()
2621 if (volume_info->password) { in cifs_get_tcon()
2622 tcon->password = kstrdup(volume_info->password, GFP_KERNEL); in cifs_get_tcon()
2634 rc = ses->server->ops->tree_connect(xid, ses, volume_info->UNC, tcon, in cifs_get_tcon()
2635 volume_info->local_nls); in cifs_get_tcon()
2641 if (volume_info->nodfs) { in cifs_get_tcon()
2645 tcon->seal = volume_info->seal; in cifs_get_tcon()
2651 tcon->retry = volume_info->retry; in cifs_get_tcon()
2652 tcon->nocase = volume_info->nocase; in cifs_get_tcon()
2653 tcon->local_lease = volume_info->local_lease; in cifs_get_tcon()
2736 struct smb_vol *volume_info; in cifs_match_super() local
2755 volume_info = mnt_data->vol; in cifs_match_super()
2757 if (!match_server(tcp_srv, volume_info) || in cifs_match_super()
2758 !match_session(ses, volume_info) || in cifs_match_super()
2759 !match_tcon(tcon, volume_info->UNC)) { in cifs_match_super()
3271 cleanup_volume_info_contents(struct smb_vol *volume_info) in cleanup_volume_info_contents() argument
3273 kfree(volume_info->username); in cleanup_volume_info_contents()
3274 kzfree(volume_info->password); in cleanup_volume_info_contents()
3275 kfree(volume_info->UNC); in cleanup_volume_info_contents()
3276 kfree(volume_info->domainname); in cleanup_volume_info_contents()
3277 kfree(volume_info->iocharset); in cleanup_volume_info_contents()
3278 kfree(volume_info->prepath); in cleanup_volume_info_contents()
3282 cifs_cleanup_volume_info(struct smb_vol *volume_info) in cifs_cleanup_volume_info() argument
3284 if (!volume_info) in cifs_cleanup_volume_info()
3286 cleanup_volume_info_contents(volume_info); in cifs_cleanup_volume_info()
3287 kfree(volume_info); in cifs_cleanup_volume_info()
3335 struct smb_vol *volume_info, struct cifs_sb_info *cifs_sb, in expand_dfs_referral() argument
3343 full_path = build_unc_path_to_root(volume_info, cifs_sb); in expand_dfs_referral()
3348 ref_path = check_prefix ? full_path + 1 : volume_info->UNC + 1; in expand_dfs_referral()
3366 cleanup_volume_info_contents(volume_info); in expand_dfs_referral()
3367 rc = cifs_setup_volume_info(volume_info, mdata, in expand_dfs_referral()
3380 cifs_setup_volume_info(struct smb_vol *volume_info, char *mount_data, in cifs_setup_volume_info() argument
3385 if (cifs_parse_mount_options(mount_data, devname, volume_info)) in cifs_setup_volume_info()
3388 if (volume_info->nullauth) { in cifs_setup_volume_info()
3390 kfree(volume_info->username); in cifs_setup_volume_info()
3391 volume_info->username = NULL; in cifs_setup_volume_info()
3392 } else if (volume_info->username) { in cifs_setup_volume_info()
3394 cifs_dbg(FYI, "Username: %s\n", volume_info->username); in cifs_setup_volume_info()
3403 if (volume_info->iocharset == NULL) { in cifs_setup_volume_info()
3405 volume_info->local_nls = load_nls_default(); in cifs_setup_volume_info()
3407 volume_info->local_nls = load_nls(volume_info->iocharset); in cifs_setup_volume_info()
3408 if (volume_info->local_nls == NULL) { in cifs_setup_volume_info()
3410 volume_info->iocharset); in cifs_setup_volume_info()
3422 struct smb_vol *volume_info; in cifs_get_volume_info() local
3424 volume_info = kmalloc(sizeof(struct smb_vol), GFP_KERNEL); in cifs_get_volume_info()
3425 if (!volume_info) in cifs_get_volume_info()
3428 rc = cifs_setup_volume_info(volume_info, mount_data, devname); in cifs_get_volume_info()
3430 cifs_cleanup_volume_info(volume_info); in cifs_get_volume_info()
3431 volume_info = ERR_PTR(rc); in cifs_get_volume_info()
3434 return volume_info; in cifs_get_volume_info()
3438 cifs_mount(struct cifs_sb_info *cifs_sb, struct smb_vol *volume_info) in cifs_mount() argument
3477 server = cifs_get_tcp_session(volume_info); in cifs_mount()
3485 ses = cifs_get_smb_ses(server, volume_info); in cifs_mount()
3493 tcon = cifs_get_tcon(ses, volume_info); in cifs_mount()
3504 reset_cifs_unix_caps(xid, tcon, cifs_sb, volume_info); in cifs_mount()
3518 cifs_sb->wsize = server->ops->negotiate_wsize(tcon, volume_info); in cifs_mount()
3519 cifs_sb->rsize = server->ops->negotiate_rsize(tcon, volume_info); in cifs_mount()
3534 int refrc = expand_dfs_referral(xid, ses, volume_info, cifs_sb, in cifs_mount()
3552 full_path = cifs_build_path_to_root(volume_info, cifs_sb, tcon); in cifs_mount()
3580 rc = expand_dfs_referral(xid, ses, volume_info, cifs_sb, true); in cifs_mount()