Lines Matching refs:tcp_ses

2467 	struct TCP_Server_Info *tcp_ses = NULL;  in cifs_get_tcp_session()  local
2473 tcp_ses = cifs_find_tcp_session(volume_info); in cifs_get_tcp_session()
2474 if (tcp_ses) in cifs_get_tcp_session()
2475 return tcp_ses; in cifs_get_tcp_session()
2477 tcp_ses = kzalloc(sizeof(struct TCP_Server_Info), GFP_KERNEL); in cifs_get_tcp_session()
2478 if (!tcp_ses) { 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()
2485 cifs_set_net_ns(tcp_ses, get_net(current->nsproxy->net_ns)); in cifs_get_tcp_session()
2486 tcp_ses->hostname = extract_hostname(volume_info->UNC); in cifs_get_tcp_session()
2487 if (IS_ERR(tcp_ses->hostname)) { in cifs_get_tcp_session()
2488 rc = PTR_ERR(tcp_ses->hostname); 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()
2496 tcp_ses->in_flight = 0; in cifs_get_tcp_session()
2497 tcp_ses->credits = 1; in cifs_get_tcp_session()
2498 init_waitqueue_head(&tcp_ses->response_q); in cifs_get_tcp_session()
2499 init_waitqueue_head(&tcp_ses->request_q); in cifs_get_tcp_session()
2500 INIT_LIST_HEAD(&tcp_ses->pending_mid_q); in cifs_get_tcp_session()
2501 mutex_init(&tcp_ses->srv_mutex); in cifs_get_tcp_session()
2502 memcpy(tcp_ses->workstation_RFC1001_name, in cifs_get_tcp_session()
2504 memcpy(tcp_ses->server_RFC1001_name, in cifs_get_tcp_session()
2506 tcp_ses->session_estab = false; in cifs_get_tcp_session()
2507 tcp_ses->sequence_number = 0; in cifs_get_tcp_session()
2508 tcp_ses->lstrp = jiffies; in cifs_get_tcp_session()
2509 spin_lock_init(&tcp_ses->req_lock); in cifs_get_tcp_session()
2510 INIT_LIST_HEAD(&tcp_ses->tcp_ses_list); in cifs_get_tcp_session()
2511 INIT_LIST_HEAD(&tcp_ses->smb_ses_list); in cifs_get_tcp_session()
2512 INIT_DELAYED_WORK(&tcp_ses->echo, cifs_echo_request); in cifs_get_tcp_session()
2513 INIT_DELAYED_WORK(&tcp_ses->reconnect, smb2_reconnect_server); in cifs_get_tcp_session()
2514 mutex_init(&tcp_ses->reconnect_mutex); in cifs_get_tcp_session()
2515 memcpy(&tcp_ses->srcaddr, &volume_info->srcaddr, in cifs_get_tcp_session()
2516 sizeof(tcp_ses->srcaddr)); in cifs_get_tcp_session()
2517 memcpy(&tcp_ses->dstaddr, &volume_info->dstaddr, in cifs_get_tcp_session()
2518 sizeof(tcp_ses->dstaddr)); in cifs_get_tcp_session()
2519 generate_random_uuid(tcp_ses->client_guid); in cifs_get_tcp_session()
2525 tcp_ses->tcpStatus = CifsNew; in cifs_get_tcp_session()
2526 ++tcp_ses->srv_count; in cifs_get_tcp_session()
2530 tcp_ses->echo_interval = volume_info->echo_interval * HZ; in cifs_get_tcp_session()
2532 tcp_ses->echo_interval = SMB_ECHO_INTERVAL_DEFAULT * HZ; in cifs_get_tcp_session()
2533 if (tcp_ses->rdma) { in cifs_get_tcp_session()
2539 tcp_ses->smbd_conn = smbd_get_connection( in cifs_get_tcp_session()
2540 tcp_ses, (struct sockaddr *)&volume_info->dstaddr); in cifs_get_tcp_session()
2541 if (tcp_ses->smbd_conn) { in cifs_get_tcp_session()
2550 rc = ip_connect(tcp_ses); in cifs_get_tcp_session()
2561 tcp_ses->tsk = kthread_run(cifs_demultiplex_thread, in cifs_get_tcp_session()
2562 tcp_ses, "cifsd"); in cifs_get_tcp_session()
2563 if (IS_ERR(tcp_ses->tsk)) { in cifs_get_tcp_session()
2564 rc = PTR_ERR(tcp_ses->tsk); in cifs_get_tcp_session()
2569 tcp_ses->tcpStatus = CifsNeedNegotiate; in cifs_get_tcp_session()
2573 list_add(&tcp_ses->tcp_ses_list, &cifs_tcp_ses_list); in cifs_get_tcp_session()
2576 cifs_fscache_get_client_cookie(tcp_ses); in cifs_get_tcp_session()
2579 queue_delayed_work(cifsiod_wq, &tcp_ses->echo, tcp_ses->echo_interval); in cifs_get_tcp_session()
2581 return tcp_ses; in cifs_get_tcp_session()
2584 cifs_crypto_secmech_release(tcp_ses); in cifs_get_tcp_session()
2586 put_net(cifs_net_ns(tcp_ses)); in cifs_get_tcp_session()
2589 if (tcp_ses) { in cifs_get_tcp_session()
2590 if (!IS_ERR(tcp_ses->hostname)) in cifs_get_tcp_session()
2591 kfree(tcp_ses->hostname); in cifs_get_tcp_session()
2592 if (tcp_ses->ssocket) in cifs_get_tcp_session()
2593 sock_release(tcp_ses->ssocket); in cifs_get_tcp_session()
2594 kfree(tcp_ses); in cifs_get_tcp_session()