Lines Matching defs:tcp_ses

1663 	struct TCP_Server_Info *tcp_ses = NULL;
1668 /* see if we already have a matching tcp_ses */
1669 tcp_ses = cifs_find_tcp_session(ctx);
1670 if (tcp_ses)
1671 return tcp_ses;
1673 tcp_ses = kzalloc(sizeof(struct TCP_Server_Info), GFP_KERNEL);
1674 if (!tcp_ses) {
1679 tcp_ses->hostname = kstrdup(ctx->server_hostname, GFP_KERNEL);
1680 if (!tcp_ses->hostname) {
1686 tcp_ses->leaf_fullpath = kstrdup(ctx->leaf_fullpath, GFP_KERNEL);
1687 if (!tcp_ses->leaf_fullpath) {
1694 tcp_ses->nosharesock = true;
1696 tcp_ses->ops = ctx->ops;
1697 tcp_ses->vals = ctx->vals;
1698 cifs_set_net_ns(tcp_ses, get_net(current->nsproxy->net_ns));
1700 tcp_ses->conn_id = atomic_inc_return(&tcpSesNextId);
1701 tcp_ses->noblockcnt = ctx->rootfs;
1702 tcp_ses->noblocksnd = ctx->noblocksnd || ctx->rootfs;
1703 tcp_ses->noautotune = ctx->noautotune;
1704 tcp_ses->tcp_nodelay = ctx->sockopt_tcp_nodelay;
1705 tcp_ses->rdma = ctx->rdma;
1706 tcp_ses->in_flight = 0;
1707 tcp_ses->max_in_flight = 0;
1708 tcp_ses->credits = 1;
1713 tcp_ses->primary_server = primary_server;
1715 init_waitqueue_head(&tcp_ses->response_q);
1716 init_waitqueue_head(&tcp_ses->request_q);
1717 INIT_LIST_HEAD(&tcp_ses->pending_mid_q);
1718 mutex_init(&tcp_ses->_srv_mutex);
1719 memcpy(tcp_ses->workstation_RFC1001_name,
1721 memcpy(tcp_ses->server_RFC1001_name,
1723 tcp_ses->session_estab = false;
1724 tcp_ses->sequence_number = 0;
1725 tcp_ses->channel_sequence_num = 0; /* only tracked for primary channel */
1726 tcp_ses->reconnect_instance = 1;
1727 tcp_ses->lstrp = jiffies;
1728 tcp_ses->compress_algorithm = cpu_to_le16(ctx->compression);
1729 spin_lock_init(&tcp_ses->req_lock);
1730 spin_lock_init(&tcp_ses->srv_lock);
1731 spin_lock_init(&tcp_ses->mid_lock);
1732 INIT_LIST_HEAD(&tcp_ses->tcp_ses_list);
1733 INIT_LIST_HEAD(&tcp_ses->smb_ses_list);
1734 INIT_DELAYED_WORK(&tcp_ses->echo, cifs_echo_request);
1735 INIT_DELAYED_WORK(&tcp_ses->reconnect, smb2_reconnect_server);
1736 mutex_init(&tcp_ses->reconnect_mutex);
1738 mutex_init(&tcp_ses->refpath_lock);
1740 memcpy(&tcp_ses->srcaddr, &ctx->srcaddr,
1741 sizeof(tcp_ses->srcaddr));
1742 memcpy(&tcp_ses->dstaddr, &ctx->dstaddr,
1743 sizeof(tcp_ses->dstaddr));
1745 memcpy(tcp_ses->client_guid, ctx->client_guid,
1748 generate_random_uuid(tcp_ses->client_guid);
1754 tcp_ses->tcpStatus = CifsNew;
1755 ++tcp_ses->srv_count;
1759 tcp_ses->echo_interval = ctx->echo_interval * HZ;
1761 tcp_ses->echo_interval = SMB_ECHO_INTERVAL_DEFAULT * HZ;
1762 if (tcp_ses->rdma) {
1768 tcp_ses->smbd_conn = smbd_get_connection(
1769 tcp_ses, (struct sockaddr *)&ctx->dstaddr);
1770 if (tcp_ses->smbd_conn) {
1779 rc = ip_connect(tcp_ses);
1790 tcp_ses->tsk = kthread_run(cifs_demultiplex_thread,
1791 tcp_ses, "cifsd");
1792 if (IS_ERR(tcp_ses->tsk)) {
1793 rc = PTR_ERR(tcp_ses->tsk);
1798 tcp_ses->min_offload = ctx->min_offload;
1804 spin_lock(&tcp_ses->srv_lock);
1805 tcp_ses->tcpStatus = CifsNeedNegotiate;
1806 spin_unlock(&tcp_ses->srv_lock);
1809 tcp_ses->max_credits = SMB2_MAX_CREDITS_AVAILABLE;
1811 tcp_ses->max_credits = ctx->max_credits;
1813 tcp_ses->nr_targets = 1;
1814 tcp_ses->ignore_signature = ctx->ignore_signature;
1817 list_add(&tcp_ses->tcp_ses_list, &cifs_tcp_ses_list);
1821 queue_delayed_work(cifsiod_wq, &tcp_ses->echo, tcp_ses->echo_interval);
1823 return tcp_ses;
1826 cifs_crypto_secmech_release(tcp_ses);
1828 put_net(cifs_net_ns(tcp_ses));
1831 if (tcp_ses) {
1832 if (SERVER_IS_CHAN(tcp_ses))
1833 cifs_put_tcp_session(tcp_ses->primary_server, false);
1834 kfree(tcp_ses->hostname);
1835 kfree(tcp_ses->leaf_fullpath);
1836 if (tcp_ses->ssocket)
1837 sock_release(tcp_ses->ssocket);
1838 kfree(tcp_ses);