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