/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
* vim:expandtab:shiftwidth=8:tabstop=8:
*
- * Copyright (C) 2002 Cluster File Systems, Inc.
+ * Copyright 2008 Sun Microsystems, Inc. All rights reserved
*
* This file is part of Portals
* http://sourceforge.net/projects/sandiaportals/
#if defined(__KERNEL__) && defined(LNET_ROUTER)
+#if defined(__linux__)
#include <linux/seq_file.h>
-#include <linux/lustre_compat25.h>
+#endif
/* this is really lnet_proc.c */
}
static struct seq_operations lnet_routes_sops = {
- .start = lnet_route_seq_start,
- .stop = lnet_route_seq_stop,
- .next = lnet_route_seq_next,
- .show = lnet_route_seq_show,
+ /* start */ lnet_route_seq_start,
+ /* stop */ lnet_route_seq_stop,
+ /* next */ lnet_route_seq_next,
+ /* show */ lnet_route_seq_show,
};
static int
return rc;
}
-static struct file_operations lnet_routes_fops = {
- .owner = THIS_MODULE,
- .open = lnet_route_seq_open,
- .read = seq_read,
- .llseek = seq_lseek,
- .release = seq_release,
-};
+static struct file_operations lnet_routes_fops;
+
+static void
+lnet_init_routes_fops(void)
+{
+ lnet_routes_fops.owner = THIS_MODULE;
+ lnet_routes_fops.llseek = seq_lseek;
+ lnet_routes_fops.read = seq_read;
+ lnet_routes_fops.open = lnet_route_seq_open;
+ lnet_routes_fops.release = seq_release;
+}
typedef struct {
__u64 lrtrsi_version;
- lnet_peer_t *lrtrsi_router;
+ lnet_peer_t *lrtrsi_router;
loff_t lrtrsi_off;
} lnet_router_seq_iterator_t;
}
lrtrsi->lrtrsi_version = the_lnet.ln_routers_version;
- lrtrsi->lrtrsi_off = off;
+ lrtrsi->lrtrsi_off = off;
while (r != &the_lnet.ln_routers) {
lnet_peer_t *rtr = list_entry(r,
}
lrtrsi->lrtrsi_router = NULL;
- rc = -ENOENT;
+ rc = -ENOENT;
out:
LNET_UNLOCK();
return rc;
{
lnet_router_seq_iterator_t *lrtrsi = iter;
lnet_peer_t *lp;
- lnet_nid_t nid;
- int alive;
- int nrefs;
- int nrtrrefs;
+ lnet_nid_t nid;
+ int alive;
+ int alive_cnt;
+ int nrefs;
+ int nrtrrefs;
+ time_t last_ping;
if (lrtrsi->lrtrsi_off == 0) {
seq_printf(s, "%-4s %7s %9s %6s %12s %s\n",
return -ESTALE;
}
- nrefs = lp->lp_refcount;
- nrtrrefs = lp->lp_rtr_refcount;
- nid = lp->lp_nid;
- alive = lp->lp_alive;
+ nid = lp->lp_nid;
+ alive = lp->lp_alive;
+ alive_cnt = lp->lp_alive_count;
+ nrefs = lp->lp_refcount;
+ nrtrrefs = lp->lp_rtr_refcount;
+ last_ping = lp->lp_ping_timestamp;
LNET_UNLOCK();
seq_printf(s,
- "%-4d %7d %9d %6s %12lu %s\n",
- nrefs, nrtrrefs,
- lp->lp_alive_count,
- alive ? "up" : "down",
- lp->lp_ping_timestamp,
- libcfs_nid2str(nid));
+ "%-4d %7d %9d %6s %12lu %s\n", nrefs, nrtrrefs,
+ alive_cnt, alive ? "up" : "down",
+ last_ping, libcfs_nid2str(nid));
return 0;
}
static struct seq_operations lnet_routers_sops = {
- .start = lnet_router_seq_start,
- .stop = lnet_router_seq_stop,
- .next = lnet_router_seq_next,
- .show = lnet_router_seq_show,
+ /* start */ lnet_router_seq_start,
+ /* stop */ lnet_router_seq_stop,
+ /* next */ lnet_router_seq_next,
+ /* show */ lnet_router_seq_show,
};
static int
return rc;
}
-static struct file_operations lnet_routers_fops = {
- .owner = THIS_MODULE,
- .open = lnet_router_seq_open,
- .read = seq_read,
- .llseek = seq_lseek,
- .release = seq_release,
-};
+static struct file_operations lnet_routers_fops;
+
+static void
+lnet_init_routers_fops(void)
+{
+ lnet_routers_fops.owner = THIS_MODULE;
+ lnet_routers_fops.llseek = seq_lseek;
+ lnet_routers_fops.read = seq_read;
+ lnet_routers_fops.open = lnet_router_seq_open;
+ lnet_routers_fops.release = seq_release;
+}
typedef struct {
unsigned long long lpsi_version;
seq_printf(s, "%-24s %4d %5s %5d %5d %5d %5d %5d %d\n",
libcfs_nid2str(nid), nrefs,
- !rtr ? "~rtr" : (lp->lp_alive ? "up" : "down"),
+ !rtr ? "~rtr" : (alive ? "up" : "down"),
maxcr, rtrcr, minrtrcr, txcr, mintxcr, txqnob);
return 0;
}
static struct seq_operations lnet_peer_sops = {
- .start = lnet_peer_seq_start,
- .stop = lnet_peer_seq_stop,
- .next = lnet_peer_seq_next,
- .show = lnet_peer_seq_show,
+ /* start */ lnet_peer_seq_start,
+ /* stop */ lnet_peer_seq_stop,
+ /* next */ lnet_peer_seq_next,
+ /* show */ lnet_peer_seq_show,
};
static int
return rc;
}
-static struct file_operations lnet_peer_fops = {
- .owner = THIS_MODULE,
- .open = lnet_peer_seq_open,
- .read = seq_read,
- .llseek = seq_lseek,
- .release = seq_release,
-};
+static struct file_operations lnet_peer_fops;
+
+static void
+lnet_init_peer_fops(void)
+{
+ lnet_peer_fops.owner = THIS_MODULE;
+ lnet_peer_fops.llseek = seq_lseek;
+ lnet_peer_fops.read = seq_read;
+ lnet_peer_fops.open = lnet_peer_seq_open;
+ lnet_peer_fops.release = seq_release;
+}
typedef struct {
int lbsi_idx;
}
static struct seq_operations lnet_buffer_sops = {
- .start = lnet_buffer_seq_start,
- .stop = lnet_buffer_seq_stop,
- .next = lnet_buffer_seq_next,
- .show = lnet_buffer_seq_show,
+ /* start */ lnet_buffer_seq_start,
+ /* stop */ lnet_buffer_seq_stop,
+ /* next */ lnet_buffer_seq_next,
+ /* show */ lnet_buffer_seq_show,
};
static int
return rc;
}
-static struct file_operations lnet_buffers_fops = {
- .owner = THIS_MODULE,
- .open = lnet_buffer_seq_open,
- .read = seq_read,
- .llseek = seq_lseek,
- .release = seq_release,
-};
+static struct file_operations lnet_buffers_fops;
+
+static void
+lnet_init_buffers_fops(void)
+{
+ lnet_buffers_fops.owner = THIS_MODULE;
+ lnet_buffers_fops.llseek = seq_lseek;
+ lnet_buffers_fops.read = seq_read;
+ lnet_buffers_fops.open = lnet_buffer_seq_open;
+ lnet_buffers_fops.release = seq_release;
+}
typedef struct {
lnet_ni_t *lnsi_ni;
}
static struct seq_operations lnet_ni_sops = {
- .start = lnet_ni_seq_start,
- .stop = lnet_ni_seq_stop,
- .next = lnet_ni_seq_next,
- .show = lnet_ni_seq_show,
+ /* start */ lnet_ni_seq_start,
+ /* stop */ lnet_ni_seq_stop,
+ /* next */ lnet_ni_seq_next,
+ /* show */ lnet_ni_seq_show,
};
static int
return rc;
}
-static struct file_operations lnet_ni_fops = {
- .owner = THIS_MODULE,
- .open = lnet_ni_seq_open,
- .read = seq_read,
- .llseek = seq_lseek,
- .release = seq_release,
-};
+static struct file_operations lnet_ni_fops;
+
+static void
+lnet_init_ni_fops(void)
+{
+ lnet_ni_fops.owner = THIS_MODULE;
+ lnet_ni_fops.llseek = seq_lseek;
+ lnet_ni_fops.read = seq_read;
+ lnet_ni_fops.open = lnet_ni_seq_open;
+ lnet_ni_fops.release = seq_release;
+}
void
lnet_proc_init(void)
return;
}
+ lnet_init_routes_fops();
pde->proc_fops = &lnet_routes_fops;
pde->data = NULL;
return;
}
+ lnet_init_routers_fops();
pde->proc_fops = &lnet_routers_fops;
pde->data = NULL;
return;
}
+ lnet_init_peer_fops();
pde->proc_fops = &lnet_peer_fops;
pde->data = NULL;
return;
}
+ lnet_init_buffers_fops();
pde->proc_fops = &lnet_buffers_fops;
pde->data = NULL;
return;
}
+ lnet_init_ni_fops();
pde->proc_fops = &lnet_ni_fops;
pde->data = NULL;
}