xref: /linux/fs/coda/sysctl.c (revision 3839a7460721b87501134697b7b90c45dcc7825d)
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Sysctl operations for Coda filesystem
4  * Original version: (C) 1996 P. Braam and M. Callahan
5  * Rewritten for Linux 2.1. (C) 1997 Carnegie Mellon University
6  *
7  * Carnegie Mellon encourages users to contribute improvements to
8  * the Coda project. Contact Peter Braam (coda@cs.cmu.edu).
9  */
10 
11 #include <linux/sysctl.h>
12 
13 #include "coda_int.h"
14 
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