#define DECLARE_IOCTL_HANDLER(ident, func) \
static struct libcfs_ioctl_handler ident = { \
- /* .item = */ LIST_HEAD_INIT(ident.item), \
- /* .handle_ioctl = */ func \
+ .item = LIST_HEAD_INIT(ident.item), \
+ .handle_ioctl = func \
}
extern int libcfs_register_ioctl(struct libcfs_ioctl_handler *hand);
unsigned int nsiov, struct kvec *siov, unsigned int soffset,
unsigned int nob)
{
- struct kvec diov = {/*.iov_base = */ dest, /*.iov_len = */ dlen};
+ struct kvec diov = { .iov_base = dest, .iov_len = dlen };
lnet_copy_iov2iov(1, &diov, doffset,
nsiov, siov, soffset, nob);
unsigned int nsiov, lnet_kiov_t *skiov,
unsigned int soffset, unsigned int nob)
{
- struct kvec diov = {/* .iov_base = */ dest, /* .iov_len = */ dlen};
+ struct kvec diov = { .iov_base = dest, .iov_len = dlen };
lnet_copy_kiov2iov(1, &diov, doffset,
nsiov, skiov, soffset, nob);
int slen, void *src, unsigned int soffset,
unsigned int nob)
{
- struct kvec siov = {/*.iov_base = */ src, /*.iov_len = */slen};
+ struct kvec siov = { .iov_base = src, .iov_len = slen };
lnet_copy_iov2iov(ndiov, diov, doffset,
1, &siov, soffset, nob);
}
unsigned int doffset, int slen, void *src,
unsigned int soffset, unsigned int nob)
{
- struct kvec siov = {/* .iov_base = */ src, /* .iov_len = */ slen};
+ struct kvec siov = { .iov_base = src, .iov_len = slen };
lnet_copy_iov2kiov(ndiov, dkiov, doffset,
1, &siov, soffset, nob);
}
rs_event_code_t ec;
};
static struct rcadata rd[RCA_EVENTS] = {
- {0, 0, ec_node_unavailable},
- {0, 0, ec_node_available},
- {0, 0, ec_node_failed}
-};
+ { .ec = ec_node_unavailable },
+ { .ec = ec_node_available },
+ { .ec = ec_node_failed } };
/* thread for receiving rca events */
int
int ni_count, bool set_eq)
{
lnet_handle_me_t me_handle;
- lnet_process_id_t id = {LNET_NID_ANY, LNET_PID_ANY};
+ lnet_process_id_t id = { .nid = LNET_NID_ANY, .pid = LNET_PID_ANY};
lnet_md_t md = {NULL};
int rc, rc2;
}
lnd_t the_lolnd = {
- /* .lnd_list = */ {&the_lolnd.lnd_list, &the_lolnd.lnd_list},
- /* .lnd_refcount = */ 0,
- /* .lnd_type = */ LOLND,
- /* .lnd_startup = */ lolnd_startup,
- /* .lnd_shutdown = */ lolnd_shutdown,
- /* .lnt_ctl = */ NULL,
- /* .lnd_send = */ lolnd_send,
- /* .lnd_recv = */ lolnd_recv,
- /* .lnd_eager_recv = */ NULL,
- /* .lnd_notify = */ NULL,
- /* .lnd_accept = */ NULL
+ .lnd_list = {
+ .next = &the_lolnd.lnd_list,
+ .prev = &the_lolnd.lnd_list
+ },
+ .lnd_type = LOLND,
+ .lnd_startup = lolnd_startup,
+ .lnd_shutdown = lolnd_shutdown,
+ .lnd_send = lolnd_send,
+ .lnd_recv = lolnd_recv
};
#include "selftest.h"
-struct lst_sid LST_INVALID_SID = {LNET_NID_ANY, -1};
+struct lst_sid LST_INVALID_SID = { .ses_nid = LNET_NID_ANY, .ses_stamp = -1};
static int session_timeout = 100;
module_param(session_timeout, int, 0444);
static struct mod_paths {
char *name, *path;
} mod_paths[] = {
- { "libcfs", "libcfs/libcfs" },
- { "lnet", "lnet/lnet" },
- { "ko2iblnd", "lnet/klnds/o2iblnd" },
- { "kgnilnd", "lnet/klnds/gnilnd"},
- { "ksocklnd", "lnet/klnds/socklnd" },
- { "obdclass", "lustre/obdclass" },
- { "llog_test", "lustre/obdclass" },
- { "ptlrpc_gss", "lustre/ptlrpc/gss" },
- { "ptlrpc", "lustre/ptlrpc" },
- { "gks", "lustre/sec/gks" },
- { "gkc", "lustre/sec/gks" },
- { "ost", "lustre/ost" },
- { "osc", "lustre/osc" },
- { "mds", "lustre/mds" },
- { "mdc", "lustre/mdc" },
- { "lustre", "lustre/llite" },
- { "ldiskfs", "ldiskfs" },
- { "obdecho", "lustre/obdecho" },
- { "ldlm", "lustre/ldlm" },
- { "obdfilter", "lustre/obdfilter" },
- { "lov", "lustre/lov" },
- { "lmv", "lustre/lmv" },
- { "lquota", "lustre/quota" },
- { "mgs", "lustre/mgs" },
- { "mgc", "lustre/mgc" },
- { "mdt", "lustre/mdt" },
- { "mdd", "lustre/mdd" },
- { "osd", "lustre/osd" },
- { "cmm", "lustre/cmm" },
- {"fid", "lustre/fid"},
- {"fld", "lustre/fld"},
- {"lod", "lustre/lod"},
- {"osp", "lustre/osp"},
- { "lfsck", "lustre/lfsck" },
- {NULL, NULL}
+ { .name = "libcfs", .path = "libcfs/libcfs" },
+ { .name = "lnet", .path = "lnet/lnet" },
+ { .name = "ko2iblnd", .path = "lnet/klnds/o2iblnd" },
+ { .name = "kgnilnd", .path = "lnet/klnds/gnilnd"},
+ { .name = "ksocklnd", .path = "lnet/klnds/socklnd" },
+ { .name = "obdclass", .path = "lustre/obdclass" },
+ { .name = "llog_test", .path = "lustre/obdclass" },
+ { .name = "ptlrpc_gss", .path = "lustre/ptlrpc/gss" },
+ { .name = "ptlrpc", .path = "lustre/ptlrpc" },
+ { .name = "gks", .path = "lustre/sec/gks" },
+ { .name = "gkc", .path = "lustre/sec/gks" },
+ { .name = "ost", .path = "lustre/ost" },
+ { .name = "osc", .path = "lustre/osc" },
+ { .name = "mds", .path = "lustre/mds" },
+ { .name = "mdc", .path = "lustre/mdc" },
+ { .name = "lustre", .path = "lustre/llite" },
+ { .name = "ldiskfs", .path = "ldiskfs" },
+ { .name = "obdecho", .path = "lustre/obdecho" },
+ { .name = "ldlm", .path = "lustre/ldlm" },
+ { .name = "obdfilter", .path = "lustre/obdfilter" },
+ { .name = "lov", .path = "lustre/lov" },
+ { .name = "lmv", .path = "lustre/lmv" },
+ { .name = "lquota", .path = "lustre/quota" },
+ { .name = "mgs", .path = "lustre/mgs" },
+ { .name = "mgc", .path = "lustre/mgc" },
+ { .name = "mdt", .path = "lustre/mdt" },
+ { .name = "mdd", .path = "lustre/mdd" },
+ { .name = "osd", .path = "lustre/osd" },
+ { .name = "cmm", .path = "lustre/cmm" },
+ { .name = "fid", .path = "lustre/fid"},
+ { .name = "fld", .path = "lustre/fld"},
+ { .name = "lod", .path = "lustre/lod"},
+ { .name = "osp", .path = "lustre/osp"},
+ { .name = "lfsck", .path = "lustre/lfsck" },
+ { .name = NULL }
};
int jt_dbg_modules(int argc, char **argv)
};
static struct lookup_cmd_hdlr_tbl lookup_config_tbl[] = {
- {"route", handle_yaml_config_route},
- {"net", handle_yaml_config_ni},
- {"ip2nets", handle_yaml_config_ip2nets},
- {"peer", handle_yaml_config_peer},
- {"routing", handle_yaml_config_routing},
- {"buffers", handle_yaml_config_buffers},
- {"numa", handle_yaml_config_numa},
- {NULL, NULL}
-};
+ { .name = "route", .cb = handle_yaml_config_route },
+ { .name = "net", .cb = handle_yaml_config_ni },
+ { .name = "ip2nets", .cb = handle_yaml_config_ip2nets },
+ { .name = "peer", .cb = handle_yaml_config_peer },
+ { .name = "routing", .cb = handle_yaml_config_routing },
+ { .name = "buffers", .cb = handle_yaml_config_buffers },
+ { .name = "numa", .cb = handle_yaml_config_numa },
+ { .name = NULL } };
static struct lookup_cmd_hdlr_tbl lookup_del_tbl[] = {
- {"route", handle_yaml_del_route},
- {"net", handle_yaml_del_ni},
- {"peer", handle_yaml_del_peer},
- {"routing", handle_yaml_del_routing},
- {"numa", handle_yaml_del_numa},
- {NULL, NULL}
-};
+ { .name = "route", .cb = handle_yaml_del_route },
+ { .name = "net", .cb = handle_yaml_del_ni },
+ { .name = "peer", .cb = handle_yaml_del_peer },
+ { .name = "routing", .cb = handle_yaml_del_routing },
+ { .name = "numa", .cb = handle_yaml_del_numa },
+ { .name = NULL } };
static struct lookup_cmd_hdlr_tbl lookup_show_tbl[] = {
- {"route", handle_yaml_show_route},
- {"net", handle_yaml_show_net},
- {"buffers", handle_yaml_show_routing},
- {"routing", handle_yaml_show_routing},
- {"peer", handle_yaml_show_peers},
- {"statistics", handle_yaml_show_stats},
- {"numa", handle_yaml_show_numa},
- {NULL, NULL}
-};
+ { .name = "route", .cb = handle_yaml_show_route },
+ { .name = "net", .cb = handle_yaml_show_net },
+ { .name = "buffers", .cb = handle_yaml_show_routing },
+ { .name = "routing", .cb = handle_yaml_show_routing },
+ { .name = "peer", .cb = handle_yaml_show_peers },
+ { .name = "statistics", .cb = handle_yaml_show_stats },
+ { .name = "numa", .cb = handle_yaml_show_numa },
+ { .name = NULL } };
static cmd_handler_t lookup_fn(char *key,
struct lookup_cmd_hdlr_tbl *tbl)
opterr = 0;
const char *const short_options = "h";
- const struct option long_options[] = {
- { "help", 0, NULL, 'h' },
- { NULL, 0, NULL, 0 },
+ static const struct option long_options[] = {
+ { .name = "help", .has_arg = no_argument, .val = 'h' },
+ { .name = NULL }
};
while ((opt = getopt_long(argc, argv, short_options,
int rc, opt;
const char *const short_options = "ah";
- const struct option long_options[] = {
- { "all", 0, NULL, 'a' },
- { "help", 0, NULL, 'h' },
- { NULL, 0, NULL, 0 },
+ static const struct option long_options[] = {
+ { .name = "all", .has_arg = no_argument, .val = 'a' },
+ { .name = "help", .has_arg = no_argument, .val = 'h' },
+ { .name = NULL }
};
while ((opt = getopt_long(argc, argv, short_options,
int rc, opt;
const char *const short_options = "n:g:c:p:h";
- const struct option long_options[] = {
- { "net", 1, NULL, 'n' },
- { "gateway", 1, NULL, 'g' },
- { "hop-count", 1, NULL, 'c' },
- { "priority", 1, NULL, 'p' },
- { "help", 0, NULL, 'h' },
- { NULL, 0, NULL, 0 },
- };
+ static const struct option long_options[] = {
+ { .name = "net", .has_arg = required_argument, .val = 'n' },
+ { .name = "gateway", .has_arg = required_argument, .val = 'g' },
+ { .name = "hop-count", .has_arg = required_argument, .val = 'c' },
+ { .name = "priority", .has_arg = required_argument, .val = 'p' },
+ { .name = "help", .has_arg = no_argument, .val = 'h' },
+ { .name = NULL } };
while ((opt = getopt_long(argc, argv, short_options,
long_options, NULL)) != -1) {
lustre_lnet_init_nw_descr(&nw_descr);
const char *const short_options = "n:i:p:t:c:b:r:s:h";
- const struct option long_options[] = {
- { "net", 1, NULL, 'n' },
- { "if", 1, NULL, 'i' },
- { "ip2net", 1, NULL, 'p' },
- { "peer-timeout", 1, NULL, 't' },
- { "peer-credits", 1, NULL, 'c' },
- { "peer-buffer-credits", 1, NULL, 'b' },
- { "credits", 1, NULL, 'r' },
- { "cpt", 1, NULL, 's' },
- { "help", 0, NULL, 'h' },
- { NULL, 0, NULL, 0 },
- };
+ static const struct option long_options[] = {
+ { .name = "net", .has_arg = required_argument, .val = 'n' },
+ { .name = "if", .has_arg = required_argument, .val = 'i' },
+ { .name = "ip2net", .has_arg = required_argument, .val = 'p' },
+ { .name = "peer-timeout", .has_arg = required_argument, .val = 't' },
+ { .name = "peer-credits", .has_arg = required_argument, .val = 'c' },
+ { .name = "peer-buffer-credits",
+ .has_arg = required_argument, .val = 'b' },
+ { .name = "credits", .has_arg = required_argument, .val = 'r' },
+ { .name = "cpt", .has_arg = required_argument, .val = 's' },
+ { .name = "help", .has_arg = no_argument, .val = 'h' },
+ { .name = NULL } };
while ((opt = getopt_long(argc, argv, short_options,
long_options, NULL)) != -1) {
int rc, opt;
const char *const short_options = "n:g:h";
- const struct option long_options[] = {
- { "net", 1, NULL, 'n' },
- { "gateway", 1, NULL, 'g' },
- { "help", 0, NULL, 'h' },
- { NULL, 0, NULL, 0 },
- };
+ static const struct option long_options[] = {
+ { .name = "net", .has_arg = required_argument, .val = 'n' },
+ { .name = "gateway", .has_arg = required_argument, .val = 'g' },
+ { .name = "help", .has_arg = no_argument, .val = 'h' },
+ { .name = NULL } };
while ((opt = getopt_long(argc, argv, short_options,
long_options, NULL)) != -1) {
lustre_lnet_init_nw_descr(&nw_descr);
const char *const short_options = "n:i:h";
- const struct option long_options[] = {
- { "net", 1, NULL, 'n' },
- { "if", 1, NULL, 'i' },
- { "help", 0, NULL, 'h' },
- { NULL, 0, NULL, 0 },
- };
+ static const struct option long_options[] = {
+ { .name = "net", .has_arg = required_argument, .val = 'n' },
+ { .name = "if", .has_arg = required_argument, .val = 'i' },
+ { .name = "help", .has_arg = no_argument, .val = 'h' },
+ { .name = NULL } };
while ((opt = getopt_long(argc, argv, short_options,
long_options, NULL)) != -1) {
struct cYAML *err_rc = NULL, *show_rc = NULL;
const char *const short_options = "n:g:h:p:vh";
- const struct option long_options[] = {
- { "net", 1, NULL, 'n' },
- { "gateway", 1, NULL, 'g' },
- { "hop-count", 1, NULL, 'c' },
- { "priority", 1, NULL, 'p' },
- { "verbose", 0, NULL, 'v' },
- { "help", 0, NULL, 'h' },
- { NULL, 0, NULL, 0 },
- };
+ static const struct option long_options[] = {
+ { .name = "net", .has_arg = required_argument, .val = 'n' },
+ { .name = "gateway", .has_arg = required_argument, .val = 'g' },
+ { .name = "hop-count", .has_arg = required_argument, .val = 'c' },
+ { .name = "priority", .has_arg = required_argument, .val = 'p' },
+ { .name = "verbose", .has_arg = no_argument, .val = 'v' },
+ { .name = "help", .has_arg = no_argument, .val = 'h' },
+ { .name = NULL } };
while ((opt = getopt_long(argc, argv, short_options,
long_options, NULL)) != -1) {
struct cYAML *err_rc = NULL, *show_rc = NULL;
const char *const short_options = "n:vh";
- const struct option long_options[] = {
- { "net", 1, NULL, 'n' },
- { "verbose", 0, NULL, 'v' },
- { "help", 0, NULL, 'h' },
- { NULL, 0, NULL, 0 },
- };
+ static const struct option long_options[] = {
+ { .name = "net", .has_arg = required_argument, .val = 'n' },
+ { .name = "verbose", .has_arg = no_argument, .val = 'v' },
+ { .name = "help", .has_arg = no_argument, .val = 'h' },
+ { .name = NULL } };
while ((opt = getopt_long(argc, argv, short_options,
long_options, NULL)) != -1) {
char cmd = 'a';
const char *const short_options = "adsh";
- const struct option long_options[] = {
- { "add", 0, NULL, 'a' },
- { "del", 0, NULL, 'd' },
- { "show", 0, NULL, 's' },
- { "help", 0, NULL, 'h' },
- { NULL, 0, NULL, 0 },
- };
+ static const struct option long_options[] = {
+ { .name = "add", .has_arg = no_argument, .val = 'a' },
+ { .name = "del", .has_arg = no_argument, .val = 'd' },
+ { .name = "show", .has_arg = no_argument, .val = 's' },
+ { .name = "help", .has_arg = no_argument, .val = 'h' },
+ { .name = NULL } };
while ((opt = getopt_long(argc, argv, short_options,
long_options, NULL)) != -1) {
FILE *f = NULL;
const char *const short_options = "h";
- const struct option long_options[] = {
- { "help", 0, NULL, 'h' },
- { NULL, 0, NULL, 0 },
- };
+ static const struct option long_options[] = {
+ { .name = "help", .has_arg = no_argument, .val = 'h' },
+ { .name = NULL } };
while ((opt = getopt_long(argc, argv, short_options,
long_options, NULL)) != -1) {
#include <lnet/lnet.h>
#include <utils/obdctl.h>
-struct lst_sid LST_INVALID_SID = {LNET_NID_ANY, -1};
+struct lst_sid LST_INVALID_SID = { .ses_nid = LNET_NID_ANY, .ses_stamp = -1 };
static struct lst_sid session_id;
static int session_key;
}
int
-jt_lst_new_session(int argc, char **argv)
-{
- char buf[LST_NAME_SIZE];
- char *name;
- int optidx = 0;
- int timeout = 300;
- int force = 0;
- int c;
- int rc;
+jt_lst_new_session(int argc, char **argv)
+{
+ char buf[LST_NAME_SIZE];
+ char *name;
+ int optidx = 0;
+ int timeout = 300;
+ int force = 0;
+ int c;
+ int rc;
- static struct option session_opts[] =
- {
- {"timeout", required_argument, 0, 't' },
- {"force", no_argument, 0, 'f' },
- {0, 0, 0, 0 }
- };
+ static const struct option session_opts[] = {
+ { .name = "timeout", .has_arg = required_argument, .val = 't' },
+ { .name = "force", .has_arg = no_argument, .val = 'f' },
+ { .name = NULL } };
if (session_key == 0) {
fprintf(stderr,
struct list_head head;
lnet_process_id_t *ids = NULL;
struct lstcon_rpc_ent *ent = NULL;
- char *str = NULL;
- int optidx = 0;
- int server = 0;
- int timeout = 5;
- int count = 0;
- int type = 0;
- int rc = 0;
- int c;
-
- static struct option ping_opts[] =
- {
- {"session", no_argument, 0, 's' },
- {"server", no_argument, 0, 'v' },
- {"batch", required_argument, 0, 'b' },
- {"group", required_argument, 0, 'g' },
- {"nodes", required_argument, 0, 'n' },
- {"timeout", required_argument, 0, 't' },
- {0, 0, 0, 0 }
- };
+ char *str = NULL;
+ int optidx = 0;
+ int server = 0;
+ int timeout = 5;
+ int count = 0;
+ int type = 0;
+ int rc = 0;
+ int c;
+
+ static const struct option ping_opts[] = {
+ { .name = "session", .has_arg = no_argument, .val = 's' },
+ { .name = "server", .has_arg = no_argument, .val = 'v' },
+ { .name = "batch", .has_arg = required_argument, .val = 'b' },
+ { .name = "group", .has_arg = required_argument, .val = 'g' },
+ { .name = "nodes", .has_arg = required_argument, .val = 'n' },
+ { .name = "timeout", .has_arg = required_argument, .val = 't' },
+ { .name = NULL, } };
if (session_key == 0) {
fprintf(stderr,
int
jt_lst_update_group(int argc, char **argv)
{
- struct list_head head;
- lnet_process_id_t *ids = NULL;
- char *str = NULL;
- char *grp = NULL;
- int optidx = 0;
- int count = 0;
- int clean = 0;
- int opc = 0;
- int rc;
- int c;
-
- static struct option update_group_opts[] =
- {
- {"refresh", no_argument, 0, 'f' },
- {"clean", required_argument, 0, 'c' },
- {"remove", required_argument, 0, 'r' },
- {0, 0, 0, 0 }
- };
+ struct list_head head;
+ lnet_process_id_t *ids = NULL;
+ char *str = NULL;
+ char *grp = NULL;
+ int optidx = 0;
+ int count = 0;
+ int clean = 0;
+ int opc = 0;
+ int rc;
+ int c;
+
+ static const struct option update_group_opts[] = {
+ { .name = "refresh", .has_arg = no_argument, .val = 'f' },
+ { .name = "clean", .has_arg = required_argument, .val = 'c' },
+ { .name = "remove", .has_arg = required_argument, .val = 'r' },
+ { .name = NULL } };
if (session_key == 0) {
fprintf(stderr,
{
struct lstcon_ndlist_ent gent;
struct lstcon_node_ent *dents;
- int optidx = 0;
- int verbose = 0;
- int active = 0;
- int busy = 0;
- int down = 0;
- int unknown = 0;
- int all = 0;
- int count;
- int index;
- int i;
- int j;
- int c;
- int rc = 0;
-
- static struct option list_group_opts[] =
- {
- {"active", no_argument, 0, 'a' },
- {"busy", no_argument, 0, 'b' },
- {"down", no_argument, 0, 'd' },
- {"unknown", no_argument, 0, 'u' },
- {"all", no_argument, 0, 'l' },
- {0, 0, 0, 0 }
- };
+ int optidx = 0;
+ int verbose = 0;
+ int active = 0;
+ int busy = 0;
+ int down = 0;
+ int unknown = 0;
+ int all = 0;
+ int count;
+ int index;
+ int i;
+ int j;
+ int c;
+ int rc = 0;
+
+ static const struct option list_group_opts[] = {
+ { .name = "active", .has_arg = no_argument, .val = 'a' },
+ { .name = "busy", .has_arg = no_argument, .val = 'b' },
+ { .name = "down", .has_arg = no_argument, .val = 'd' },
+ { .name = "unknown", .has_arg = no_argument, .val = 'u' },
+ { .name = "all", .has_arg = no_argument, .val = 'l' },
+ { .name = NULL, } };
if (session_key == 0) {
fprintf(stderr,
int c;
int mbs = 0; /* report as MB/s */
- static struct option stat_opts[] = {
- {"timeout" , required_argument, 0, 't' },
- {"delay" , required_argument, 0, 'd' },
- {"count" , required_argument, 0, 'o' },
- {"lnet" , no_argument, 0, 'l' },
- {"rpc" , no_argument, 0, 'c' },
- {"bw" , no_argument, 0, 'b' },
- {"rate" , no_argument, 0, 'a' },
- {"read" , no_argument, 0, 'r' },
- {"write" , no_argument, 0, 'w' },
- {"avg" , no_argument, 0, 'g' },
- {"min" , no_argument, 0, 'n' },
- {"max" , no_argument, 0, 'x' },
- {"mbs" , no_argument, 0, 'm' },
- {0, 0, 0, 0 }
- };
+ static const struct option stat_opts[] = {
+ { .name = "timeout", .has_arg = required_argument, .val = 't' },
+ { .name = "delay", .has_arg = required_argument, .val = 'd' },
+ { .name = "count", .has_arg = required_argument, .val = 'o' },
+ { .name = "lnet", .has_arg = no_argument, .val = 'l' },
+ { .name = "rpc", .has_arg = no_argument, .val = 'c' },
+ { .name = "bw", .has_arg = no_argument, .val = 'b' },
+ { .name = "rate", .has_arg = no_argument, .val = 'a' },
+ { .name = "read", .has_arg = no_argument, .val = 'r' },
+ { .name = "write", .has_arg = no_argument, .val = 'w' },
+ { .name = "avg", .has_arg = no_argument, .val = 'g' },
+ { .name = "min", .has_arg = no_argument, .val = 'n' },
+ { .name = "max", .has_arg = no_argument, .val = 'x' },
+ { .name = "mbs", .has_arg = no_argument, .val = 'm' },
+ { .name = NULL } };
if (session_key == 0) {
fprintf(stderr,
int
jt_lst_show_error(int argc, char **argv)
{
- struct list_head head;
- lst_stat_req_param_t *srp;
- struct lstcon_rpc_ent *ent;
- struct sfw_counters *sfwk;
- struct srpc_counters *srpc;
- int show_rpc = 1;
- int optidx = 0;
- int rc = 0;
- int ecount;
- int c;
-
- static struct option show_error_opts[] =
- {
- {"session", no_argument, 0, 's' },
- {0, 0, 0, 0 }
- };
+ struct list_head head;
+ lst_stat_req_param_t *srp;
+ struct lstcon_rpc_ent *ent;
+ struct sfw_counters *sfwk;
+ struct srpc_counters *srpc;
+ int show_rpc = 1;
+ int optidx = 0;
+ int rc = 0;
+ int ecount;
+ int c;
+
+ static const struct option show_error_opts[] = {
+ { .name = "session", .has_arg = no_argument, .val = 's' },
+ { .name = NULL, } };
if (session_key == 0) {
fprintf(stderr,
int
jt_lst_start_batch(int argc, char **argv)
{
- struct list_head head;
- char *batch;
- int optidx = 0;
- int timeout = 0;
- int count = 0;
- int rc;
- int c;
+ struct list_head head;
+ char *batch;
+ int optidx = 0;
+ int timeout = 0;
+ int count = 0;
+ int rc;
+ int c;
- static struct option start_batch_opts[] =
- {
- {"timeout", required_argument, 0, 't' },
- {0, 0, 0, 0 }
- };
+ static const struct option start_batch_opts[] = {
+ { .name = "timeout", .has_arg = required_argument, .val = 't' },
+ { .name = NULL } };
if (session_key == 0) {
fprintf(stderr,
int
jt_lst_stop_batch(int argc, char **argv)
{
- struct list_head head;
- char *batch;
- int force = 0;
- int optidx;
- int count;
- int rc;
- int c;
+ struct list_head head;
+ char *batch;
+ int force = 0;
+ int optidx;
+ int count;
+ int rc;
+ int c;
- static struct option stop_batch_opts[] =
- {
- {"force", no_argument, 0, 'f' },
- {0, 0, 0, 0 }
- };
+ static const struct option stop_batch_opts[] = {
+ { .name = "force", .has_arg = no_argument, .val = 'f' },
+ { .name = NULL } };
if (session_key == 0) {
fprintf(stderr,
jt_lst_list_batch(int argc, char **argv)
{
struct lstcon_test_batch_ent ent;
- char *batch = NULL;
- int optidx = 0;
- int verbose = 0; /* list nodes in batch or test */
- int invalid = 0;
- int active = 0;
- int server = 0;
- int ntest = 0;
- int test = 0;
- int c = 0;
- int rc;
-
- static struct option list_batch_opts[] =
- {
- {"test", required_argument, 0, 't' },
- {"invalid", no_argument, 0, 'i' },
- {"active", no_argument, 0, 'a' },
- {"all", no_argument, 0, 'l' },
- {"server", no_argument, 0, 's' },
- {0, 0, 0, 0 }
- };
+ char *batch = NULL;
+ int optidx = 0;
+ int verbose = 0; /* list nodes in batch or test */
+ int invalid = 0;
+ int active = 0;
+ int server = 0;
+ int ntest = 0;
+ int test = 0;
+ int c = 0;
+ int rc;
+
+ static const struct option list_batch_opts[] = {
+ { .name = "test", .has_arg = required_argument, .val = 't' },
+ { .name = "invalid", .has_arg = no_argument, .val = 'i' },
+ { .name = "active", .has_arg = no_argument, .val = 'a' },
+ { .name = "all", .has_arg = no_argument, .val = 'l' },
+ { .name = "server", .has_arg = no_argument, .val = 's' },
+ { .name = NULL, } };
if (session_key == 0) {
fprintf(stderr,
jt_lst_query_batch(int argc, char **argv)
{
struct lstcon_test_batch_ent ent;
- struct list_head head;
- char *batch = NULL;
- time_t last = 0;
- int optidx = 0;
- int verbose = 0;
- int server = 0;
- int timeout = 5; /* default 5 seconds */
- int delay = 5; /* default 5 seconds */
- int loop = 1; /* default 1 loop */
- int active = 0;
- int error = 0;
- int idle = 0;
- int count = 0;
- int test = 0;
- int rc = 0;
- int c = 0;
- int i;
-
- static struct option query_batch_opts[] =
- {
- {"timeout", required_argument, 0, 'o' },
- {"delay", required_argument, 0, 'd' },
- {"loop", required_argument, 0, 'c' },
- {"test", required_argument, 0, 't' },
- {"server", no_argument, 0, 's' },
- {"active", no_argument, 0, 'a' },
- {"idle", no_argument, 0, 'i' },
- {"error", no_argument, 0, 'e' },
- {"all", no_argument, 0, 'l' },
- {0, 0, 0, 0 }
- };
+ struct list_head head;
+ char *batch = NULL;
+ time_t last = 0;
+ int optidx = 0;
+ int verbose = 0;
+ int server = 0;
+ int timeout = 5; /* default 5 seconds */
+ int delay = 5; /* default 5 seconds */
+ int loop = 1; /* default 1 loop */
+ int active = 0;
+ int error = 0;
+ int idle = 0;
+ int count = 0;
+ int test = 0;
+ int rc = 0;
+ int c = 0;
+ int i;
+
+ static const struct option query_batch_opts[] = {
+ { .name = "timeout", .has_arg = required_argument, .val = 'o' },
+ { .name = "delay", .has_arg = required_argument, .val = 'd' },
+ { .name = "loop", .has_arg = required_argument, .val = 'c' },
+ { .name = "test", .has_arg = required_argument, .val = 't' },
+ { .name = "server", .has_arg = no_argument, .val = 's' },
+ { .name = "active", .has_arg = no_argument, .val = 'a' },
+ { .name = "idle", .has_arg = no_argument, .val = 'i' },
+ { .name = "error", .has_arg = no_argument, .val = 'e' },
+ { .name = "all", .has_arg = no_argument, .val = 'l' },
+ { .name = NULL, } };
if (session_key == 0) {
fprintf(stderr,
int
jt_lst_add_test(int argc, char **argv)
{
- struct list_head head;
- char *batch = NULL;
- char *test = NULL;
- char *dstr = NULL;
- char *from = NULL;
- char *to = NULL;
- void *param = NULL;
- int optidx = 0;
- int concur = 1;
- int loop = -1;
- int dist = 1;
- int span = 1;
- int plen = 0;
- int fcount = 0;
- int tcount = 0;
- int ret = 0;
- int type;
- int rc;
- int c;
-
- static struct option add_test_opts[] =
- {
- {"batch", required_argument, 0, 'b' },
- {"concurrency", required_argument, 0, 'c' },
- {"distribute", required_argument, 0, 'd' },
- {"from", required_argument, 0, 'f' },
- {"to", required_argument, 0, 't' },
- {"loop", required_argument, 0, 'l' },
- {0, 0, 0, 0 }
- };
+ struct list_head head;
+ char *batch = NULL;
+ char *test = NULL;
+ char *dstr = NULL;
+ char *from = NULL;
+ char *to = NULL;
+ void *param = NULL;
+ int optidx = 0;
+ int concur = 1;
+ int loop = -1;
+ int dist = 1;
+ int span = 1;
+ int plen = 0;
+ int fcount = 0;
+ int tcount = 0;
+ int ret = 0;
+ int type;
+ int rc;
+ int c;
+
+ static const struct option add_test_opts[] = {
+ { .name = "batch", .has_arg = required_argument, .val = 'b' },
+ { .name = "concurrency", .has_arg = required_argument, .val = 'c' },
+ { .name = "distribute", .has_arg = required_argument, .val = 'd' },
+ { .name = "from", .has_arg = required_argument, .val = 'f' },
+ { .name = "to", .has_arg = required_argument, .val = 't' },
+ { .name = "loop", .has_arg = required_argument, .val = 'l' },
+ { .name = NULL } };
if (session_key == 0) {
fprintf(stderr,
static int
fault_simul_rule_add(__u32 opc, char *name, int argc, char **argv)
{
- struct libcfs_ioctl_data data = {{0}};
+ struct libcfs_ioctl_data data = { { 0 } };
struct lnet_fault_attr attr;
char *optstr;
int rc;
- static struct option opts[] = {
- {"source", required_argument, 0, 's'},
- {"dest", required_argument, 0, 'd'},
- {"rate", required_argument, 0, 'r'},
- {"interval", required_argument, 0, 'i'},
- {"latency", required_argument, 0, 'l'},
- {"portal", required_argument, 0, 'p'},
- {"message", required_argument, 0, 'm'},
- {0, 0, 0, 0}
- };
+ static const struct option opts[] = {
+ { .name = "source", .has_arg = required_argument, .val = 's' },
+ { .name = "dest", .has_arg = required_argument, .val = 'd' },
+ { .name = "rate", .has_arg = required_argument, .val = 'r' },
+ { .name = "interval", .has_arg = required_argument, .val = 'i' },
+ { .name = "latency", .has_arg = required_argument, .val = 'l' },
+ { .name = "portal", .has_arg = required_argument, .val = 'p' },
+ { .name = "message", .has_arg = required_argument, .val = 'm' },
+ { .name = NULL } };
if (argc == 1) {
fprintf(stderr, "Failed, please provide source, destination "
static int
fault_simul_rule_del(__u32 opc, char *name, int argc, char **argv)
{
- struct libcfs_ioctl_data data = {{0}};
+ struct libcfs_ioctl_data data = { { 0 } };
struct lnet_fault_attr attr;
bool all = false;
int rc;
- static struct option opts[] = {
- {"source", required_argument, 0, 's'},
- {"dest", required_argument, 0, 'd'},
- {"all", no_argument, 0, 'a'},
- {0, 0, 0, 0}
- };
+ static const struct option opts[] = {
+ { .name = "source", .has_arg = required_argument, .val = 's' },
+ { .name = "dest", .has_arg = required_argument, .val = 'd' },
+ { .name = "all", .has_arg = no_argument, .val = 'a' },
+ { .name = NULL } };
if (argc == 1) {
fprintf(stderr, "Failed, please provide source and "
static int
fault_simul_rule_reset(__u32 opc, char *name, int argc, char **argv)
{
- struct libcfs_ioctl_data data = {{0}};
+ struct libcfs_ioctl_data data = { { 0 } };
int rc;
LIBCFS_IOC_INIT(data);
static int
fault_simul_rule_list(__u32 opc, char *name, int argc, char **argv)
{
- struct libcfs_ioctl_data data = {{0}};
+ struct libcfs_ioctl_data data = { { 0 } };
struct lnet_fault_attr attr;
struct lnet_fault_stat stat;
int pos;