1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * NFS-private data for each "struct net". Accessed with net_generic(). 4 */ 5 6 #ifndef __NFS_NETNS_H__ 7 #define __NFS_NETNS_H__ 8 9 #include <linux/nfs4.h> 10 #include <net/net_namespace.h> 11 #include <net/netns/generic.h> 12 13 struct bl_dev_msg { 14 int32_t status; 15 uint32_t major, minor; 16 }; 17 18 struct nfs_netns_client; 19 20 struct nfs_net { 21 struct cache_detail *nfs_dns_resolve; 22 struct rpc_pipe *bl_device_pipe; 23 struct bl_dev_msg bl_mount_reply; 24 wait_queue_head_t bl_wq; 25 struct mutex bl_mutex; 26 struct list_head nfs_client_list; 27 struct list_head nfs_volume_list; 28 #if IS_ENABLED(CONFIG_NFS_V4) 29 struct idr cb_ident_idr; /* Protected by nfs_client_lock */ 30 unsigned short nfs_callback_tcpport; 31 unsigned short nfs_callback_tcpport6; 32 int cb_users[NFS4_MAX_MINOR_VERSION + 1]; 33 #endif 34 struct nfs_netns_client *nfs_client; 35 spinlock_t nfs_client_lock; 36 ktime_t boot_time; 37 #ifdef CONFIG_PROC_FS 38 struct proc_dir_entry *proc_nfsfs; 39 #endif 40 }; 41 42 extern unsigned int nfs_net_id; 43 44 #endif 45