Export nsm_local_state to user space via sysctl
Subsystems (2)
PATCH 18/22 Export nsm_local_state to user space via sysctl
From: Olaf Kirch <[email protected]>
Subject: Export nsm_local_state to user space via sysctl
Every NLM call includes the client's NSM state. Currently, the Linux client always reports 0 - which seems not to cause any problems, but is not what the protocol says.
This patch exposes the kernel's internal variable to user space via a sysctl, which can be set at system boot time by statd.
fs/lockd/mon.c | 2 +- fs/lockd/svc.c | 9 +++++++++ include/linux/lockd/sm_inter.h | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-)
fs/lockd/mon.c +1 -1
@@ -24,7 +24,7 @@ static struct rpc_program nsm_program;/* * Local NSM state */ -u32 nsm_local_state; +int nsm_local_state;/* * Common procedure for SM_MON/SM_UNMON calls
fs/lockd/svc.c +9 -0
@@ -32,6 +32,7 @@#include <linux/sunrpc/svc.h> #include <linux/sunrpc/svcsock.h> #include <linux/lockd/lockd.h> +#include <linux/lockd/sm_inter.h> #include <linux/nfs.h> #define NLMDBG_FACILITY NLMDBG_SVC
@@ -385,6 +386,14 @@ static ctl_table nlm_sysctls[] = { .mode = 0644, .proc_handler = &proc_dointvec, }, + { + .ctl_name = CTL_UNNUMBERED, + .procname = "nsm_local_state", + .data = &nsm_local_state, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec, + }, { .ctl_name = 0 } };
include/linux/lockd/sm_inter.h +1 -1
@@ -42,6 +42,6 @@ struct nsm_res {int nsm_monitor (struct nlm_host *);int nsm_unmonitor (struct nlm_host *); -extern u32 nsm_local_state; +extern int nsm_local_state;#endif /* LINUX_LOCKD_SM_INTER_H */
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs