#if defined(__KERNEL__) && defined(LNET_ROUTER)
+#if defined(__linux__)
#include <linux/seq_file.h>
+#endif
/* this is really lnet_proc.c */
-#define LNET_PROC_STATS "sys/lnet/stats"
-#define LNET_PROC_ROUTES "sys/lnet/routes"
-#define LNET_PROC_ROUTERS "sys/lnet/routers"
-#define LNET_PROC_PEERS "sys/lnet/peers"
-#define LNET_PROC_BUFFERS "sys/lnet/buffers"
-#define LNET_PROC_NIS "sys/lnet/nis"
+#define LNET_PROC_ROOT "sys/lnet"
+#define LNET_PROC_STATS LNET_PROC_ROOT"/stats"
+#define LNET_PROC_ROUTES LNET_PROC_ROOT"/routes"
+#define LNET_PROC_ROUTERS LNET_PROC_ROOT"/routers"
+#define LNET_PROC_PEERS LNET_PROC_ROOT"/peers"
+#define LNET_PROC_BUFFERS LNET_PROC_ROOT"/buffers"
+#define LNET_PROC_NIS LNET_PROC_ROOT"/nis"
static int
lnet_router_proc_stats_read (char *page, char **start, off_t off,
}
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;
}
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;
}
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)
{
struct proc_dir_entry *pde;
+#if 0
+ pde = proc_mkdir(LNET_PROC_ROOT, NULL);
+ if (pde == NULL) {
+ CERROR("couldn't create "LNET_PROC_ROOT"\n");
+ return;
+ }
+#endif
/* Initialize LNET_PROC_STATS */
pde = create_proc_entry (LNET_PROC_STATS, 0644, NULL);
if (pde == NULL) {
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;
}
remove_proc_entry(LNET_PROC_PEERS, 0);
remove_proc_entry(LNET_PROC_BUFFERS, 0);
remove_proc_entry(LNET_PROC_NIS, 0);
+#if 0
+ remove_proc_entry(LNET_PROC_ROOT, 0);
+#endif
}
#else