5 extern command_t cmdlist[];
7 /* Network configuration commands */
8 int jt_net_network(int argc, char **argv);
9 int jt_net_connect(int argc, char **argv);
10 int jt_net_disconnect(int argc, char **argv);
11 int jt_net_add_uuid(int argc, char **argv);
12 int jt_net_del_uuid(int argc, char **argv);
13 int jt_net_mynid(int argc, char **argv);
14 int jt_net_add_route(int argc, char **argv);
15 int jt_net_del_route(int argc, char **argv);
16 int jt_net_route_list(int argc, char **argv);
17 int jt_net_recv_mem(int argc, char **argv);
18 int jt_net_send_mem(int argc, char **argv);
19 int jt_net_nagle(int argc, char **argv);
21 /* Device selection commands */
22 int jt_dev_newdev(int argc, char **argv);
23 int jt_dev_uuid2dev(int argc, char **argv);
24 int jt_dev_name2dev(int argc, char **argv);
25 int jt_dev_device(int argc, char **argv);
26 int jt_dev_list(int argc, char **argv);
28 /* Device configuration commands */
29 int jt_dev_attach(int argc, char **argv);
30 int jt_dev_setup(int argc, char **argv);
31 int jt_dev_cleanup(int argc, char **argv);
32 int jt_dev_detach(int argc, char **argv);
33 int jt_dev_lov_config(int argc, char **argv);
35 /* Device operations */
36 int jt_dev_probe(int argc, char **argv);
37 int jt_dev_close(int argc, char **argv);
38 int jt_dev_getattr(int argc, char **argv);
39 int jt_dev_setattr(int argc, char **argv);
40 int jt_dev_test_getattr(int argc, char **argv);
41 int jt_dev_test_brw(int argc, char **argv);
42 int jt_dev_test_ldlm(int argc, char **argv);
45 int jt_debug_kernel(int argc, char **argv);
46 int jt_debug_file(int argc, char **argv);
47 int jt_debug_clear(int argc, char **argv);
48 int jt_debug_mark(int argc, char **argv);
49 int jt_debug_filter(int argc, char **argv);
50 int jt_debug_show(int argc, char **argv);
51 int jt_debug_list(int argc, char **argv);
52 int jt_debug_modules(int argc, char **argv);
53 int jt_debug_panic(int argc, char **argv);
55 int do_disconnect(char *func, int verbose);
56 int network_setup(int argc, char **argv);
57 int device_setup(int argc, char **argv);
58 int debug_setup(int argc, char **argv);
61 /* So we can tell between error codes and devices */
64 #define IOCINIT(data) \
66 memset(&data, 0, sizeof(data)); \
67 data.ioc_version = OBD_IOCTL_VERSION; \
68 data.ioc_addr = conn_addr; \
69 data.ioc_cookie = conn_cookie; \
70 data.ioc_len = sizeof(data); \
72 fprintf(stderr, "No device open, use device\n"); \
77 #define PORTALS_CONNECT \
82 g_pfd = open("/dev/portals", O_RDWR); \
84 fprintf(stderr, "error: failed to open /dev/portals: %s\n" \
85 "hint: the portals module may not be loaded\n", \
91 #define LUSTRE_CONNECT(func) \
96 fd = open("/dev/obd", O_RDWR); \
98 fprintf(stderr, "error: %s failed to open /dev/obd: %s\n" \
99 "hint: the lustre modules may not be loaded\n", \
100 cmdname(func), strerror(errno)); \
105 #define difftime(a, b) \
106 ((double)((a)->tv_sec - (b)->tv_sec) + \
107 ((double)((a)->tv_usec - (b)->tv_usec) / 1000000))
109 static inline char *cmdname(char *func) {
110 static char buf[512];
114 sprintf(buf, "%s-%d", func, thread);