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