Patch "nfs: expose /proc/net/sunrpc/nfs in net namespaces" has been added to the 5.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    nfs: expose /proc/net/sunrpc/nfs in net namespaces

to the 5.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     nfs-expose-proc-net-sunrpc-nfs-in-net-namespaces.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 3ffad6f5806c058ba9a4d3d4d056720c1c89e3cb
Author: Josef Bacik <josef@xxxxxxxxxxxxxx>
Date:   Thu Feb 15 14:57:31 2024 -0500

    nfs: expose /proc/net/sunrpc/nfs in net namespaces
    
    [ Upstream commit d47151b79e3220e72ae323b8b8e9d6da20dc884e ]
    
    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@xxxxxxxxxxxxxx>
    Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
    Stable-dep-of: 24457f1be29f ("nfs: Handle error of rpc_proc_register() in nfs_net_init().")
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
index 3bddf5332b6d6..c154e7f98e6d8 100644
--- a/fs/nfs/inode.c
+++ b/fs/nfs/inode.c
@@ -2179,11 +2179,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);
 }
@@ -2242,15 +2244,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();
@@ -2283,7 +2282,6 @@ static void __exit exit_nfs_fs(void)
 	nfs_destroy_nfspagecache();
 	nfs_fscache_unregister();
 	unregister_pernet_subsys(&nfs_net_ops);
-	rpc_proc_unregister(&init_net, "nfs");
 	unregister_nfs_fs();
 	nfs_fs_proc_exit();
 	nfsiod_stop();




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux