Skip to content

Commit

Permalink
nfs: expose /proc/net/sunrpc/nfs in net namespaces
Browse files Browse the repository at this point in the history
We're using nfs mounts inside of containers in production and noticed
that the nfs stats are not exposed in /proc.  This is a problem for us
as we use these stats for monitoring, and have to do this awkward bind
mount from the main host into the container in order to get to these
states.

Add the rpc_proc_register call to the pernet operations entry and exit
points so these stats can be exposed inside of network namespaces.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
  • Loading branch information
josefbacik authored and Trond Myklebust committed Mar 9, 2024
1 parent 2057a48 commit d47151b
Showing 1 changed file with 2 additions and 4 deletions.
6 changes: 2 additions & 4 deletions fs/nfs/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -2427,11 +2427,13 @@ EXPORT_SYMBOL_GPL(nfs_net_id);
static int nfs_net_init(struct net *net)
{
nfs_clients_init(net);
rpc_proc_register(net, &nfs_rpcstat);
return nfs_fs_proc_net_init(net);
}

static void nfs_net_exit(struct net *net)
{
rpc_proc_unregister(net, "nfs");
nfs_fs_proc_net_exit(net);
nfs_clients_exit(net);
}
Expand Down Expand Up @@ -2486,15 +2488,12 @@ static int __init init_nfs_fs(void)
if (err)
goto out1;

rpc_proc_register(&init_net, &nfs_rpcstat);

err = register_nfs_fs();
if (err)
goto out0;

return 0;
out0:
rpc_proc_unregister(&init_net, "nfs");
nfs_destroy_directcache();
out1:
nfs_destroy_writepagecache();
Expand Down Expand Up @@ -2524,7 +2523,6 @@ static void __exit exit_nfs_fs(void)
nfs_destroy_inodecache();
nfs_destroy_nfspagecache();
unregister_pernet_subsys(&nfs_net_ops);
rpc_proc_unregister(&init_net, "nfs");
unregister_nfs_fs();
nfs_fs_proc_exit();
nfsiod_stop();
Expand Down

0 comments on commit d47151b

Please sign in to comment.