xref: /openbmc/linux/fs/coda/sysctl.c (revision 384740dc)
1 /*
2  * Sysctl operations for Coda filesystem
3  * Original version: (C) 1996 P. Braam and M. Callahan
4  * Rewritten for Linux 2.1. (C) 1997 Carnegie Mellon University
5  *
6  * Carnegie Mellon encourages users to contribute improvements to
7  * the Coda project. Contact Peter Braam (coda@cs.cmu.edu).
8  */
9 
10 #include <linux/sysctl.h>
11 
12 #include "coda_int.h"
13 
14 static struct ctl_table_header *fs_table_header;
15 
16 static ctl_table coda_table[] = {
17 	{
18 		.ctl_name	= CTL_UNNUMBERED,
19 		.procname	= "timeout",
20 		.data		= &coda_timeout,
21 		.maxlen		= sizeof(int),
22 		.mode		= 0644,
23 		.proc_handler	= &proc_dointvec
24 	},
25 	{
26 		.ctl_name	= CTL_UNNUMBERED,
27 		.procname	= "hard",
28 		.data		= &coda_hard,
29 		.maxlen		= sizeof(int),
30 		.mode		= 0644,
31 		.proc_handler	= &proc_dointvec
32 	},
33 	{
34 		.ctl_name	= CTL_UNNUMBERED,
35 		.procname	= "fake_statfs",
36 		.data		= &coda_fake_statfs,
37 		.maxlen		= sizeof(int),
38 		.mode		= 0600,
39 		.proc_handler	= &proc_dointvec
40 	},
41 	{}
42 };
43 
44 static ctl_table fs_table[] = {
45 	{
46 		.ctl_name	= CTL_UNNUMBERED,
47 		.procname	= "coda",
48 		.mode		= 0555,
49 		.child		= coda_table
50 	},
51 	{}
52 };
53 
54 
55 void coda_sysctl_init(void)
56 {
57 #ifdef CONFIG_SYSCTL
58 	if ( !fs_table_header )
59 		fs_table_header = register_sysctl_table(fs_table);
60 #endif
61 }
62 
63 void coda_sysctl_clean(void)
64 {
65 #ifdef CONFIG_SYSCTL
66 	if ( fs_table_header ) {
67 		unregister_sysctl_table(fs_table_header);
68 		fs_table_header = NULL;
69 	}
70 #endif
71 }
72