Merge tag 'block-5.15-2021-09-05' of git://git.kernel.dk/linux-block
[linux-2.6-microblaze.git] / net / sunrpc / netns.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __SUNRPC_NETNS_H__
3 #define __SUNRPC_NETNS_H__
4
5 #include <net/net_namespace.h>
6 #include <net/netns/generic.h>
7
8 struct cache_detail;
9
10 struct sunrpc_net {
11         struct proc_dir_entry *proc_net_rpc;
12         struct cache_detail *ip_map_cache;
13         struct cache_detail *unix_gid_cache;
14         struct cache_detail *rsc_cache;
15         struct cache_detail *rsi_cache;
16
17         struct super_block *pipefs_sb;
18         struct rpc_pipe *gssd_dummy;
19         struct mutex pipefs_sb_lock;
20
21         struct list_head all_clients;
22         spinlock_t rpc_client_lock;
23
24         struct rpc_clnt *rpcb_local_clnt;
25         struct rpc_clnt *rpcb_local_clnt4;
26         spinlock_t rpcb_clnt_lock;
27         unsigned int rpcb_users;
28         unsigned int rpcb_is_af_local : 1;
29
30         struct mutex gssp_lock;
31         struct rpc_clnt *gssp_clnt;
32         int use_gss_proxy;
33         int pipe_version;
34         atomic_t pipe_users;
35         struct proc_dir_entry *use_gssp_proc;
36 };
37
38 extern unsigned int sunrpc_net_id;
39
40 int ip_map_cache_create(struct net *);
41 void ip_map_cache_destroy(struct net *);
42
43 #endif