/*
* Copyright (C) 2012 Cray, Inc.
*
+ * Copyright (c) 2014, Intel Corporation.
+ *
* Author: Nic Henke <nic@cray.com>
* Author: James Shimek <jshimek@cray.com>
*
#define DEBUG_SUBSYSTEM S_LND
+#include <libcfs/linux/linux-misc.h>
+
#include "gnilnd.h"
#define GNILND_PEERSTATE_STRLEN 16
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;
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;
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;
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;
/* /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;
* 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),
.proc_handler = &proc_toggle_thread_pause,
},
{
- INIT_CTL_NAME
.procname = "hw_quiesce",
.data = &kgnilnd_sysctl.ksd_quiesce_secs,
.maxlen = sizeof(__u32),
.proc_handler = &proc_hw_quiesce,
},
{
- INIT_CTL_NAME
.procname = "stack_reset",
.data = NULL,
.maxlen = sizeof(int),
.proc_handler = &proc_trigger_stack_reset,
},
{
- INIT_CTL_NAME
.procname = "rdmaq_override",
.data = &kgnilnd_sysctl.ksd_rdmaq_override,
.maxlen = sizeof(int),
.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)