162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (c) 2019 Hammerspace Inc 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#ifndef __NFS_SYSFS_H 762306a36Sopenharmony_ci#define __NFS_SYSFS_H 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#define CONTAINER_ID_MAXLEN (64) 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_cistruct nfs_netns_client { 1262306a36Sopenharmony_ci struct kobject kobject; 1362306a36Sopenharmony_ci struct kobject nfs_net_kobj; 1462306a36Sopenharmony_ci struct net *net; 1562306a36Sopenharmony_ci const char __rcu *identifier; 1662306a36Sopenharmony_ci}; 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciextern struct kobject *nfs_net_kobj; 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciextern int nfs_sysfs_init(void); 2162306a36Sopenharmony_ciextern void nfs_sysfs_exit(void); 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_civoid nfs_netns_sysfs_setup(struct nfs_net *netns, struct net *net); 2462306a36Sopenharmony_civoid nfs_netns_sysfs_destroy(struct nfs_net *netns); 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_civoid nfs_sysfs_link_rpc_client(struct nfs_server *server, 2762306a36Sopenharmony_ci struct rpc_clnt *clnt, const char *sysfs_prefix); 2862306a36Sopenharmony_civoid nfs_sysfs_add_server(struct nfs_server *s); 2962306a36Sopenharmony_civoid nfs_sysfs_move_server_to_sb(struct super_block *s); 3062306a36Sopenharmony_civoid nfs_sysfs_move_sb_to_server(struct nfs_server *s); 3162306a36Sopenharmony_civoid nfs_sysfs_remove_server(struct nfs_server *s); 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci#endif 34