Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
LU-5570 lnet: check router aliveness timestamp
[fs/lustre-release.git]
/
lnet
/
lnet
/
router_proc.c
diff --git
a/lnet/lnet/router_proc.c
b/lnet/lnet/router_proc.c
index
f913e40
..
95d34c9
100644
(file)
--- a/
lnet/lnet/router_proc.c
+++ b/
lnet/lnet/router_proc.c
@@
-80,7
+80,7
@@
static struct ctl_table_header *lnet_table_header = NULL;
#define LNET_PROC_VERSION(v) ((unsigned int)((v) & LNET_PROC_VER_MASK))
static int __proc_lnet_stats(void *data, int write,
#define LNET_PROC_VERSION(v) ((unsigned int)((v) & LNET_PROC_VER_MASK))
static int __proc_lnet_stats(void *data, int write,
-
loff_t pos, void
*buffer, int nob)
+
loff_t pos, void __user
*buffer, int nob)
{
int rc;
lnet_counters_t *ctrs;
{
int rc;
lnet_counters_t *ctrs;
@@
-128,9
+128,17
@@
static int __proc_lnet_stats(void *data, int write,
return rc;
}
return rc;
}
-DECLARE_PROC_HANDLER(proc_lnet_stats);
+static int
+proc_lnet_stats(struct ctl_table *table, int write, void __user *buffer,
+ size_t *lenp, loff_t *ppos)
+{
+ return lprocfs_call_handler(table->data, write, ppos, buffer, lenp,
+ __proc_lnet_stats);
+}
-int LL_PROC_PROTO(proc_lnet_routes)
+static int
+proc_lnet_routes(struct ctl_table *table, int write, void __user *buffer,
+ size_t *lenp, loff_t *ppos)
{
const int tmpsiz = 256;
char *tmpstr;
{
const int tmpsiz = 256;
char *tmpstr;
@@
-170,12
+178,12
@@
int LL_PROC_PROTO(proc_lnet_routes)
lnet_net_unlock(0);
*ppos = LNET_PROC_POS_MAKE(0, ver, 0, off);
} else {
lnet_net_unlock(0);
*ppos = LNET_PROC_POS_MAKE(0, ver, 0, off);
} else {
-
cfs_list_t
*n;
-
cfs_list_t
*r;
+
struct list_head
*n;
+
struct list_head
*r;
lnet_route_t *route = NULL;
lnet_remotenet_t *rnet = NULL;
int skip = off - 1;
lnet_route_t *route = NULL;
lnet_remotenet_t *rnet = NULL;
int skip = off - 1;
-
cfs_list_t
*rn_list;
+
struct list_head
*rn_list;
int i;
lnet_net_lock(0);
int i;
lnet_net_lock(0);
@@
-193,15
+201,15
@@
int LL_PROC_PROTO(proc_lnet_routes)
n = rn_list->next;
while (n != rn_list && route == NULL) {
n = rn_list->next;
while (n != rn_list && route == NULL) {
- rnet =
cfs_
list_entry(n, lnet_remotenet_t,
-
lrn_list);
+ rnet = list_entry(n, lnet_remotenet_t,
+ lrn_list);
r = rnet->lrn_routes.next;
while (r != &rnet->lrn_routes) {
lnet_route_t *re =
r = rnet->lrn_routes.next;
while (r != &rnet->lrn_routes) {
lnet_route_t *re =
-
cfs_
list_entry(r, lnet_route_t,
-
lr_list);
+ list_entry(r, lnet_route_t,
+ lr_list);
if (skip == 0) {
route = re;
break;
if (skip == 0) {
route = re;
break;
@@
-255,7
+263,9
@@
int LL_PROC_PROTO(proc_lnet_routes)
return rc;
}
return rc;
}
-int LL_PROC_PROTO(proc_lnet_routers)
+static int
+proc_lnet_routers(struct ctl_table *table, int write, void __user *buffer,
+ size_t *lenp, loff_t *ppos)
{
int rc = 0;
char *tmpstr;
{
int rc = 0;
char *tmpstr;
@@
-292,9
+302,9
@@
int LL_PROC_PROTO(proc_lnet_routers)
lnet_net_unlock(0);
*ppos = LNET_PROC_POS_MAKE(0, ver, 0, off);
} else {
lnet_net_unlock(0);
*ppos = LNET_PROC_POS_MAKE(0, ver, 0, off);
} else {
-
cfs_list_t
*r;
- struct lnet_peer
*peer = NULL;
- int
skip = off - 1;
+
struct list_head
*r;
+ struct lnet_peer *peer = NULL;
+ int skip = off - 1;
lnet_net_lock(0);
lnet_net_lock(0);
@@
-307,9
+317,9
@@
int LL_PROC_PROTO(proc_lnet_routers)
r = the_lnet.ln_routers.next;
r = the_lnet.ln_routers.next;
-
while (r != &the_lnet.ln_routers) {
-
lnet_peer_t *lp = cfs_
list_entry(r, lnet_peer_t,
-
lp_rtr_list);
+ while (r != &the_lnet.ln_routers) {
+
lnet_peer_t *lp =
list_entry(r, lnet_peer_t,
+ lp_rtr_list);
if (skip == 0) {
peer = lp;
if (skip == 0) {
peer = lp;
@@
-336,8
+346,8
@@
int LL_PROC_PROTO(proc_lnet_routers)
if ((peer->lp_ping_feats &
LNET_PING_FEAT_NI_STATUS) != 0) {
if ((peer->lp_ping_feats &
LNET_PING_FEAT_NI_STATUS) != 0) {
-
cfs_
list_for_each_entry(rtr, &peer->lp_routes,
-
lr_gwlist) {
+ list_for_each_entry(rtr, &peer->lp_routes,
+ lr_gwlist) {
/* downis on any route should be the
* number of downis on the gateway */
if (rtr->lr_downis != 0) {
/* downis on any route should be the
* number of downis on the gateway */
if (rtr->lr_downis != 0) {
@@
-389,7
+399,9
@@
int LL_PROC_PROTO(proc_lnet_routers)
return rc;
}
return rc;
}
-int LL_PROC_PROTO(proc_lnet_peers)
+static int
+proc_lnet_peers(struct ctl_table *table, int write, void __user *buffer,
+ size_t *lenp, loff_t *ppos)
{
const int tmpsiz = 256;
struct lnet_peer_table *ptable;
{
const int tmpsiz = 256;
struct lnet_peer_table *ptable;
@@
-429,7
+441,7
@@
int LL_PROC_PROTO(proc_lnet_peers)
hoff++;
} else {
struct lnet_peer *peer;
hoff++;
} else {
struct lnet_peer *peer;
-
cfs_list_t
*p;
+
struct list_head
*p;
int skip;
again:
p = NULL;
int skip;
again:
p = NULL;
@@
-452,8
+464,8
@@
int LL_PROC_PROTO(proc_lnet_peers)
p = ptable->pt_hash[hash].next;
while (p != &ptable->pt_hash[hash]) {
p = ptable->pt_hash[hash].next;
while (p != &ptable->pt_hash[hash]) {
-
lnet_peer_t *lp = cfs_
list_entry(p, lnet_peer_t,
-
lp_hashlist);
+
lnet_peer_t *lp =
list_entry(p, lnet_peer_t,
+ lp_hashlist);
if (skip == 0) {
peer = lp;
if (skip == 0) {
peer = lp;
@@
-495,14
+507,11
@@
int LL_PROC_PROTO(proc_lnet_peers)
int minrtrcr = peer->lp_minrtrcredits;
int txqnob = peer->lp_txqnob;
int minrtrcr = peer->lp_minrtrcredits;
int txqnob = peer->lp_txqnob;
- if (lnet_isrouter(peer) ||
- lnet_peer_aliveness_enabled(peer))
- aliveness = peer->lp_alive ? "up" : "down";
-
if (lnet_peer_aliveness_enabled(peer)) {
if (lnet_peer_aliveness_enabled(peer)) {
-
cfs_time_t now = cfs_time_current();
-
cfs_duration_t delta;
+ cfs_time_t now = cfs_time_current();
+ cfs_duration_t delta;
+ aliveness = peer->lp_alive ? "up" : "down";
delta = cfs_time_sub(now, peer->lp_last_alive);
lastalive = cfs_duration_sec(delta);
delta = cfs_time_sub(now, peer->lp_last_alive);
lastalive = cfs_duration_sec(delta);
@@
-556,7
+565,7
@@
int LL_PROC_PROTO(proc_lnet_peers)
}
static int __proc_lnet_buffers(void *data, int write,
}
static int __proc_lnet_buffers(void *data, int write,
-
loff_t pos, void
*buffer, int nob)
+
loff_t pos, void __user
*buffer, int nob)
{
char *s;
char *tmpstr;
{
char *s;
char *tmpstr;
@@
-613,9
+622,17
@@
static int __proc_lnet_buffers(void *data, int write,
return rc;
}
return rc;
}
-DECLARE_PROC_HANDLER(proc_lnet_buffers);
+static int
+proc_lnet_buffers(struct ctl_table *table, int write, void __user *buffer,
+ size_t *lenp, loff_t *ppos)
+{
+ return lprocfs_call_handler(table->data, write, ppos, buffer, lenp,
+ __proc_lnet_buffers);
+}
-int LL_PROC_PROTO(proc_lnet_nis)
+static int
+proc_lnet_nis(struct ctl_table *table, int write, void __user *buffer,
+ size_t *lenp, loff_t *ppos)
{
int tmpsiz = 128 * LNET_CPT_NUMBER;
int rc = 0;
{
int tmpsiz = 128 * LNET_CPT_NUMBER;
int rc = 0;
@@
-641,7
+658,7
@@
int LL_PROC_PROTO(proc_lnet_nis)
"rtr", "max", "tx", "min");
LASSERT (tmpstr + tmpsiz - s > 0);
} else {
"rtr", "max", "tx", "min");
LASSERT (tmpstr + tmpsiz - s > 0);
} else {
-
cfs_list_t
*n;
+
struct list_head
*n;
lnet_ni_t *ni = NULL;
int skip = *ppos - 1;
lnet_ni_t *ni = NULL;
int skip = *ppos - 1;
@@
-649,8
+666,8
@@
int LL_PROC_PROTO(proc_lnet_nis)
n = the_lnet.ln_nis.next;
n = the_lnet.ln_nis.next;
-
while (n != &the_lnet.ln_nis) {
-
lnet_ni_t *a_ni = cfs_
list_entry(n, lnet_ni_t, ni_list);
+ while (n != &the_lnet.ln_nis) {
+
lnet_ni_t *a_ni =
list_entry(n, lnet_ni_t, ni_list);
if (skip == 0) {
ni = a_ni;
if (skip == 0) {
ni = a_ni;
@@
-773,7
+790,7
@@
static struct lnet_portal_rotors portal_rotors[] = {
extern int portal_rotor;
static int __proc_lnet_portal_rotor(void *data, int write,
extern int portal_rotor;
static int __proc_lnet_portal_rotor(void *data, int write,
- loff_t pos, void *buffer, int nob)
+ loff_t pos, void
__user
*buffer, int nob)
{
const int buf_len = 128;
char *buf;
{
const int buf_len = 128;
char *buf;
@@
-820,8
+837,8
@@
static int __proc_lnet_portal_rotor(void *data, int write,
rc = -EINVAL;
lnet_res_lock(0);
for (i = 0; portal_rotors[i].pr_name != NULL; i++) {
rc = -EINVAL;
lnet_res_lock(0);
for (i = 0; portal_rotors[i].pr_name != NULL; i++) {
- if (
cfs_
strncasecmp(portal_rotors[i].pr_name, tmp,
-
strlen(portal_rotors[i].pr_name)) == 0) {
+ if (strncasecmp(portal_rotors[i].pr_name, tmp,
+ strlen(portal_rotors[i].pr_name)) == 0) {
portal_rotor = portal_rotors[i].pr_value;
rc = 0;
break;
portal_rotor = portal_rotors[i].pr_value;
rc = 0;
break;
@@
-832,7
+849,15
@@
out:
LIBCFS_FREE(buf, buf_len);
return rc;
}
LIBCFS_FREE(buf, buf_len);
return rc;
}
-DECLARE_PROC_HANDLER(proc_lnet_portal_rotor);
+
+static int
+proc_lnet_portal_rotor(struct ctl_table *table, int write, void __user *buffer,
+ size_t *lenp, loff_t *ppos)
+{
+ return lprocfs_call_handler(table->data, write, ppos, buffer, lenp,
+ __proc_lnet_portal_rotor);
+}
+
static struct ctl_table lnet_table[] = {
/*
static struct ctl_table lnet_table[] = {
/*