Branch data Line data Source code
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",
19 : : .data = &nfs_mountpoint_expiry_timeout,
20 : : .maxlen = sizeof(nfs_mountpoint_expiry_timeout),
21 : : .mode = 0644,
22 : : .proc_handler = proc_dointvec_jiffies,
23 : : },
24 : : {
25 : : .procname = "nfs_congestion_kb",
26 : : .data = &nfs_congestion_kb,
27 : : .maxlen = sizeof(nfs_congestion_kb),
28 : : .mode = 0644,
29 : : .proc_handler = proc_dointvec,
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 : :
52 : 0 : int nfs_register_sysctl(void)
53 : : {
54 : 0 : nfs_callback_sysctl_table = register_sysctl_table(nfs_cb_sysctl_root);
55 [ # # ]: 0 : if (nfs_callback_sysctl_table == NULL)
56 : : return -ENOMEM;
57 : 0 : return 0;
58 : : }
59 : :
60 : 0 : void nfs_unregister_sysctl(void)
61 : : {
62 : 0 : unregister_sysctl_table(nfs_callback_sysctl_table);
63 : 0 : nfs_callback_sysctl_table = NULL;
64 : 0 : }
|