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
coda_sysctl_init(void)51 void coda_sysctl_init(void)
52 {
53 if ( !fs_table_header )
54 fs_table_header = register_sysctl_table(fs_table);
55 }
56
coda_sysctl_clean(void)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