From e1929826f2a57013c0fb640ebbf280a314971096 Mon Sep 17 00:00:00 2001 From: yangsheng Date: Fri, 9 Sep 2011 23:27:24 +0800 Subject: [PATCH] LU-506 FC15: ctl_name & strategy removed from ctl_table. The 'ctl_name' & 'strategy' field removed from 'struct ctl_table'. Signed-off-by: Yang Sheng Change-Id: I5eaeb46234083433109a150ea80408c9b3f9962b Reviewed-on: http://review.whamcloud.com/1332 Tested-by: Hudson Reviewed-by: Andreas Dilger Reviewed-by: Lai Siyao Reviewed-by: Niu Yawei --- libcfs/autoconf/lustre-libcfs.m4 | 21 ++++++++++++++ libcfs/include/libcfs/linux/kp30.h | 8 ++++++ libcfs/libcfs/linux/linux-proc.c | 54 +++++++++++++++++++----------------- lnet/lnet/router_proc.c | 20 +++++++------ lustre/obdclass/linux/linux-sysctl.c | 38 ++++++++++++------------- 5 files changed, 87 insertions(+), 54 deletions(-) diff --git a/libcfs/autoconf/lustre-libcfs.m4 b/libcfs/autoconf/lustre-libcfs.m4 index bef4651..bfdaea2 100644 --- a/libcfs/autoconf/lustre-libcfs.m4 +++ b/libcfs/autoconf/lustre-libcfs.m4 @@ -710,6 +710,25 @@ LB_LINUX_TRY_COMPILE([ ]) # +# 2.6.33 no longer has ctl_name & strategy field in struct ctl_table. +# +AC_DEFUN([LIBCFS_SYSCTL_CTLNAME], +[AC_MSG_CHECKING([if ctl_table has a ctl_name field]) +LB_LINUX_TRY_COMPILE([ + #include +],[ + struct ctl_table ct; + ct.ctl_name = sizeof(ct); +],[ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_SYSCTL_CTLNAME, 1, + [ctl_table has ctl_name field]) +],[ + AC_MSG_RESULT(no) +]) +]) + +# # LIBCFS_ADD_WAIT_QUEUE_EXCLUSIVE # # 2.6.34 adds __add_wait_queue_exclusive @@ -805,6 +824,8 @@ LIBCFS_STACKTRACE_OPS_HAVE_WALK_STACK LC_SHRINKER_WANT_SHRINK_PTR LIBCFS_HAVE_OOM_H LIBCFS_OOMADJ_IN_SIG +# 2.6.33 +LIBCFS_SYSCTL_CTLNAME # 2.6.34 LIBCFS_ADD_WAIT_QUEUE_EXCLUSIVE # 2.6.40 fc15 diff --git a/libcfs/include/libcfs/linux/kp30.h b/libcfs/include/libcfs/linux/kp30.h index 122a506..ff19b55 100644 --- a/libcfs/include/libcfs/linux/kp30.h +++ b/libcfs/include/libcfs/linux/kp30.h @@ -360,4 +360,12 @@ static inline void sg_set_page(struct scatterlist *sg, struct page *page, # define cfs_put_cpu() put_cpu() #endif /* get_cpu & put_cpu */ +#ifdef HAVE_SYSCTL_CTLNAME +#define INIT_CTL_NAME(a) .ctl_name = a, +#define INIT_STRATEGY(a) .strategy = a, +#else +#define INIT_CTL_NAME(a) +#define INIT_STRATEGY(a) +#endif + #endif diff --git a/libcfs/libcfs/linux/linux-proc.c b/libcfs/libcfs/linux/linux-proc.c index 9777ffb..018643a 100644 --- a/libcfs/libcfs/linux/linux-proc.c +++ b/libcfs/libcfs/linux/linux-proc.c @@ -362,7 +362,7 @@ static cfs_sysctl_table_t lnet_table[] = { * to go via /proc for portability. */ { - .ctl_name = PSDEV_DEBUG, + INIT_CTL_NAME(PSDEV_DEBUG) .procname = "debug", .data = &libcfs_debug, .maxlen = sizeof(int), @@ -370,7 +370,7 @@ static cfs_sysctl_table_t lnet_table[] = { .proc_handler = &proc_dobitmasks, }, { - .ctl_name = PSDEV_SUBSYSTEM_DEBUG, + INIT_CTL_NAME(PSDEV_SUBSYSTEM_DEBUG) .procname = "subsystem_debug", .data = &libcfs_subsystem_debug, .maxlen = sizeof(int), @@ -378,7 +378,7 @@ static cfs_sysctl_table_t lnet_table[] = { .proc_handler = &proc_dobitmasks, }, { - .ctl_name = PSDEV_PRINTK, + INIT_CTL_NAME(PSDEV_PRINTK) .procname = "printk", .data = &libcfs_printk, .maxlen = sizeof(int), @@ -386,7 +386,7 @@ static cfs_sysctl_table_t lnet_table[] = { .proc_handler = &proc_dobitmasks, }, { - .ctl_name = PSDEV_CONSOLE_RATELIMIT, + INIT_CTL_NAME(PSDEV_CONSOLE_RATELIMIT) .procname = "console_ratelimit", .data = &libcfs_console_ratelimit, .maxlen = sizeof(int), @@ -394,21 +394,21 @@ static cfs_sysctl_table_t lnet_table[] = { .proc_handler = &proc_dointvec }, { - .ctl_name = PSDEV_CONSOLE_MAX_DELAY_CS, + INIT_CTL_NAME(PSDEV_CONSOLE_MAX_DELAY_CS) .procname = "console_max_delay_centisecs", .maxlen = sizeof(int), .mode = 0644, .proc_handler = &proc_console_max_delay_cs }, { - .ctl_name = PSDEV_CONSOLE_MIN_DELAY_CS, + INIT_CTL_NAME(PSDEV_CONSOLE_MIN_DELAY_CS) .procname = "console_min_delay_centisecs", .maxlen = sizeof(int), .mode = 0644, .proc_handler = &proc_console_min_delay_cs }, { - .ctl_name = PSDEV_CONSOLE_BACKOFF, + INIT_CTL_NAME(PSDEV_CONSOLE_BACKOFF) .procname = "console_backoff", .maxlen = sizeof(int), .mode = 0644, @@ -416,7 +416,7 @@ static cfs_sysctl_table_t lnet_table[] = { }, { - .ctl_name = PSDEV_DEBUG_PATH, + INIT_CTL_NAME(PSDEV_DEBUG_PATH) .procname = "debug_path", .data = libcfs_debug_file_path_arr, .maxlen = sizeof(libcfs_debug_file_path_arr), @@ -425,7 +425,7 @@ static cfs_sysctl_table_t lnet_table[] = { }, { - .ctl_name = PSDEV_LNET_UPCALL, + INIT_CTL_NAME(PSDEV_LNET_UPCALL) .procname = "upcall", .data = lnet_upcall, .maxlen = sizeof(lnet_upcall), @@ -433,7 +433,7 @@ static cfs_sysctl_table_t lnet_table[] = { .proc_handler = &proc_dostring, }, { - .ctl_name = PSDEV_LNET_DEBUG_LOG_UPCALL, + INIT_CTL_NAME(PSDEV_LNET_DEBUG_LOG_UPCALL) .procname = "debug_log_upcall", .data = lnet_debug_log_upcall, .maxlen = sizeof(lnet_debug_log_upcall), @@ -441,54 +441,54 @@ static cfs_sysctl_table_t lnet_table[] = { .proc_handler = &proc_dostring, }, { - .ctl_name = PSDEV_LNET_MEMUSED, + INIT_CTL_NAME(PSDEV_LNET_MEMUSED) .procname = "lnet_memused", .data = (int *)&libcfs_kmemory.counter, .maxlen = sizeof(int), .mode = 0444, .proc_handler = &proc_dointvec, - .strategy = &sysctl_intvec, + INIT_STRATEGY(&sysctl_intvec) }, { - .ctl_name = PSDEV_LNET_CATASTROPHE, + INIT_CTL_NAME(PSDEV_LNET_CATASTROPHE) .procname = "catastrophe", .data = &libcfs_catastrophe, .maxlen = sizeof(int), .mode = 0444, .proc_handler = &proc_dointvec, - .strategy = &sysctl_intvec, + INIT_STRATEGY(&sysctl_intvec) }, { - .ctl_name = PSDEV_LNET_PANIC_ON_LBUG, + INIT_CTL_NAME(PSDEV_LNET_PANIC_ON_LBUG) .procname = "panic_on_lbug", .data = &libcfs_panic_on_lbug, .maxlen = sizeof(int), .mode = 0644, .proc_handler = &proc_dointvec, - .strategy = &sysctl_intvec, + INIT_STRATEGY(&sysctl_intvec) }, { - .ctl_name = PSDEV_LNET_DUMP_KERNEL, + INIT_CTL_NAME(PSDEV_LNET_DUMP_KERNEL) .procname = "dump_kernel", .maxlen = 256, .mode = 0200, .proc_handler = &proc_dump_kernel, }, { - .ctl_name = PSDEV_LNET_DAEMON_FILE, + INIT_CTL_NAME(PSDEV_LNET_DAEMON_FILE) .procname = "daemon_file", .mode = 0644, .maxlen = 256, .proc_handler = &proc_daemon_file, }, { - .ctl_name = PSDEV_LNET_DEBUG_MB, + INIT_CTL_NAME(PSDEV_LNET_DEBUG_MB) .procname = "debug_mb", .mode = 0644, .proc_handler = &proc_debug_mb, }, { - .ctl_name = PSDEV_LNET_WATCHDOG_RATELIMIT, + INIT_CTL_NAME(PSDEV_LNET_WATCHDOG_RATELIMIT) .procname = "watchdog_ratelimit", .data = &libcfs_watchdog_ratelimit, .maxlen = sizeof(int), @@ -497,7 +497,7 @@ static cfs_sysctl_table_t lnet_table[] = { .extra1 = &min_watchdog_ratelimit, .extra2 = &max_watchdog_ratelimit, }, - { .ctl_name = PSDEV_LNET_FORCE_LBUG, + { INIT_CTL_NAME(PSDEV_LNET_FORCE_LBUG) .procname = "force_lbug", .data = NULL, .maxlen = 0, @@ -505,7 +505,7 @@ static cfs_sysctl_table_t lnet_table[] = { .proc_handler = &libcfs_force_lbug }, { - .ctl_name = PSDEV_LNET_FAIL_LOC, + INIT_CTL_NAME(PSDEV_LNET_FAIL_LOC) .procname = "fail_loc", .data = &cfs_fail_loc, .maxlen = sizeof(cfs_fail_loc), @@ -513,20 +513,22 @@ static cfs_sysctl_table_t lnet_table[] = { .proc_handler = &proc_fail_loc }, { - .ctl_name = PSDEV_LNET_FAIL_VAL, + INIT_CTL_NAME(PSDEV_LNET_FAIL_VAL) .procname = "fail_val", .data = &cfs_fail_val, .maxlen = sizeof(int), .mode = 0644, .proc_handler = &proc_dointvec }, - {0} + { + INIT_CTL_NAME(0) + } }; #ifdef CONFIG_SYSCTL static cfs_sysctl_table_t top_table[] = { { - .ctl_name = CTL_LNET, + INIT_CTL_NAME(CTL_LNET) .procname = "lnet", .mode = 0555, .data = NULL, @@ -534,7 +536,7 @@ static cfs_sysctl_table_t top_table[] = { .child = lnet_table, }, { - .ctl_name = 0 + INIT_CTL_NAME(0) } }; diff --git a/lnet/lnet/router_proc.c b/lnet/lnet/router_proc.c index fde0e0a..b7365f2 100644 --- a/lnet/lnet/router_proc.c +++ b/lnet/lnet/router_proc.c @@ -691,47 +691,49 @@ static cfs_sysctl_table_t lnet_table[] = { * to go via /proc for portability. */ { - .ctl_name = PSDEV_LNET_STATS, + INIT_CTL_NAME(PSDEV_LNET_STATS) .procname = "stats", .mode = 0644, .proc_handler = &proc_lnet_stats, }, { - .ctl_name = PSDEV_LNET_ROUTES, + INIT_CTL_NAME(PSDEV_LNET_ROUTES) .procname = "routes", .mode = 0444, .proc_handler = &proc_lnet_routes, }, { - .ctl_name = PSDEV_LNET_ROUTERS, + INIT_CTL_NAME(PSDEV_LNET_ROUTERS) .procname = "routers", .mode = 0444, .proc_handler = &proc_lnet_routers, }, { - .ctl_name = PSDEV_LNET_PEERS, + INIT_CTL_NAME(PSDEV_LNET_PEERS) .procname = "peers", .mode = 0444, .proc_handler = &proc_lnet_peers, }, { - .ctl_name = PSDEV_LNET_PEERS, + INIT_CTL_NAME(PSDEV_LNET_PEERS) .procname = "buffers", .mode = 0444, .proc_handler = &proc_lnet_buffers, }, { - .ctl_name = PSDEV_LNET_NIS, + INIT_CTL_NAME(PSDEV_LNET_NIS) .procname = "nis", .mode = 0444, .proc_handler = &proc_lnet_nis, }, - {0} + { + INIT_CTL_NAME(0) + } }; static cfs_sysctl_table_t top_table[] = { { - .ctl_name = CTL_LNET, + INIT_CTL_NAME(CTL_LNET) .procname = "lnet", .mode = 0555, .data = NULL, @@ -739,7 +741,7 @@ static cfs_sysctl_table_t top_table[] = { .child = lnet_table, }, { - .ctl_name = 0 + INIT_CTL_NAME(0) } }; diff --git a/lustre/obdclass/linux/linux-sysctl.c b/lustre/obdclass/linux/linux-sysctl.c index faaa433..26ad5e4 100644 --- a/lustre/obdclass/linux/linux-sysctl.c +++ b/lustre/obdclass/linux/linux-sysctl.c @@ -312,7 +312,7 @@ int LL_PROC_PROTO(proc_at_history) #ifdef CONFIG_SYSCTL static cfs_sysctl_table_t obd_table[] = { { - .ctl_name = OBD_TIMEOUT, + INIT_CTL_NAME(OBD_TIMEOUT) .procname = "timeout", .data = &obd_timeout, .maxlen = sizeof(int), @@ -320,7 +320,7 @@ static cfs_sysctl_table_t obd_table[] = { .proc_handler = &proc_set_timeout }, { - .ctl_name = OBD_DEBUG_PEER_ON_TIMEOUT, + INIT_CTL_NAME(OBD_DEBUG_PEER_ON_TIMEOUT) .procname = "debug_peer_on_timeout", .data = &obd_debug_peer_on_timeout, .maxlen = sizeof(int), @@ -328,7 +328,7 @@ static cfs_sysctl_table_t obd_table[] = { .proc_handler = &proc_dointvec }, { - .ctl_name = OBD_DUMP_ON_TIMEOUT, + INIT_CTL_NAME(OBD_DUMP_ON_TIMEOUT) .procname = "dump_on_timeout", .data = &obd_dump_on_timeout, .maxlen = sizeof(int), @@ -336,7 +336,7 @@ static cfs_sysctl_table_t obd_table[] = { .proc_handler = &proc_dointvec }, { - .ctl_name = OBD_DUMP_ON_EVICTION, + INIT_CTL_NAME(OBD_DUMP_ON_EVICTION) .procname = "dump_on_eviction", .data = &obd_dump_on_eviction, .maxlen = sizeof(int), @@ -344,7 +344,7 @@ static cfs_sysctl_table_t obd_table[] = { .proc_handler = &proc_dointvec }, { - .ctl_name = OBD_MEMUSED, + INIT_CTL_NAME(OBD_MEMUSED) .procname = "memused", .data = NULL, .maxlen = 0, @@ -352,7 +352,7 @@ static cfs_sysctl_table_t obd_table[] = { .proc_handler = &proc_memory_alloc }, { - .ctl_name = OBD_PAGESUSED, + INIT_CTL_NAME(OBD_PAGESUSED) .procname = "pagesused", .data = NULL, .maxlen = 0, @@ -360,7 +360,7 @@ static cfs_sysctl_table_t obd_table[] = { .proc_handler = &proc_pages_alloc }, { - .ctl_name = OBD_MAXMEMUSED, + INIT_CTL_NAME(OBD_MAXMEMUSED) .procname = "memused_max", .data = NULL, .maxlen = 0, @@ -368,7 +368,7 @@ static cfs_sysctl_table_t obd_table[] = { .proc_handler = &proc_mem_max }, { - .ctl_name = OBD_MAXPAGESUSED, + INIT_CTL_NAME(OBD_MAXPAGESUSED) .procname = "pagesused_max", .data = NULL, .maxlen = 0, @@ -376,7 +376,7 @@ static cfs_sysctl_table_t obd_table[] = { .proc_handler = &proc_pages_max }, { - .ctl_name = OBD_LDLM_TIMEOUT, + INIT_CTL_NAME(OBD_LDLM_TIMEOUT) .procname = "ldlm_timeout", .data = &ldlm_timeout, .maxlen = sizeof(int), @@ -385,7 +385,7 @@ static cfs_sysctl_table_t obd_table[] = { }, #ifdef RANDOM_FAIL_ALLOC { - .ctl_name = OBD_ALLOC_FAIL_RATE, + INIT_CTL_NAME(OBD_ALLOC_FAIL_RATE) .procname = "alloc_fail_rate", .data = &obd_alloc_fail_rate, .maxlen = sizeof(int), @@ -394,7 +394,7 @@ static cfs_sysctl_table_t obd_table[] = { }, #endif { - .ctl_name = OBD_MAX_DIRTY_PAGES, + INIT_CTL_NAME(OBD_MAX_DIRTY_PAGES) .procname = "max_dirty_mb", .data = &obd_max_dirty_pages, .maxlen = sizeof(int), @@ -402,7 +402,7 @@ static cfs_sysctl_table_t obd_table[] = { .proc_handler = &proc_max_dirty_pages_in_mb }, { - .ctl_name = OBD_AT_MIN, + INIT_CTL_NAME(OBD_AT_MIN) .procname = "at_min", .data = &at_min, .maxlen = sizeof(int), @@ -410,7 +410,7 @@ static cfs_sysctl_table_t obd_table[] = { .proc_handler = &proc_at_min }, { - .ctl_name = OBD_AT_MAX, + INIT_CTL_NAME(OBD_AT_MAX) .procname = "at_max", .data = &at_max, .maxlen = sizeof(int), @@ -418,7 +418,7 @@ static cfs_sysctl_table_t obd_table[] = { .proc_handler = &proc_at_max }, { - .ctl_name = OBD_AT_EXTRA, + INIT_CTL_NAME(OBD_AT_EXTRA) .procname = "at_extra", .data = &at_extra, .maxlen = sizeof(int), @@ -426,7 +426,7 @@ static cfs_sysctl_table_t obd_table[] = { .proc_handler = &proc_at_extra }, { - .ctl_name = OBD_AT_EARLY_MARGIN, + INIT_CTL_NAME(OBD_AT_EARLY_MARGIN) .procname = "at_early_margin", .data = &at_early_margin, .maxlen = sizeof(int), @@ -434,26 +434,26 @@ static cfs_sysctl_table_t obd_table[] = { .proc_handler = &proc_at_early_margin }, { - .ctl_name = OBD_AT_HISTORY, + INIT_CTL_NAME(OBD_AT_HISTORY) .procname = "at_history", .data = &at_history, .maxlen = sizeof(int), .mode = 0644, .proc_handler = &proc_at_history }, - { 0 } + { INIT_CTL_NAME(0) } }; static cfs_sysctl_table_t parent_table[] = { { - .ctl_name = OBD_SYSCTL, + INIT_CTL_NAME(OBD_SYSCTL) .procname = "lustre", .data = NULL, .maxlen = 0, .mode = 0555, .child = obd_table }, - {0} + { INIT_CTL_NAME(0) } }; #endif -- 1.8.3.1