162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Sysctl operations for Coda filesystem 462306a36Sopenharmony_ci * Original version: (C) 1996 P. Braam and M. Callahan 562306a36Sopenharmony_ci * Rewritten for Linux 2.1. (C) 1997 Carnegie Mellon University 662306a36Sopenharmony_ci * 762306a36Sopenharmony_ci * Carnegie Mellon encourages users to contribute improvements to 862306a36Sopenharmony_ci * the Coda project. Contact Peter Braam (coda@cs.cmu.edu). 962306a36Sopenharmony_ci */ 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#include <linux/sysctl.h> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci#include "coda_int.h" 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_cistatic struct ctl_table_header *fs_table_header; 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_cistatic struct ctl_table coda_table[] = { 1862306a36Sopenharmony_ci { 1962306a36Sopenharmony_ci .procname = "timeout", 2062306a36Sopenharmony_ci .data = &coda_timeout, 2162306a36Sopenharmony_ci .maxlen = sizeof(int), 2262306a36Sopenharmony_ci .mode = 0644, 2362306a36Sopenharmony_ci .proc_handler = proc_dointvec 2462306a36Sopenharmony_ci }, 2562306a36Sopenharmony_ci { 2662306a36Sopenharmony_ci .procname = "hard", 2762306a36Sopenharmony_ci .data = &coda_hard, 2862306a36Sopenharmony_ci .maxlen = sizeof(int), 2962306a36Sopenharmony_ci .mode = 0644, 3062306a36Sopenharmony_ci .proc_handler = proc_dointvec 3162306a36Sopenharmony_ci }, 3262306a36Sopenharmony_ci { 3362306a36Sopenharmony_ci .procname = "fake_statfs", 3462306a36Sopenharmony_ci .data = &coda_fake_statfs, 3562306a36Sopenharmony_ci .maxlen = sizeof(int), 3662306a36Sopenharmony_ci .mode = 0600, 3762306a36Sopenharmony_ci .proc_handler = proc_dointvec 3862306a36Sopenharmony_ci }, 3962306a36Sopenharmony_ci {} 4062306a36Sopenharmony_ci}; 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_civoid coda_sysctl_init(void) 4362306a36Sopenharmony_ci{ 4462306a36Sopenharmony_ci if ( !fs_table_header ) 4562306a36Sopenharmony_ci fs_table_header = register_sysctl("coda", coda_table); 4662306a36Sopenharmony_ci} 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_civoid coda_sysctl_clean(void) 4962306a36Sopenharmony_ci{ 5062306a36Sopenharmony_ci if ( fs_table_header ) { 5162306a36Sopenharmony_ci unregister_sysctl_table(fs_table_header); 5262306a36Sopenharmony_ci fs_table_header = NULL; 5362306a36Sopenharmony_ci } 5462306a36Sopenharmony_ci} 55