X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lnet%2Futils%2Flnetconfig%2Fliblnetconfig.c;h=29d286c1dff51e04c96876767997955a27fe460b;hp=f96db1b11c1c44bcf4427a35043465337a2d0986;hb=b4b00be8a93cf06f232d3edc613f03d06b112d32;hpb=0f753ead66cb0bd924ccb656f1a742a0db46038d;ds=sidebyside diff --git a/lnet/utils/lnetconfig/liblnetconfig.c b/lnet/utils/lnetconfig/liblnetconfig.c index f96db1b..29d286c 100644 --- a/lnet/utils/lnetconfig/liblnetconfig.c +++ b/lnet/utils/lnetconfig/liblnetconfig.c @@ -558,7 +558,7 @@ int lustre_lnet_show_net(char *nw, int detail, int seq_no, *item = NULL, *first_seq = NULL; int str_buf_len = LNET_MAX_SHOW_NUM_CPT * 2; char str_buf[str_buf_len]; - char *pos = str_buf; + char *pos; char err_str[LNET_MAX_STR_LEN]; snprintf(err_str, sizeof(err_str), "\"out of memory\""); @@ -589,6 +589,10 @@ int lustre_lnet_show_net(char *nw, int detail, int seq_no, goto out; for (i = 0;; i++) { + pos = str_buf; + + memset(buf, 0, sizeof(*data) + sizeof(*net_config)); + LIBCFS_IOC_INIT_V2(*data, cfg_hdr); /* * set the ioc_len to the proper value since INIT assumes @@ -621,7 +625,13 @@ int lustre_lnet_show_net(char *nw, int detail, int seq_no, first_seq = item; if (cYAML_create_string(item, - "nid", + "net", + libcfs_net2str( + LNET_NIDNET(data->cfg_nid))) + == NULL) + goto out; + + if (cYAML_create_string(item, "nid", libcfs_nid2str(data->cfg_nid)) == NULL) goto out; @@ -678,15 +688,29 @@ int lustre_lnet_show_net(char *nw, int detail, int seq_no, net_max_tx_credits) == NULL) goto out; + /* out put the CPTs in the format: "[x,x,x,...]" */ + pos += snprintf(pos, str_buf + str_buf_len - pos, "["); for (j = 0 ; data->cfg_ncpts > 1 && - j < data->cfg_ncpts; j++) { - pos += snprintf(str_buf, + j < data->cfg_ncpts; j++) { + pos += snprintf(pos, str_buf + str_buf_len - pos, - " %d", net_config->ni_cpts[j]); + "%d", net_config->ni_cpts[j]); + if ((j + 1) < data->cfg_ncpts) + pos += snprintf(pos, + str_buf + + str_buf_len - pos, + ","); } + if (str_buf + str_buf_len - pos <= 0) + pos += snprintf(str_buf + str_buf_len - 2, + 2, "]"); + else + pos += snprintf(pos, + str_buf + str_buf_len - pos, + "]"); if (data->cfg_ncpts > 1 && - cYAML_create_string(tunables, "CPTs", + cYAML_create_string(tunables, "CPT", str_buf) == NULL) goto out; } @@ -814,7 +838,7 @@ int lustre_lnet_show_routing(int seq_no, struct cYAML **show_rc, struct cYAML *root = NULL, *pools_node = NULL, *type_node = NULL, *item = NULL, *cpt = NULL, *first_seq = NULL; - int i; + int i, j; char err_str[LNET_MAX_STR_LEN]; char node_name[LNET_MAX_STR_LEN]; @@ -859,24 +883,24 @@ int lustre_lnet_show_routing(int seq_no, struct cYAML **show_rc, goto out; /* create the tree and print */ - for (i = 0; i < LNET_NRBPOOLS; i++) { - type_node = cYAML_create_object(cpt, pools[i]); + for (j = 0; j < LNET_NRBPOOLS; j++) { + type_node = cYAML_create_object(cpt, pools[j]); if (type_node == NULL) goto out; if (cYAML_create_number(type_node, "npages", - pool_cfg->pl_pools[i].pl_npages) + pool_cfg->pl_pools[j].pl_npages) == NULL) goto out; if (cYAML_create_number(type_node, "nbuffers", - pool_cfg->pl_pools[i]. + pool_cfg->pl_pools[j]. pl_nbuffers) == NULL) goto out; if (cYAML_create_number(type_node, "credits", - pool_cfg->pl_pools[i]. + pool_cfg->pl_pools[j]. pl_credits) == NULL) goto out; if (cYAML_create_number(type_node, "mincredits", - pool_cfg->pl_pools[i]. + pool_cfg->pl_pools[j]. pl_mincredits) == NULL) goto out; } @@ -1243,7 +1267,7 @@ static int handle_yaml_config_net(struct cYAML *tree, struct cYAML **show_rc, peer_buf_cr = cYAML_get_object_item(tunables, "peer_buffer_credits"); credits = cYAML_get_object_item(tunables, "credits"); - smp = cYAML_get_object_item(tunables, "SMP"); + smp = cYAML_get_object_item(tunables, "CPT"); } seq_no = cYAML_get_object_item(tree, "seq_no");