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> 12*26033322SJosef 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; 38*26033322SJosef 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