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#include <linux/sunrpc/stats.h> 13 14struct bl_dev_msg { 15 int32_t status; 16 uint32_t major, minor; 17}; 18 19struct nfs_netns_client; 20 21struct nfs_net { 22 struct cache_detail *nfs_dns_resolve; 23 struct rpc_pipe *bl_device_pipe; 24 struct bl_dev_msg bl_mount_reply; 25 wait_queue_head_t bl_wq; 26 struct mutex bl_mutex; 27 struct list_head nfs_client_list; 28 struct list_head nfs_volume_list; 29#if IS_ENABLED(CONFIG_NFS_V4) 30 struct idr cb_ident_idr; /* Protected by nfs_client_lock */ 31 unsigned short nfs_callback_tcpport; 32 unsigned short nfs_callback_tcpport6; 33 int cb_users[NFS4_MAX_MINOR_VERSION + 1]; 34#endif 35 struct nfs_netns_client *nfs_client; 36 spinlock_t nfs_client_lock; 37 ktime_t boot_time; 38 struct rpc_stat rpcstats; 39#ifdef CONFIG_PROC_FS 40 struct proc_dir_entry *proc_nfsfs; 41#endif 42}; 43 44extern unsigned int nfs_net_id; 45 46#endif 47