Whamcloud - gitweb
LU-14080 gnilnd: updates for SUSE 15 SP2
[fs/lustre-release.git] / lnet / klnds / gnilnd / gnilnd_sysctl.c
index 4a083a9..c95f8d6 100644 (file)
@@ -1,6 +1,8 @@
 /*
  * Copyright (C) 2012 Cray, Inc.
  *
+ * Copyright (c) 2014, Intel Corporation.
+ *
  *   Author: Nic Henke <nic@cray.com>
  *   Author: James Shimek <jshimek@cray.com>
  *
@@ -24,6 +26,8 @@
 
 #define DEBUG_SUBSYSTEM S_LND
 
+#include <libcfs/linux/linux-misc.h>
+
 #include "gnilnd.h"
 
 #define GNILND_PEERSTATE_STRLEN 16
@@ -40,7 +44,9 @@ static kgn_sysctl_data_t        kgnilnd_sysctl;
 
 static struct ctl_table_header *kgnilnd_table_header = NULL;
 
-static int LL_PROC_PROTO(proc_toggle_thread_pause)
+static int
+proc_toggle_thread_pause(struct ctl_table *table, int write,
+                        void __user *buffer, size_t *lenp, loff_t *ppos)
 {
        int  old_val = kgnilnd_sysctl.ksd_pause_trigger;
        int  rc = 0;
@@ -68,7 +74,9 @@ static int LL_PROC_PROTO(proc_toggle_thread_pause)
        RETURN(rc);
 }
 
-static int LL_PROC_PROTO(proc_hw_quiesce)
+static int
+proc_hw_quiesce(struct ctl_table *table, int write, void __user *buffer,
+               size_t *lenp, loff_t *ppos)
 {
        int              rc = 0;
        kgn_device_t    *dev;
@@ -97,7 +105,9 @@ static int LL_PROC_PROTO(proc_hw_quiesce)
        RETURN(rc);
 }
 
-int LL_PROC_PROTO(proc_trigger_stack_reset)
+static int
+proc_trigger_stack_reset(struct ctl_table *table, int write,
+                        void __user *buffer, size_t *lenp, loff_t *ppos)
 {
        int              rc = 0;
        int              i = 1;
@@ -123,13 +133,15 @@ int LL_PROC_PROTO(proc_trigger_stack_reset)
                i++;
                LCONSOLE((((i) & (-i)) == i) ? D_WARNING : D_NET,
                                "Waiting for stack reset request to clear\n");
-               cfs_pause(cfs_time_seconds(1 * i));
+               schedule_timeout_uninterruptible(cfs_time_seconds(i));
        }
 
        RETURN(rc);
 }
 
-static int LL_PROC_PROTO(proc_toggle_rdmaq_override)
+static int
+proc_toggle_rdmaq_override(struct ctl_table *table, int write,
+                          void __user *buffer, size_t *lenp, loff_t *ppos)
 {
        int  old_val = kgnilnd_sysctl.ksd_rdmaq_override;
        int  rc = 0;
@@ -161,7 +173,9 @@ static int LL_PROC_PROTO(proc_toggle_rdmaq_override)
 /* /proc/sys entry point for injecting up/down nid event
  * <up|down> <nid>
  */
-static int LL_PROC_PROTO(proc_peer_state)
+static int
+proc_peer_state(struct ctl_table *table, int write, void __user *buffer,
+               size_t *lenp, loff_t *ppos)
 {
        int             rc;
        int             nid;
@@ -221,15 +235,13 @@ static struct ctl_table kgnilnd_table[] = {
         * to go via /proc for portability.
         */
        {
-               INIT_CTL_NAME
                .procname = "version",
-               .data     = KGNILND_BUILD_REV,
-               .maxlen   = sizeof(KGNILND_BUILD_REV),
+               .data     = LUSTRE_VERSION_STRING,
+               .maxlen   = sizeof(LUSTRE_VERSION_STRING),
                .mode     = 0444,
                .proc_handler = &proc_dostring
        },
        {
-               INIT_CTL_NAME
                .procname = "thread_pause",
                .data     = &kgnilnd_sysctl.ksd_pause_trigger,
                .maxlen   = sizeof(int),
@@ -237,7 +249,6 @@ static struct ctl_table kgnilnd_table[] = {
                .proc_handler = &proc_toggle_thread_pause,
        },
        {
-               INIT_CTL_NAME
                .procname = "hw_quiesce",
                .data     = &kgnilnd_sysctl.ksd_quiesce_secs,
                .maxlen   = sizeof(__u32),
@@ -245,7 +256,6 @@ static struct ctl_table kgnilnd_table[] = {
                .proc_handler = &proc_hw_quiesce,
        },
        {
-               INIT_CTL_NAME
                .procname = "stack_reset",
                .data     = NULL,
                .maxlen   = sizeof(int),
@@ -253,7 +263,6 @@ static struct ctl_table kgnilnd_table[] = {
                .proc_handler = &proc_trigger_stack_reset,
        },
        {
-               INIT_CTL_NAME
                .procname = "rdmaq_override",
                .data     = &kgnilnd_sysctl.ksd_rdmaq_override,
                .maxlen   = sizeof(int),
@@ -261,26 +270,24 @@ static struct ctl_table kgnilnd_table[] = {
                .proc_handler = &proc_toggle_rdmaq_override,
        },
        {
-               INIT_CTL_NAME
                .procname = "peer_state",
                .data     = kgnilnd_sysctl.ksd_peer_state,
                .maxlen   = GNILND_PEERSTATE_STRLEN,
                .mode     = 0644,
                .proc_handler = &proc_peer_state,
        },
-       { 0 }
+       { .procname = NULL }
 };
 
 static struct ctl_table kgnilnd_top_table[2] = {
        {
-               INIT_CTL_NAME
                .procname = "kgnilnd",
                .data     = NULL,
                .maxlen   = 0,
                .mode     = 0555,
                .child    = kgnilnd_table
        },
-       { 0 }
+       { .procname = NULL }
 };
 
 void kgnilnd_insert_sysctl(void)