]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | // SPDX-License-Identifier: GPL-2.0 |
466bfe7f BS |
2 | /* |
3 | * linux/fs/nfs/nfs4sysctl.c | |
4 | * | |
5 | * Sysctl interface to NFS v4 parameters | |
6 | * | |
7 | * Copyright (c) 2006 Trond Myklebust <[email protected]> | |
8 | */ | |
9 | #include <linux/sysctl.h> | |
466bfe7f BS |
10 | #include <linux/nfs_fs.h> |
11 | ||
22e24309 | 12 | #include "nfs4_fs.h" |
40c64c26 | 13 | #include "nfs4idmap.h" |
466bfe7f BS |
14 | #include "callback.h" |
15 | ||
ed476752 | 16 | static const int nfs_set_port_min; |
466bfe7f BS |
17 | static const int nfs_set_port_max = 65535; |
18 | static struct ctl_table_header *nfs4_callback_sysctl_table; | |
19 | ||
f5102e56 | 20 | static struct ctl_table nfs4_cb_sysctls[] = { |
466bfe7f BS |
21 | { |
22 | .procname = "nfs_callback_tcpport", | |
23 | .data = &nfs_callback_set_tcpport, | |
24 | .maxlen = sizeof(int), | |
25 | .mode = 0644, | |
26 | .proc_handler = proc_dointvec_minmax, | |
27 | .extra1 = (int *)&nfs_set_port_min, | |
28 | .extra2 = (int *)&nfs_set_port_max, | |
29 | }, | |
30 | { | |
31 | .procname = "idmap_cache_timeout", | |
32 | .data = &nfs_idmap_cache_timeout, | |
33 | .maxlen = sizeof(int), | |
34 | .mode = 0644, | |
cbebc6ef | 35 | .proc_handler = proc_dointvec, |
466bfe7f BS |
36 | }, |
37 | { } | |
38 | }; | |
39 | ||
f5102e56 | 40 | static struct ctl_table nfs4_cb_sysctl_dir[] = { |
466bfe7f BS |
41 | { |
42 | .procname = "nfs", | |
43 | .mode = 0555, | |
44 | .child = nfs4_cb_sysctls, | |
45 | }, | |
46 | { } | |
47 | }; | |
48 | ||
f5102e56 | 49 | static struct ctl_table nfs4_cb_sysctl_root[] = { |
466bfe7f BS |
50 | { |
51 | .procname = "fs", | |
52 | .mode = 0555, | |
53 | .child = nfs4_cb_sysctl_dir, | |
54 | }, | |
55 | { } | |
56 | }; | |
57 | ||
58 | int nfs4_register_sysctl(void) | |
59 | { | |
60 | nfs4_callback_sysctl_table = register_sysctl_table(nfs4_cb_sysctl_root); | |
61 | if (nfs4_callback_sysctl_table == NULL) | |
62 | return -ENOMEM; | |
63 | return 0; | |
64 | } | |
65 | ||
66 | void nfs4_unregister_sysctl(void) | |
67 | { | |
68 | unregister_sysctl_table(nfs4_callback_sysctl_table); | |
69 | nfs4_callback_sysctl_table = NULL; | |
70 | } |