2005-04-17 02:20:36 +04:00
/*
* Sysctl operations for Coda filesystem
* Original version : ( C ) 1996 P . Braam and M . Callahan
* Rewritten for Linux 2.1 . ( C ) 1997 Carnegie Mellon University
*
* Carnegie Mellon encourages users to contribute improvements to
* the Coda project . Contact Peter Braam ( coda @ cs . cmu . edu ) .
*/
# include <linux/sysctl.h>
2007-07-19 12:48:51 +04:00
# include "coda_int.h"
2005-04-17 02:20:36 +04:00
static struct ctl_table_header * fs_table_header ;
static ctl_table coda_table [ ] = {
2007-02-14 11:33:55 +03:00
{
. ctl_name = CTL_UNNUMBERED ,
. procname = " timeout " ,
. data = & coda_timeout ,
. maxlen = sizeof ( int ) ,
. mode = 0644 ,
. proc_handler = & proc_dointvec
} ,
{
. ctl_name = CTL_UNNUMBERED ,
. procname = " hard " ,
. data = & coda_hard ,
. maxlen = sizeof ( int ) ,
. mode = 0644 ,
. proc_handler = & proc_dointvec
} ,
{
. ctl_name = CTL_UNNUMBERED ,
. procname = " fake_statfs " ,
. data = & coda_fake_statfs ,
. maxlen = sizeof ( int ) ,
. mode = 0600 ,
. proc_handler = & proc_dointvec
} ,
{ }
2005-04-17 02:20:36 +04:00
} ;
static ctl_table fs_table [ ] = {
2007-02-14 11:33:55 +03:00
{
. ctl_name = CTL_UNNUMBERED ,
. procname = " coda " ,
. mode = 0555 ,
. child = coda_table
} ,
{ }
2005-04-17 02:20:36 +04:00
} ;
void coda_sysctl_init ( void )
{
# ifdef CONFIG_SYSCTL
if ( ! fs_table_header )
2007-02-14 11:34:09 +03:00
fs_table_header = register_sysctl_table ( fs_table ) ;
2007-07-19 12:48:51 +04:00
# endif
2005-04-17 02:20:36 +04:00
}
2007-07-19 12:48:51 +04:00
void coda_sysctl_clean ( void )
2005-04-17 02:20:36 +04:00
{
# ifdef CONFIG_SYSCTL
if ( fs_table_header ) {
unregister_sysctl_table ( fs_table_header ) ;
fs_table_header = NULL ;
}
# endif
}