Lines Matching refs:tcp_ses

2532 	struct TCP_Server_Info *tcp_ses = NULL;  in cifs_get_tcp_session()  local
2538 tcp_ses = cifs_find_tcp_session(volume_info); in cifs_get_tcp_session()
2539 if (tcp_ses) in cifs_get_tcp_session()
2540 return tcp_ses; in cifs_get_tcp_session()
2542 tcp_ses = kzalloc(sizeof(struct TCP_Server_Info), GFP_KERNEL); in cifs_get_tcp_session()
2543 if (!tcp_ses) { in cifs_get_tcp_session()
2548 tcp_ses->ops = volume_info->ops; in cifs_get_tcp_session()
2549 tcp_ses->vals = volume_info->vals; in cifs_get_tcp_session()
2550 cifs_set_net_ns(tcp_ses, get_net(current->nsproxy->net_ns)); in cifs_get_tcp_session()
2551 tcp_ses->hostname = extract_hostname(volume_info->UNC); in cifs_get_tcp_session()
2552 if (IS_ERR(tcp_ses->hostname)) { in cifs_get_tcp_session()
2553 rc = PTR_ERR(tcp_ses->hostname); in cifs_get_tcp_session()
2557 tcp_ses->noblockcnt = volume_info->rootfs; in cifs_get_tcp_session()
2558 tcp_ses->noblocksnd = volume_info->noblocksnd || volume_info->rootfs; in cifs_get_tcp_session()
2559 tcp_ses->noautotune = volume_info->noautotune; in cifs_get_tcp_session()
2560 tcp_ses->tcp_nodelay = volume_info->sockopt_tcp_nodelay; in cifs_get_tcp_session()
2561 tcp_ses->rdma = volume_info->rdma; in cifs_get_tcp_session()
2562 tcp_ses->in_flight = 0; in cifs_get_tcp_session()
2563 tcp_ses->max_in_flight = 0; in cifs_get_tcp_session()
2564 tcp_ses->credits = 1; in cifs_get_tcp_session()
2565 init_waitqueue_head(&tcp_ses->response_q); in cifs_get_tcp_session()
2566 init_waitqueue_head(&tcp_ses->request_q); in cifs_get_tcp_session()
2567 INIT_LIST_HEAD(&tcp_ses->pending_mid_q); in cifs_get_tcp_session()
2568 mutex_init(&tcp_ses->srv_mutex); in cifs_get_tcp_session()
2569 memcpy(tcp_ses->workstation_RFC1001_name, in cifs_get_tcp_session()
2571 memcpy(tcp_ses->server_RFC1001_name, in cifs_get_tcp_session()
2573 tcp_ses->session_estab = false; in cifs_get_tcp_session()
2574 tcp_ses->sequence_number = 0; in cifs_get_tcp_session()
2575 tcp_ses->reconnect_instance = 1; in cifs_get_tcp_session()
2576 tcp_ses->lstrp = jiffies; in cifs_get_tcp_session()
2577 tcp_ses->compress_algorithm = cpu_to_le16(volume_info->compression); in cifs_get_tcp_session()
2578 spin_lock_init(&tcp_ses->req_lock); in cifs_get_tcp_session()
2579 INIT_LIST_HEAD(&tcp_ses->tcp_ses_list); in cifs_get_tcp_session()
2580 INIT_LIST_HEAD(&tcp_ses->smb_ses_list); in cifs_get_tcp_session()
2581 INIT_DELAYED_WORK(&tcp_ses->echo, cifs_echo_request); in cifs_get_tcp_session()
2582 INIT_DELAYED_WORK(&tcp_ses->reconnect, smb2_reconnect_server); in cifs_get_tcp_session()
2583 mutex_init(&tcp_ses->reconnect_mutex); in cifs_get_tcp_session()
2584 memcpy(&tcp_ses->srcaddr, &volume_info->srcaddr, in cifs_get_tcp_session()
2585 sizeof(tcp_ses->srcaddr)); in cifs_get_tcp_session()
2586 memcpy(&tcp_ses->dstaddr, &volume_info->dstaddr, in cifs_get_tcp_session()
2587 sizeof(tcp_ses->dstaddr)); in cifs_get_tcp_session()
2589 memcpy(tcp_ses->client_guid, volume_info->client_guid, in cifs_get_tcp_session()
2592 generate_random_uuid(tcp_ses->client_guid); in cifs_get_tcp_session()
2598 tcp_ses->tcpStatus = CifsNew; in cifs_get_tcp_session()
2599 ++tcp_ses->srv_count; in cifs_get_tcp_session()
2603 tcp_ses->echo_interval = volume_info->echo_interval * HZ; in cifs_get_tcp_session()
2605 tcp_ses->echo_interval = SMB_ECHO_INTERVAL_DEFAULT * HZ; in cifs_get_tcp_session()
2606 if (tcp_ses->rdma) { in cifs_get_tcp_session()
2612 tcp_ses->smbd_conn = smbd_get_connection( in cifs_get_tcp_session()
2613 tcp_ses, (struct sockaddr *)&volume_info->dstaddr); in cifs_get_tcp_session()
2614 if (tcp_ses->smbd_conn) { in cifs_get_tcp_session()
2623 rc = ip_connect(tcp_ses); in cifs_get_tcp_session()
2634 tcp_ses->tsk = kthread_run(cifs_demultiplex_thread, in cifs_get_tcp_session()
2635 tcp_ses, "cifsd"); in cifs_get_tcp_session()
2636 if (IS_ERR(tcp_ses->tsk)) { in cifs_get_tcp_session()
2637 rc = PTR_ERR(tcp_ses->tsk); in cifs_get_tcp_session()
2642 tcp_ses->min_offload = volume_info->min_offload; in cifs_get_tcp_session()
2643 tcp_ses->tcpStatus = CifsNeedNegotiate; in cifs_get_tcp_session()
2646 tcp_ses->max_credits = SMB2_MAX_CREDITS_AVAILABLE; in cifs_get_tcp_session()
2648 tcp_ses->max_credits = volume_info->max_credits; in cifs_get_tcp_session()
2650 tcp_ses->nr_targets = 1; in cifs_get_tcp_session()
2651 tcp_ses->ignore_signature = volume_info->ignore_signature; in cifs_get_tcp_session()
2654 list_add(&tcp_ses->tcp_ses_list, &cifs_tcp_ses_list); in cifs_get_tcp_session()
2657 cifs_fscache_get_client_cookie(tcp_ses); in cifs_get_tcp_session()
2660 queue_delayed_work(cifsiod_wq, &tcp_ses->echo, tcp_ses->echo_interval); in cifs_get_tcp_session()
2662 return tcp_ses; in cifs_get_tcp_session()
2665 cifs_crypto_secmech_release(tcp_ses); in cifs_get_tcp_session()
2667 put_net(cifs_net_ns(tcp_ses)); in cifs_get_tcp_session()
2670 if (tcp_ses) { in cifs_get_tcp_session()
2671 if (!IS_ERR(tcp_ses->hostname)) in cifs_get_tcp_session()
2672 kfree(tcp_ses->hostname); in cifs_get_tcp_session()
2673 if (tcp_ses->ssocket) in cifs_get_tcp_session()
2674 sock_release(tcp_ses->ssocket); in cifs_get_tcp_session()
2675 kfree(tcp_ses); in cifs_get_tcp_session()