Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
sysctl.c
Go to the documentation of this file.
1 /*
2  * linux/fs/nfs/sysctl.c
3  *
4  * Sysctl interface to NFS parameters
5  */
6 #include <linux/types.h>
7 #include <linux/linkage.h>
8 #include <linux/ctype.h>
9 #include <linux/fs.h>
10 #include <linux/sysctl.h>
11 #include <linux/module.h>
12 #include <linux/nfs_fs.h>
13 
14 static struct ctl_table_header *nfs_callback_sysctl_table;
15 
16 static ctl_table nfs_cb_sysctls[] = {
17  {
18  .procname = "nfs_mountpoint_timeout",
20  .maxlen = sizeof(nfs_mountpoint_expiry_timeout),
21  .mode = 0644,
23  },
24  {
25  .procname = "nfs_congestion_kb",
26  .data = &nfs_congestion_kb,
27  .maxlen = sizeof(nfs_congestion_kb),
28  .mode = 0644,
30  },
31  { }
32 };
33 
34 static ctl_table nfs_cb_sysctl_dir[] = {
35  {
36  .procname = "nfs",
37  .mode = 0555,
38  .child = nfs_cb_sysctls,
39  },
40  { }
41 };
42 
43 static ctl_table nfs_cb_sysctl_root[] = {
44  {
45  .procname = "fs",
46  .mode = 0555,
47  .child = nfs_cb_sysctl_dir,
48  },
49  { }
50 };
51 
53 {
54  nfs_callback_sysctl_table = register_sysctl_table(nfs_cb_sysctl_root);
55  if (nfs_callback_sysctl_table == NULL)
56  return -ENOMEM;
57  return 0;
58 }
59 
61 {
62  unregister_sysctl_table(nfs_callback_sysctl_table);
63  nfs_callback_sysctl_table = NULL;
64 }