Lines Matching refs:tcp_ses

2719 	struct TCP_Server_Info *tcp_ses = NULL;  in cifs_get_tcp_session()  local
2725 tcp_ses = cifs_find_tcp_session(volume_info); in cifs_get_tcp_session()
2726 if (tcp_ses) in cifs_get_tcp_session()
2727 return tcp_ses; in cifs_get_tcp_session()
2729 tcp_ses = kzalloc(sizeof(struct TCP_Server_Info), GFP_KERNEL); in cifs_get_tcp_session()
2730 if (!tcp_ses) { in cifs_get_tcp_session()
2735 tcp_ses->ops = volume_info->ops; in cifs_get_tcp_session()
2736 tcp_ses->vals = volume_info->vals; in cifs_get_tcp_session()
2737 cifs_set_net_ns(tcp_ses, get_net(current->nsproxy->net_ns)); in cifs_get_tcp_session()
2738 tcp_ses->hostname = extract_hostname(volume_info->UNC); in cifs_get_tcp_session()
2739 if (IS_ERR(tcp_ses->hostname)) { in cifs_get_tcp_session()
2740 rc = PTR_ERR(tcp_ses->hostname); in cifs_get_tcp_session()
2744 tcp_ses->noblockcnt = volume_info->rootfs; in cifs_get_tcp_session()
2745 tcp_ses->noblocksnd = volume_info->noblocksnd || volume_info->rootfs; in cifs_get_tcp_session()
2746 tcp_ses->noautotune = volume_info->noautotune; in cifs_get_tcp_session()
2747 tcp_ses->tcp_nodelay = volume_info->sockopt_tcp_nodelay; in cifs_get_tcp_session()
2748 tcp_ses->rdma = volume_info->rdma; in cifs_get_tcp_session()
2749 tcp_ses->in_flight = 0; in cifs_get_tcp_session()
2750 tcp_ses->max_in_flight = 0; in cifs_get_tcp_session()
2751 tcp_ses->credits = 1; in cifs_get_tcp_session()
2752 init_waitqueue_head(&tcp_ses->response_q); in cifs_get_tcp_session()
2753 init_waitqueue_head(&tcp_ses->request_q); in cifs_get_tcp_session()
2754 INIT_LIST_HEAD(&tcp_ses->pending_mid_q); in cifs_get_tcp_session()
2755 mutex_init(&tcp_ses->srv_mutex); in cifs_get_tcp_session()
2756 memcpy(tcp_ses->workstation_RFC1001_name, in cifs_get_tcp_session()
2758 memcpy(tcp_ses->server_RFC1001_name, in cifs_get_tcp_session()
2760 tcp_ses->session_estab = false; in cifs_get_tcp_session()
2761 tcp_ses->sequence_number = 0; in cifs_get_tcp_session()
2762 tcp_ses->reconnect_instance = 1; in cifs_get_tcp_session()
2763 tcp_ses->lstrp = jiffies; in cifs_get_tcp_session()
2764 tcp_ses->compress_algorithm = cpu_to_le16(volume_info->compression); in cifs_get_tcp_session()
2765 spin_lock_init(&tcp_ses->req_lock); in cifs_get_tcp_session()
2766 INIT_LIST_HEAD(&tcp_ses->tcp_ses_list); in cifs_get_tcp_session()
2767 INIT_LIST_HEAD(&tcp_ses->smb_ses_list); in cifs_get_tcp_session()
2768 INIT_DELAYED_WORK(&tcp_ses->echo, cifs_echo_request); in cifs_get_tcp_session()
2769 INIT_DELAYED_WORK(&tcp_ses->reconnect, smb2_reconnect_server); in cifs_get_tcp_session()
2770 mutex_init(&tcp_ses->reconnect_mutex); in cifs_get_tcp_session()
2771 memcpy(&tcp_ses->srcaddr, &volume_info->srcaddr, in cifs_get_tcp_session()
2772 sizeof(tcp_ses->srcaddr)); in cifs_get_tcp_session()
2773 memcpy(&tcp_ses->dstaddr, &volume_info->dstaddr, in cifs_get_tcp_session()
2774 sizeof(tcp_ses->dstaddr)); in cifs_get_tcp_session()
2775 generate_random_uuid(tcp_ses->client_guid); in cifs_get_tcp_session()
2781 tcp_ses->tcpStatus = CifsNew; in cifs_get_tcp_session()
2782 ++tcp_ses->srv_count; in cifs_get_tcp_session()
2786 tcp_ses->echo_interval = volume_info->echo_interval * HZ; in cifs_get_tcp_session()
2788 tcp_ses->echo_interval = SMB_ECHO_INTERVAL_DEFAULT * HZ; in cifs_get_tcp_session()
2789 if (tcp_ses->rdma) { in cifs_get_tcp_session()
2795 tcp_ses->smbd_conn = smbd_get_connection( in cifs_get_tcp_session()
2796 tcp_ses, (struct sockaddr *)&volume_info->dstaddr); in cifs_get_tcp_session()
2797 if (tcp_ses->smbd_conn) { in cifs_get_tcp_session()
2806 rc = ip_connect(tcp_ses); in cifs_get_tcp_session()
2817 tcp_ses->tsk = kthread_run(cifs_demultiplex_thread, in cifs_get_tcp_session()
2818 tcp_ses, "cifsd"); in cifs_get_tcp_session()
2819 if (IS_ERR(tcp_ses->tsk)) { in cifs_get_tcp_session()
2820 rc = PTR_ERR(tcp_ses->tsk); in cifs_get_tcp_session()
2825 tcp_ses->min_offload = volume_info->min_offload; in cifs_get_tcp_session()
2826 tcp_ses->tcpStatus = CifsNeedNegotiate; in cifs_get_tcp_session()
2828 tcp_ses->nr_targets = 1; in cifs_get_tcp_session()
2829 tcp_ses->ignore_signature = volume_info->ignore_signature; in cifs_get_tcp_session()
2832 list_add(&tcp_ses->tcp_ses_list, &cifs_tcp_ses_list); in cifs_get_tcp_session()
2835 cifs_fscache_get_client_cookie(tcp_ses); in cifs_get_tcp_session()
2838 queue_delayed_work(cifsiod_wq, &tcp_ses->echo, tcp_ses->echo_interval); in cifs_get_tcp_session()
2840 return tcp_ses; in cifs_get_tcp_session()
2843 cifs_crypto_secmech_release(tcp_ses); in cifs_get_tcp_session()
2845 put_net(cifs_net_ns(tcp_ses)); in cifs_get_tcp_session()
2848 if (tcp_ses) { in cifs_get_tcp_session()
2849 if (!IS_ERR(tcp_ses->hostname)) in cifs_get_tcp_session()
2850 kfree(tcp_ses->hostname); in cifs_get_tcp_session()
2851 if (tcp_ses->ssocket) in cifs_get_tcp_session()
2852 sock_release(tcp_ses->ssocket); in cifs_get_tcp_session()
2853 kfree(tcp_ses); in cifs_get_tcp_session()