Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 /*
  2  * linux/fs/nfs/sysctl.c
  3  *
  4  * Sysctl interface to NFS parameters
  5  */
  6 #include <linux/types.h>
  7 #include <linux/linkage.h>
  8 #include <linux/ctype.h>
  9 #include <linux/fs.h>
 10 #include <linux/sysctl.h>
 11 #include <linux/module.h>
 12 #include <linux/nfs4.h>
 13 #include <linux/nfs_idmap.h>
 14 #include <linux/nfs_fs.h>
 15 
 16 #include "callback.h"
 17 
 18 static const int nfs_set_port_min = 0;
 19 static const int nfs_set_port_max = 65535;
 20 static struct ctl_table_header *nfs_callback_sysctl_table;
 21 
 22 static ctl_table nfs_cb_sysctls[] = {
 23 #ifdef CONFIG_NFS_V4
 24         {
 25                 .ctl_name = CTL_UNNUMBERED,
 26                 .procname = "nfs_callback_tcpport",
 27                 .data = &nfs_callback_set_tcpport,
 28                 .maxlen = sizeof(int),
 29                 .mode = 0644,
 30                 .proc_handler = &proc_dointvec_minmax,
 31                 .extra1 = (int *)&nfs_set_port_min,
 32                 .extra2 = (int *)&nfs_set_port_max,
 33         },
 34         {
 35                 .ctl_name = CTL_UNNUMBERED,
 36                 .procname = "idmap_cache_timeout",
 37                 .data = &nfs_idmap_cache_timeout,
 38                 .maxlen = sizeof(int),
 39                 .mode = 0644,
 40                 .proc_handler = &proc_dointvec_jiffies,
 41                 .strategy = &sysctl_jiffies,
 42         },
 43 #endif
 44         {
 45                 .ctl_name       = CTL_UNNUMBERED,
 46                 .procname       = "nfs_mountpoint_timeout",
 47                 .data           = &nfs_mountpoint_expiry_timeout,
 48                 .maxlen         = sizeof(nfs_mountpoint_expiry_timeout),
 49                 .mode           = 0644,
 50                 .proc_handler   = &proc_dointvec_jiffies,
 51                 .strategy       = &sysctl_jiffies,
 52         },
 53         {
 54                 .ctl_name       = CTL_UNNUMBERED,
 55                 .procname       = "nfs_congestion_kb",
 56                 .data           = &nfs_congestion_kb,
 57                 .maxlen         = sizeof(nfs_congestion_kb),
 58                 .mode           = 0644,
 59                 .proc_handler   = &proc_dointvec,
 60         },
 61         { .ctl_name = 0 }
 62 };
 63 
 64 static ctl_table nfs_cb_sysctl_dir[] = {
 65         {
 66                 .ctl_name = CTL_UNNUMBERED,
 67                 .procname = "nfs",
 68                 .mode = 0555,
 69                 .child = nfs_cb_sysctls,
 70         },
 71         { .ctl_name = 0 }
 72 };
 73 
 74 static ctl_table nfs_cb_sysctl_root[] = {
 75         {
 76                 .ctl_name = CTL_FS,
 77                 .procname = "fs",
 78                 .mode = 0555,
 79                 .child = nfs_cb_sysctl_dir,
 80         },
 81         { .ctl_name = 0 }
 82 };
 83 
 84 int nfs_register_sysctl(void)
 85 {
 86         nfs_callback_sysctl_table = register_sysctl_table(nfs_cb_sysctl_root);
 87         if (nfs_callback_sysctl_table == NULL)
 88                 return -ENOMEM;
 89         return 0;
 90 }
 91 
 92 void nfs_unregister_sysctl(void)
 93 {
 94         unregister_sysctl_table(nfs_callback_sysctl_table);
 95         nfs_callback_sysctl_table = NULL;
 96 }
 97 
  This page was automatically generated by the LXR engine.