xref: /linux/fs/nfs/sysfs.h (revision cdd5b5a9761fd66d17586e4f4ba6588c70e640ea)
11f9b0f3aSNishad Kamdar /* SPDX-License-Identifier: GPL-2.0 */
2996bc4f4STrond Myklebust /*
3996bc4f4STrond Myklebust  * Copyright (c) 2019 Hammerspace Inc
4996bc4f4STrond Myklebust  */
5996bc4f4STrond Myklebust 
6996bc4f4STrond Myklebust #ifndef __NFS_SYSFS_H
7996bc4f4STrond Myklebust #define __NFS_SYSFS_H
8996bc4f4STrond Myklebust 
9bf11fbdbSTrond Myklebust #define CONTAINER_ID_MAXLEN (64)
10bf11fbdbSTrond Myklebust 
11bf11fbdbSTrond Myklebust struct nfs_netns_client {
12bf11fbdbSTrond Myklebust 	struct kobject kobject;
13e96f9268SBenjamin Coddington 	struct kobject nfs_net_kobj;
14bf11fbdbSTrond Myklebust 	struct net *net;
15094eca37STrond Myklebust 	const char __rcu *identifier;
16bf11fbdbSTrond Myklebust };
17996bc4f4STrond Myklebust 
18d5082aceSBenjamin Coddington extern struct kobject *nfs_net_kobj;
19996bc4f4STrond Myklebust 
20996bc4f4STrond Myklebust extern int nfs_sysfs_init(void);
21996bc4f4STrond Myklebust extern void nfs_sysfs_exit(void);
22996bc4f4STrond Myklebust 
23bf11fbdbSTrond Myklebust void nfs_netns_sysfs_setup(struct nfs_net *netns, struct net *net);
24bf11fbdbSTrond Myklebust void nfs_netns_sysfs_destroy(struct nfs_net *netns);
25bf11fbdbSTrond Myklebust 
26*e13b5493SBenjamin Coddington void nfs_sysfs_link_rpc_client(struct nfs_server *server,
27*e13b5493SBenjamin Coddington 			struct rpc_clnt *clnt, const char *sysfs_prefix);
281c725118SBenjamin Coddington void nfs_sysfs_add_server(struct nfs_server *s);
291c725118SBenjamin Coddington void nfs_sysfs_move_server_to_sb(struct super_block *s);
301c725118SBenjamin Coddington void nfs_sysfs_move_sb_to_server(struct nfs_server *s);
311c725118SBenjamin Coddington void nfs_sysfs_remove_server(struct nfs_server *s);
321c725118SBenjamin Coddington 
33996bc4f4STrond Myklebust #endif
34