diff options
Diffstat (limited to 'drivers/staging/lustre/lustre/libcfs/linux/linux-proc.c')
-rw-r--r-- | drivers/staging/lustre/lustre/libcfs/linux/linux-proc.c | 94 |
1 files changed, 61 insertions, 33 deletions
diff --git a/drivers/staging/lustre/lustre/libcfs/linux/linux-proc.c b/drivers/staging/lustre/lustre/libcfs/linux/linux-proc.c index e947b9128c58..13a9266acfa0 100644 --- a/drivers/staging/lustre/lustre/libcfs/linux/linux-proc.c +++ b/drivers/staging/lustre/lustre/libcfs/linux/linux-proc.c @@ -61,11 +61,11 @@ # define DEBUG_SUBSYSTEM S_LNET -#include <linux/libcfs/libcfs.h> +#include "../../../include/linux/libcfs/libcfs.h" #include <asm/div64.h> -#include "tracefile.h" +#include "../tracefile.h" -static ctl_table_header_t *lnet_table_header = NULL; +static struct ctl_table_header *lnet_table_header = NULL; extern char lnet_upcall[1024]; /** * The path of debug log dump upcall script. @@ -98,11 +98,9 @@ enum { PSDEV_LNET_FAIL_VAL, /* userdata for fail loc */ }; -int -proc_call_handler(void *data, int write, - loff_t *ppos, void *buffer, size_t *lenp, - int (*handler)(void *data, int write, - loff_t pos, void *buffer, int len)) +static int proc_call_handler(void *data, int write, loff_t *ppos, void *buffer, + size_t *lenp, int (*handler)(void *data, int write, + loff_t pos, void *buffer, int len)) { int rc = handler(data, write, *ppos, buffer, *lenp); @@ -117,7 +115,6 @@ proc_call_handler(void *data, int write, } return 0; } -EXPORT_SYMBOL(proc_call_handler); static int __proc_dobitmasks(void *data, int write, loff_t pos, void *buffer, int nob) @@ -160,7 +157,12 @@ static int __proc_dobitmasks(void *data, int write, return rc; } -DECLARE_PROC_HANDLER(proc_dobitmasks) +static int proc_dobitmasks(struct ctl_table *table, int write, + void __user *buffer, size_t *lenp, loff_t *ppos) +{ + return proc_call_handler(table->data, write, ppos, buffer, lenp, + __proc_dobitmasks); +} static int min_watchdog_ratelimit = 0; /* disable ratelimiting */ static int max_watchdog_ratelimit = (24*60*60); /* limit to once per day */ @@ -174,7 +176,12 @@ static int __proc_dump_kernel(void *data, int write, return cfs_trace_dump_debug_buffer_usrstr(buffer, nob); } -DECLARE_PROC_HANDLER(proc_dump_kernel) +static int proc_dump_kernel(struct ctl_table *table, int write, + void __user *buffer, size_t *lenp, loff_t *ppos) +{ + return proc_call_handler(table->data, write, ppos, buffer, lenp, + __proc_dump_kernel); +} static int __proc_daemon_file(void *data, int write, loff_t pos, void *buffer, int nob) @@ -192,7 +199,12 @@ static int __proc_daemon_file(void *data, int write, return cfs_trace_daemon_command_usrstr(buffer, nob); } -DECLARE_PROC_HANDLER(proc_daemon_file) +static int proc_daemon_file(struct ctl_table *table, int write, + void __user *buffer, size_t *lenp, loff_t *ppos) +{ + return proc_call_handler(table->data, write, ppos, buffer, lenp, + __proc_daemon_file); +} static int __proc_debug_mb(void *data, int write, loff_t pos, void *buffer, int nob) @@ -212,26 +224,32 @@ static int __proc_debug_mb(void *data, int write, return cfs_trace_set_debug_mb_usrstr(buffer, nob); } -DECLARE_PROC_HANDLER(proc_debug_mb) +static int proc_debug_mb(struct ctl_table *table, int write, + void __user *buffer, size_t *lenp, loff_t *ppos) +{ + return proc_call_handler(table->data, write, ppos, buffer, lenp, + __proc_debug_mb); +} -int LL_PROC_PROTO(proc_console_max_delay_cs) +int proc_console_max_delay_cs(struct ctl_table *table, int write, + void __user *buffer, size_t *lenp, loff_t *ppos) { int rc, max_delay_cs; - ctl_table_t dummy = *table; - cfs_duration_t d; + struct ctl_table dummy = *table; + long d; dummy.data = &max_delay_cs; dummy.proc_handler = &proc_dointvec; if (!write) { /* read */ max_delay_cs = cfs_duration_sec(libcfs_console_max_delay * 100); - rc = ll_proc_dointvec(&dummy, write, filp, buffer, lenp, ppos); + rc = proc_dointvec(&dummy, write, buffer, lenp, ppos); return rc; } /* write */ max_delay_cs = 0; - rc = ll_proc_dointvec(&dummy, write, filp, buffer, lenp, ppos); + rc = proc_dointvec(&dummy, write, buffer, lenp, ppos); if (rc < 0) return rc; if (max_delay_cs <= 0) @@ -245,24 +263,25 @@ int LL_PROC_PROTO(proc_console_max_delay_cs) return rc; } -int LL_PROC_PROTO(proc_console_min_delay_cs) +int proc_console_min_delay_cs(struct ctl_table *table, int write, + void __user *buffer, size_t *lenp, loff_t *ppos) { int rc, min_delay_cs; - ctl_table_t dummy = *table; - cfs_duration_t d; + struct ctl_table dummy = *table; + long d; dummy.data = &min_delay_cs; dummy.proc_handler = &proc_dointvec; if (!write) { /* read */ min_delay_cs = cfs_duration_sec(libcfs_console_min_delay * 100); - rc = ll_proc_dointvec(&dummy, write, filp, buffer, lenp, ppos); + rc = proc_dointvec(&dummy, write, buffer, lenp, ppos); return rc; } /* write */ min_delay_cs = 0; - rc = ll_proc_dointvec(&dummy, write, filp, buffer, lenp, ppos); + rc = proc_dointvec(&dummy, write, buffer, lenp, ppos); if (rc < 0) return rc; if (min_delay_cs <= 0) @@ -276,23 +295,24 @@ int LL_PROC_PROTO(proc_console_min_delay_cs) return rc; } -int LL_PROC_PROTO(proc_console_backoff) +int proc_console_backoff(struct ctl_table *table, int write, + void __user *buffer, size_t *lenp, loff_t *ppos) { int rc, backoff; - ctl_table_t dummy = *table; + struct ctl_table dummy = *table; dummy.data = &backoff; dummy.proc_handler = &proc_dointvec; if (!write) { /* read */ backoff= libcfs_console_backoff; - rc = ll_proc_dointvec(&dummy, write, filp, buffer, lenp, ppos); + rc = proc_dointvec(&dummy, write, buffer, lenp, ppos); return rc; } /* write */ backoff = 0; - rc = ll_proc_dointvec(&dummy, write, filp, buffer, lenp, ppos); + rc = proc_dointvec(&dummy, write, buffer, lenp, ppos); if (rc < 0) return rc; if (backoff <= 0) @@ -303,19 +323,21 @@ int LL_PROC_PROTO(proc_console_backoff) return rc; } -int LL_PROC_PROTO(libcfs_force_lbug) +int libcfs_force_lbug(struct ctl_table *table, int write, void __user *buffer, + size_t *lenp, loff_t *ppos) { if (write) LBUG(); return 0; } -int LL_PROC_PROTO(proc_fail_loc) +int proc_fail_loc(struct ctl_table *table, int write, void __user *buffer, + size_t *lenp, loff_t *ppos) { int rc; long old_fail_loc = cfs_fail_loc; - rc = ll_proc_dolongvec(table, write, filp, buffer, lenp, ppos); + rc = proc_doulongvec_minmax(table, write, buffer, lenp, ppos); if (old_fail_loc != cfs_fail_loc) wake_up(&cfs_race_waitq); return rc; @@ -361,9 +383,15 @@ static int __proc_cpt_table(void *data, int write, LIBCFS_FREE(buf, len); return rc; } -DECLARE_PROC_HANDLER(proc_cpt_table) -static ctl_table_t lnet_table[] = { +static int proc_cpt_table(struct ctl_table *table, int write, + void __user *buffer, size_t *lenp, loff_t *ppos) +{ + return proc_call_handler(table->data, write, ppos, buffer, lenp, + __proc_cpt_table); +} + +static struct ctl_table lnet_table[] = { /* * NB No .strategy entries have been provided since sysctl(8) prefers * to go via /proc for portability. @@ -516,7 +544,7 @@ static ctl_table_t lnet_table[] = { } }; -static ctl_table_t top_table[] = { +static struct ctl_table top_table[] = { { .procname = "lnet", .mode = 0555, |