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