mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-28 21:33:52 +00:00
CIFS: add iface info to struct cifs_ses
Signed-off-by: Aurelien Aptel <aaptel@suse.com> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
bead042ccc
commit
b6f0dd5d75
2 changed files with 23 additions and 0 deletions
|
@ -841,6 +841,13 @@ static inline void cifs_set_net_ns(struct TCP_Server_Info *srv, struct net *net)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
struct cifs_server_iface {
|
||||||
|
size_t speed;
|
||||||
|
unsigned int rdma_capable : 1;
|
||||||
|
unsigned int rss_capable : 1;
|
||||||
|
struct sockaddr_storage sockaddr;
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Session structure. One of these for each uid session with a particular host
|
* Session structure. One of these for each uid session with a particular host
|
||||||
*/
|
*/
|
||||||
|
@ -878,6 +885,20 @@ struct cifs_ses {
|
||||||
#ifdef CONFIG_CIFS_SMB311
|
#ifdef CONFIG_CIFS_SMB311
|
||||||
__u8 preauth_sha_hash[SMB2_PREAUTH_HASH_SIZE];
|
__u8 preauth_sha_hash[SMB2_PREAUTH_HASH_SIZE];
|
||||||
#endif /* 3.1.1 */
|
#endif /* 3.1.1 */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Network interfaces available on the server this session is
|
||||||
|
* connected to.
|
||||||
|
*
|
||||||
|
* Other channels can be opened by connecting and binding this
|
||||||
|
* session to interfaces from this list.
|
||||||
|
*
|
||||||
|
* iface_lock should be taken when accessing any of these fields
|
||||||
|
*/
|
||||||
|
spinlock_t iface_lock;
|
||||||
|
struct cifs_server_iface *iface_list;
|
||||||
|
size_t iface_count;
|
||||||
|
unsigned long iface_last_update; /* jiffies */
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline bool
|
static inline bool
|
||||||
|
|
|
@ -82,6 +82,7 @@ sesInfoAlloc(void)
|
||||||
INIT_LIST_HEAD(&ret_buf->smb_ses_list);
|
INIT_LIST_HEAD(&ret_buf->smb_ses_list);
|
||||||
INIT_LIST_HEAD(&ret_buf->tcon_list);
|
INIT_LIST_HEAD(&ret_buf->tcon_list);
|
||||||
mutex_init(&ret_buf->session_mutex);
|
mutex_init(&ret_buf->session_mutex);
|
||||||
|
spin_lock_init(&ret_buf->iface_lock);
|
||||||
}
|
}
|
||||||
return ret_buf;
|
return ret_buf;
|
||||||
}
|
}
|
||||||
|
@ -102,6 +103,7 @@ sesInfoFree(struct cifs_ses *buf_to_free)
|
||||||
kfree(buf_to_free->user_name);
|
kfree(buf_to_free->user_name);
|
||||||
kfree(buf_to_free->domainName);
|
kfree(buf_to_free->domainName);
|
||||||
kzfree(buf_to_free->auth_key.response);
|
kzfree(buf_to_free->auth_key.response);
|
||||||
|
kfree(buf_to_free->iface_list);
|
||||||
kzfree(buf_to_free);
|
kzfree(buf_to_free);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue