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
15static struct ctl_table_header *fs_table_header;
16
17static 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
42static struct ctl_table fs_table[] = {
43	{
44		.procname	= "coda",
45		.mode		= 0555,
46		.child		= coda_table
47	},
48	{}
49};
50
51void coda_sysctl_init(void)
52{
53	if ( !fs_table_header )
54		fs_table_header = register_sysctl_table(fs_table);
55}
56
57void 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
66void coda_sysctl_init(void)
67{
68}
69
70void coda_sysctl_clean(void)
71{
72}
73#endif
74