xref: /linux/fs/coda/sysctl.c (revision ca55b2fef3a9373fcfc30f82fd26bc7fccbda732)
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 #ifdef CONFIG_SYSCTL
15 static struct ctl_table_header *fs_table_header;
16 
17 static struct ctl_table coda_table[] = {
18 	{
19 		.procname	= "timeout",
20 		.data		= &coda_timeout,
21 		.maxlen		= sizeof(int),
22 		.mode		= 0644,
23 		.proc_handler	= proc_dointvec
24 	},
25 	{
26 		.procname	= "hard",
27 		.data		= &coda_hard,
28 		.maxlen		= sizeof(int),
29 		.mode		= 0644,
30 		.proc_handler	= proc_dointvec
31 	},
32 	{
33 		.procname	= "fake_statfs",
34 		.data		= &coda_fake_statfs,
35 		.maxlen		= sizeof(int),
36 		.mode		= 0600,
37 		.proc_handler	= proc_dointvec
38 	},
39 	{}
40 };
41 
42 static struct ctl_table fs_table[] = {
43 	{
44 		.procname	= "coda",
45 		.mode		= 0555,
46 		.child		= coda_table
47 	},
48 	{}
49 };
50 
51 void coda_sysctl_init(void)
52 {
53 	if ( !fs_table_header )
54 		fs_table_header = register_sysctl_table(fs_table);
55 }
56 
57 void coda_sysctl_clean(void)
58 {
59 	if ( fs_table_header ) {
60 		unregister_sysctl_table(fs_table_header);
61 		fs_table_header = NULL;
62 	}
63 }
64 
65 #else
66 void coda_sysctl_init(void)
67 {
68 }
69 
70 void coda_sysctl_clean(void)
71 {
72 }
73 #endif
74