From 6bc92674891e39b293192bf13ec5b1a34e1ca035 Mon Sep 17 00:00:00 2001 From: nikita Date: Fri, 8 Aug 2008 13:58:31 +0000 Subject: [PATCH] now, that offsetof is already defined by user-space libcfs, do not define it unconditionally in lst.c. --- lnet/utils/lst.c | 118 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 60 insertions(+), 58 deletions(-) diff --git a/lnet/utils/lst.c b/lnet/utils/lst.c index d5fe42a..b6a775a 100644 --- a/lnet/utils/lst.c +++ b/lnet/utils/lst.c @@ -52,7 +52,7 @@ static command_t lst_cmdlist[]; static lst_sid_t session_id; -static int session_key; +static int session_key; static lstcon_trans_stat_t trans_stat; typedef struct list_string { @@ -61,7 +61,9 @@ typedef struct list_string { char lstr_str[0]; } lstr_t; -#define offsetof(typ,memb) ((unsigned long)((char *)&(((typ *)0)->memb))) +#ifndef offsetof +# define offsetof(typ,memb) ((unsigned long)((char *)&(((typ *)0)->memb))) +#endif static int alloc_count = 0; static int alloc_nob = 0; @@ -111,7 +113,7 @@ new_lstrs(lstr_t **list, char *prefix, char *postfix, int n2 = strlen(postfix); int sz = n1 + 20 + n2 + 1; - do { + do { lstr_t *n = alloc_lstr(sz); snprintf(n->lstr_str, sz - 1, "%s%u%s", @@ -135,9 +137,9 @@ expand_lstr(lstr_t **list, lstr_t *l) int x; int y; int z; - int n; + int n; - b1 = strchr(l->lstr_str, '['); + b1 = strchr(l->lstr_str, '['); if (b1 == NULL) { l->lstr_next = *list; *list = l; @@ -413,7 +415,7 @@ lst_reset_rpcent(struct list_head *head) list_for_each_entry(ent, head, rpe_link) { ent->rpe_sid = LST_INVALID_SID; - ent->rpe_peer.nid = LNET_NID_ANY; + ent->rpe_peer.nid = LNET_NID_ANY; ent->rpe_peer.pid = LNET_PID_ANY; ent->rpe_rpc_errno = ent->rpe_fwk_errno = 0; } @@ -435,7 +437,7 @@ lst_alloc_rpcent(struct list_head *head, int count, int offset) memset(ent, 0, offsetof(lstcon_rpc_ent_t, rpe_payload[offset])); ent->rpe_sid = LST_INVALID_SID; - ent->rpe_peer.nid = LNET_NID_ANY; + ent->rpe_peer.nid = LNET_NID_ANY; ent->rpe_peer.pid = LNET_PID_ANY; list_add(&ent->rpe_link, head); } @@ -459,7 +461,7 @@ lst_print_transerr(struct list_head *head, char *optstr) continue; } - fprintf(stderr, "%s failed on %s: %s\n", + fprintf(stderr, "%s failed on %s: %s\n", optstr, libcfs_id2str(ent->rpe_peer), strerror(ent->rpe_fwk_errno)); } @@ -553,7 +555,7 @@ jt_lst_new_session(int argc, char **argv) if (c == -1) break; - + switch (c) { case 'f': force = 1; @@ -597,7 +599,7 @@ jt_lst_new_session(int argc, char **argv) snprintf(buf, LST_NAME_SIZE, "%s@%s", user, host); name = buf; - } else { + } else { lst_print_usage(argv[0]); return -1; } @@ -707,7 +709,7 @@ jt_lst_end_session(int argc, char **argv) } int -lst_ping_ioctl(char *str, int type, int timeout, +lst_ping_ioctl(char *str, int type, int timeout, int count, lnet_process_id_t *ids, struct list_head *head) { lstio_debug_args_t args = { @@ -746,7 +748,7 @@ lst_get_node_count(int type, char *str, int *countp, lnet_process_id_t **idspp) case LST_OPC_BATCHCLI: rc = lst_info_batch_ioctl(str, 0, 0, &ent, NULL, NULL, NULL); break; - + case LST_OPC_GROUP: rc = lst_info_group_ioctl(str, entp, NULL, NULL, NULL); break; @@ -760,7 +762,7 @@ lst_get_node_count(int type, char *str, int *countp, lnet_process_id_t **idspp) break; } - if (rc == 0) + if (rc == 0) *countp = entp->nle_nnode; return rc; @@ -805,7 +807,7 @@ jt_lst_ping(int argc, char **argv) if (c == -1) break; - + switch (c) { case 's': type = LST_OPC_SESSION; @@ -897,13 +899,13 @@ out: free(ids); return rc; - + } int lst_add_nodes_ioctl (char *name, int count, lnet_process_id_t *ids, struct list_head *resultp) -{ +{ lstio_group_nodes_args_t args = { .lstio_grp_key = session_key, .lstio_grp_nmlen = strlen(name), @@ -1051,7 +1053,7 @@ jt_lst_del_group(int argc, char **argv) if (trans_stat.trs_rpc_errno != 0) { fprintf(stderr, "[RPC] Failed to send %d end session RPCs: %s\n", - lstcon_rpc_stat_failure(&trans_stat, 0), + lstcon_rpc_stat_failure(&trans_stat, 0), strerror(trans_stat.trs_rpc_errno)); } @@ -1118,7 +1120,7 @@ jt_lst_update_group(int argc, char **argv) /* Detect the end of the options. */ if (c == -1) break; - + switch (c) { case 'f': if (opc != 0) { @@ -1182,7 +1184,7 @@ jt_lst_update_group(int argc, char **argv) return -1; } - } + } rc = lst_update_group_ioctl(opc, grp, clean, count, ids, &head); @@ -1253,7 +1255,7 @@ lst_list_group_all(void) continue; } - if (errno == ENOENT) + if (errno == ENOENT) break; lst_print_error("group", "Failed to list group: %s\n", @@ -1309,7 +1311,7 @@ jt_lst_list_group(int argc, char **argv) if (c == -1) break; - + switch (c) { case 'a': verbose = active = 1; @@ -1445,7 +1447,7 @@ lst_stat_req_param_free(lst_stat_req_param_t *srp) { int i; - for (i = 0; i < 2; i++) + for (i = 0; i < 2; i++) lst_free_rpcent(&srp->srp_result[i]); if (srp->srp_ids != NULL) @@ -1552,7 +1554,7 @@ lst_lnet_stat_value(int bw, int send, int off) &lnet_stat_result.lnet_avg_sndrate; if (!send) - p += 4; + p += 4; p += off; @@ -1761,7 +1763,7 @@ lst_print_stat(char *name, struct list_head *resultp, if (!lnet) /* TODO */ continue; - + lst_cal_lnet_stat(delta, lnet_new, lnet_old); } @@ -1821,7 +1823,7 @@ jt_lst_stat(int argc, char **argv) if (c == -1) break; - + switch (c) { case 't': timeout = atoi(optarg); @@ -1888,7 +1890,7 @@ jt_lst_stat(int argc, char **argv) while (optind < argc) { rc = lst_stat_req_param_alloc(argv[optind++], &srp, 1); - if (rc != 0) + if (rc != 0) goto out; list_add_tail(&srp->srp_link, &head); @@ -1896,7 +1898,7 @@ jt_lst_stat(int argc, char **argv) while (1) { time_t now = time(NULL); - + if (now - last < delay) { sleep(delay - now + last); time(&now); @@ -1954,7 +1956,7 @@ jt_lst_show_error(int argc, char **argv) {"session", no_argument, 0, 's' }, {0, 0, 0, 0 } }; - + if (session_key == 0) { fprintf(stderr, "Can't find env LST_SESSION or value is not valid\n"); @@ -1966,7 +1968,7 @@ jt_lst_show_error(int argc, char **argv) if (c == -1) break; - + switch (c) { case 's': show_rpc = 0; @@ -1977,7 +1979,7 @@ jt_lst_show_error(int argc, char **argv) return -1; } } - + if (optind == argc) { lst_print_usage(argv[0]); return -1; @@ -1987,7 +1989,7 @@ jt_lst_show_error(int argc, char **argv) while (optind < argc) { rc = lst_stat_req_param_alloc(argv[optind++], &srp, 0); - if (rc != 0) + if (rc != 0) goto out; list_add_tail(&srp->srp_link, &head); @@ -2030,14 +2032,14 @@ jt_lst_show_error(int argc, char **argv) sfwk->brw_errors == 0 && sfwk->ping_errors == 0) continue; - if (!show_rpc && + if (!show_rpc && sfwk->brw_errors == 0 && sfwk->ping_errors == 0) continue; - + ecount ++; fprintf(stderr, "%s: [Session %d brw errors, %d ping errors]%c", - libcfs_id2str(ent->rpe_peer), + libcfs_id2str(ent->rpe_peer), sfwk->brw_errors, sfwk->ping_errors, show_rpc ? ' ' : '\n'); @@ -2047,7 +2049,7 @@ jt_lst_show_error(int argc, char **argv) fprintf(stderr, "[RPC: %d errors, %d dropped, %d expired]\n", srpc->errors, srpc->rpcs_dropped, srpc->rpcs_expired); } - + fprintf(stdout, "Total %d error nodes in %s\n", ecount, srp->srp_name); } out: @@ -2090,7 +2092,7 @@ jt_lst_add_batch(int argc, char **argv) return -1; } - name = argv[1]; + name = argv[1]; if (strlen(name) >= LST_NAME_SIZE) { fprintf(stderr, "Name length is limited to %d\n", LST_NAME_SIZE - 1); @@ -2151,7 +2153,7 @@ jt_lst_start_batch(int argc, char **argv) /* Detect the end of the options. */ if (c == -1) break; - + switch (c) { case 't': timeout = atoi(optarg); @@ -2161,7 +2163,7 @@ jt_lst_start_batch(int argc, char **argv) return -1; } } - + if (optind == argc) { batch = LST_DEFAULT_BATCH; @@ -2212,7 +2214,7 @@ jt_lst_start_batch(int argc, char **argv) int lst_stop_batch_ioctl(char *name, int force, struct list_head *resultp) -{ +{ lstio_batch_stop_args_t args = { .lstio_bat_key = session_key, .lstio_bat_force = force, @@ -2254,7 +2256,7 @@ jt_lst_stop_batch(int argc, char **argv) /* Detect the end of the options. */ if (c == -1) break; - + switch (c) { case 'f': force = 1; @@ -2377,7 +2379,7 @@ lst_list_batch_all(void) continue; } - if (errno == ENOENT) + if (errno == ENOENT) break; lst_print_error("batch", "Failed to list batch: %s\n", @@ -2400,7 +2402,7 @@ lst_list_tsb_nodes(char *batch, int test, int server, int c; int i; - if (count == 0) + if (count == 0) return 0; /* verbose list, show nodes in batch or test */ @@ -2425,7 +2427,7 @@ lst_list_tsb_nodes(char *batch, int test, int server, if ((!active && dents[i].nde_state == LST_NODE_ACTIVE) || (!invalid && (dents[i].nde_state == LST_NODE_BUSY || dents[i].nde_state == LST_NODE_DOWN || - dents[i].nde_state == LST_NODE_UNKNOWN))) + dents[i].nde_state == LST_NODE_UNKNOWN))) continue; fprintf(stdout, "\t%s: %s\n", @@ -2433,7 +2435,7 @@ lst_list_tsb_nodes(char *batch, int test, int server, lst_node_state2str(dents[i].nde_state)); c++; } - + fprintf(stdout, "Total %d nodes\n", c); free(dents); @@ -2477,7 +2479,7 @@ jt_lst_list_batch(int argc, char **argv) if (c == -1) break; - + switch (c) { case 'a': verbose = active = 1; @@ -2516,7 +2518,7 @@ jt_lst_list_batch(int argc, char **argv) lst_print_usage(argv[0]); return -1; } - + batch = argv[optind]; loop: @@ -2561,7 +2563,7 @@ loop: fprintf(stdout, LST_NODES_TITLE); fprintf(stdout, "client\t%d\t%d\t%d\t%d\t%d\n" "server\t%d\t%d\t%d\t%d\t%d\n", - ent.tbe_cli_nle.nle_nactive, + ent.tbe_cli_nle.nle_nactive, ent.tbe_cli_nle.nle_nbusy, ent.tbe_cli_nle.nle_ndown, ent.tbe_cli_nle.nle_nunknown, @@ -2669,7 +2671,7 @@ jt_lst_query_batch(int argc, char **argv) /* Detect the end of the options. */ if (c == -1) break; - + switch (c) { case 'o': timeout = atoi(optarg); @@ -2748,7 +2750,7 @@ jt_lst_query_batch(int argc, char **argv) for (i = 0; i < loop; i++) { time_t now = time(NULL); - + if (now - last < delay) { sleep(delay - now + last); time(&now); @@ -2802,7 +2804,7 @@ jt_lst_query_batch(int argc, char **argv) return rc; } - + int lst_parse_distribute(char *dstr, int *dist, int *span) { @@ -2811,7 +2813,7 @@ lst_parse_distribute(char *dstr, int *dist, int *span) return -1; dstr = strchr(dstr, ':'); - if (dstr == NULL) + if (dstr == NULL) return -1; *span = atoi(dstr + 1); @@ -2846,7 +2848,7 @@ lst_get_bulk_param(int argc, char **argv, lst_test_bulk_param_t *bulk) fprintf(stderr, "Unknow flag %s\n", tok); return -1; } - + } else if (strcasestr(argv[i], "size=") == argv[i] || strcasestr(argv[i], "s=") == argv[i]) { tok = strchr(argv[i], '=') + 1; @@ -2870,11 +2872,11 @@ lst_get_bulk_param(int argc, char **argv, lst_test_bulk_param_t *bulk) bulk->blk_size); return -1; } - + } else if (strcasecmp(argv[i], "read") == 0 || strcasecmp(argv[i], "r") == 0) { bulk->blk_opc = LST_BRW_READ; - + } else if (strcasecmp(argv[i], "write") == 0 || strcasecmp(argv[i], "w") == 0) { bulk->blk_opc = LST_BRW_WRITE; @@ -2928,7 +2930,7 @@ lst_get_test_param(char *test, int argc, char **argv, void **param, int *plen) default: break; } - + /* TODO: parse more parameter */ return type; } @@ -3007,7 +3009,7 @@ jt_lst_add_test(int argc, char **argv) /* Detect the end of the options. */ if (c == -1) break; - + switch (c) { case 'b': batch = optarg; @@ -3183,10 +3185,10 @@ main(int argc, char **argv) if (ptl_initialize(argc, argv) < 0) exit(0); - + Parser_init("lst > ", lst_cmdlist); - if (argc != 1) + if (argc != 1) return Parser_execarg(argc - 1, argv + 1, lst_cmdlist); Parser_commands(); -- 1.8.3.1