xref: /openbmc/linux/fs/nfs/netns.h (revision 26033322)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2f092075dSChuck Lever /*
3f092075dSChuck Lever  * NFS-private data for each "struct net".  Accessed with net_generic().
4f092075dSChuck Lever  */
5f092075dSChuck Lever 
61b340d01SStanislav Kinsbursky #ifndef __NFS_NETNS_H__
71b340d01SStanislav Kinsbursky #define __NFS_NETNS_H__
81b340d01SStanislav Kinsbursky 
9ca57ccc4SStanislav Kinsbursky #include <linux/nfs4.h>
101b340d01SStanislav Kinsbursky #include <net/net_namespace.h>
111b340d01SStanislav Kinsbursky #include <net/netns/generic.h>
1226033322SJosef Bacik #include <linux/sunrpc/stats.h>
131b340d01SStanislav Kinsbursky 
14cb9c1c4aSStanislav Kinsbursky struct bl_dev_msg {
15cb9c1c4aSStanislav Kinsbursky 	int32_t status;
16cb9c1c4aSStanislav Kinsbursky 	uint32_t major, minor;
17cb9c1c4aSStanislav Kinsbursky };
18cb9c1c4aSStanislav Kinsbursky 
19bf11fbdbSTrond Myklebust struct nfs_netns_client;
20bf11fbdbSTrond Myklebust 
211b340d01SStanislav Kinsbursky struct nfs_net {
221b340d01SStanislav Kinsbursky 	struct cache_detail *nfs_dns_resolve;
239e2e74dbSStanislav Kinsbursky 	struct rpc_pipe *bl_device_pipe;
24cb9c1c4aSStanislav Kinsbursky 	struct bl_dev_msg bl_mount_reply;
255ffaf855SStanislav Kinsbursky 	wait_queue_head_t bl_wq;
26e0d4ed71SChristoph Hellwig 	struct mutex bl_mutex;
276b13168bSStanislav Kinsbursky 	struct list_head nfs_client_list;
28c25d32b2SStanislav Kinsbursky 	struct list_head nfs_volume_list;
2989d77c8fSBryan Schumaker #if IS_ENABLED(CONFIG_NFS_V4)
3028cd1b3fSStanislav Kinsbursky 	struct idr cb_ident_idr; /* Protected by nfs_client_lock */
31bbe0a3aaSStanislav Kinsbursky 	unsigned short nfs_callback_tcpport;
3229dcc16aSStanislav Kinsbursky 	unsigned short nfs_callback_tcpport6;
33b3d19c51SStanislav Kinsbursky 	int cb_users[NFS4_MAX_MINOR_VERSION + 1];
3428cd1b3fSStanislav Kinsbursky #endif
35bf11fbdbSTrond Myklebust 	struct nfs_netns_client *nfs_client;
36dc030858SStanislav Kinsbursky 	spinlock_t nfs_client_lock;
372f86e091SDeepa Dinamani 	ktime_t boot_time;
3826033322SJosef Bacik 	struct rpc_stat rpcstats;
3965b38851SEric W. Biederman #ifdef CONFIG_PROC_FS
4065b38851SEric W. Biederman 	struct proc_dir_entry *proc_nfsfs;
4165b38851SEric W. Biederman #endif
421b340d01SStanislav Kinsbursky };
431b340d01SStanislav Kinsbursky 
44c7d03a00SAlexey Dobriyan extern unsigned int nfs_net_id;
451b340d01SStanislav Kinsbursky 
461b340d01SStanislav Kinsbursky #endif
47