/* * _bg_report - download and print current bgblock state information */ static int _bg_report(block_info_msg_t *block_ptr) { int i; if (!block_ptr) { slurm_perror("No block_ptr given"); return SLURM_ERROR; } if (!params.no_header) printf("BG_BLOCK MIDPLANES STATE CONNECTION USE\n"); /* 1234567890123456 123456789012 12345678 1234567890 12345+ */ /* RMP_22Apr1544018 bg[123x456] READY TORUS COPROCESSOR */ for (i=0; i<block_ptr->record_count; i++) { char *conn_str = conn_type_string_full( block_ptr->block_array[i].conn_type); printf("%-16.16s %-15.15s %-8.8s %-10.10s %s\n", block_ptr->block_array[i].bg_block_id, block_ptr->block_array[i].mp_str, bg_block_state_string( block_ptr->block_array[i].state), conn_str, node_use_string( block_ptr->block_array[i].node_use)); xfree(conn_str); } return SLURM_SUCCESS; }
static void _update_block_record(sview_block_info_t *block_ptr, GtkTreeStore *treestore) { char cnode_cnt[20], cnode_cnt2[20]; char *tmp_char = NULL, *tmp_char2 = NULL, *tmp_char3 = NULL; convert_num_unit((float)block_ptr->cnode_cnt, cnode_cnt, sizeof(cnode_cnt), UNIT_NONE, NO_VAL, working_sview_config.convert_flags); if (cluster_flags & CLUSTER_FLAG_BGQ) { convert_num_unit((float)block_ptr->cnode_err_cnt, cnode_cnt2, sizeof(cnode_cnt), UNIT_NONE, NO_VAL, working_sview_config.convert_flags); tmp_char3 = xstrdup_printf("%s/%s", cnode_cnt, cnode_cnt2); } else tmp_char3 = cnode_cnt; tmp_char = conn_type_string_full(block_ptr->bg_conn_type); tmp_char2 = _set_running_job_str(block_ptr->job_list, 0); /* Combining these records provides a slight performance improvement */ gtk_tree_store_set(treestore, &block_ptr->iter_ptr, SORTID_BLOCK, block_ptr->bg_block_name, SORTID_COLOR, sview_colors[block_ptr->color_inx], SORTID_COLOR_INX, block_ptr->color_inx, SORTID_CONN, tmp_char, SORTID_IMAGEMLOADER, block_ptr->imagemloader, SORTID_JOB, tmp_char2, SORTID_NODE_INX, block_ptr->mp_inx, SORTID_NODE_CNT, tmp_char3, SORTID_NODELIST, block_ptr->mp_str, SORTID_PARTITION, block_ptr->slurm_part_name, SORTID_REASON, block_ptr->reason, SORTID_SMALL_BLOCK, block_ptr->small_block, SORTID_STATE, bg_block_state_string(block_ptr->state), SORTID_UPDATED, 1, -1); xfree(tmp_char); xfree(tmp_char2); if (cluster_flags & CLUSTER_FLAG_BGQ) xfree(tmp_char3); if (cluster_flags & CLUSTER_FLAG_BGP) { gtk_tree_store_set(treestore, &block_ptr->iter_ptr, SORTID_IMAGERAMDISK, block_ptr->imageramdisk, SORTID_IMAGELINUX, block_ptr->imagelinux, -1); } else if (cluster_flags & CLUSTER_FLAG_BGL) { gtk_tree_store_set(treestore, &block_ptr->iter_ptr, SORTID_IMAGERAMDISK, block_ptr->imageramdisk, SORTID_IMAGELINUX, block_ptr->imagelinux, SORTID_IMAGEBLRTS, block_ptr->imageblrts, SORTID_USE, node_use_string(block_ptr->bg_node_use), -1); } return; }
static void _update_block_record(sview_block_info_t *block_ptr, GtkTreeStore *treestore, GtkTreeIter *iter) { char job_running[20], cnode_cnt[20]; if (block_ptr->job_running > NO_JOB_RUNNING) snprintf(job_running, sizeof(job_running), "%d", block_ptr->job_running); else snprintf(job_running, sizeof(job_running), "-"); convert_num_unit((float)block_ptr->cnode_cnt, cnode_cnt, sizeof(cnode_cnt), UNIT_NONE); /* Combining these records provides a slight performance improvement */ gtk_tree_store_set(treestore, iter, SORTID_BLOCK, block_ptr->bg_block_name, SORTID_COLOR, sview_colors[block_ptr->color_inx], SORTID_COLOR_INX, block_ptr->color_inx, SORTID_CONN, conn_type_string(block_ptr->bg_conn_type), SORTID_IMAGERAMDISK, block_ptr->imageramdisk, SORTID_IMAGELINUX, block_ptr->imagelinux, SORTID_IMAGEMLOADER, block_ptr->imagemloader, SORTID_JOB, job_running, SORTID_NODE_INX, block_ptr->bp_inx, SORTID_MP_STR, cnode_cnt, SORTID_NODELIST, block_ptr->mp_str, SORTID_PARTITION, block_ptr->slurm_part_name, SORTID_SMALL_BLOCK, block_ptr->small_block, SORTID_STATE, bg_block_state_string(block_ptr->state), SORTID_USER, block_ptr->bg_user_name, SORTID_UPDATED, 1, -1); if (cluster_flags & CLUSTER_FLAG_BGL) { gtk_tree_store_set(treestore, iter, SORTID_IMAGEBLRTS, block_ptr->imageblrts, SORTID_USE, node_use_string(block_ptr->bg_node_use), -1); } return; }
extern void print_bg_record(bg_record_t* bg_record) { if (!bg_record) { error("print_bg_record, record given is null"); return; } #if _DEBUG info(" bg_record: "); if (bg_record->bg_block_id) info("\tbg_block_id: %s", bg_record->bg_block_id); info("\tnodes: %s", bg_record->mp_str); info("\tsize: %d MPs %u Nodes %d cpus", bg_record->mp_count, bg_record->cnode_cnt, bg_record->cpu_cnt); info("\tgeo: %ux%ux%u", bg_record->geo[X], bg_record->geo[Y], bg_record->geo[Z]); info("\tconn_type: %s", conn_type_string(bg_record->conn_type[0])); #ifdef HAVE_BGL info("\tnode_use: %s", node_use_string(bg_record->node_use)); #endif if (bg_record->mp_bitmap) { char bitstring[BITSIZE]; bit_fmt(bitstring, BITSIZE, bg_record->mp_bitmap); info("\tbitmap: %s", bitstring); } #else { char tmp_char[256]; format_node_name(bg_record, tmp_char, sizeof(tmp_char)); info("Record: BlockID:%s Nodes:%s Conn:%s", bg_record->bg_block_id, tmp_char, conn_type_string(bg_record->conn_type[0])); } #endif }
/* * slurm_sprint_block_info - output information about a specific Bluegene * block based upon message as loaded using slurm_load_block * IN block_ptr - an individual partition information record pointer * IN one_liner - print as a single line if true * RET out - char * containing formatted output (must be freed after call) * NULL is returned on failure. */ char *slurm_sprint_block_info( block_info_t * block_ptr, int one_liner) { int j; char tmp1[16], tmp2[16], *tmp_char = NULL; char *out = NULL; char *line_end = "\n "; uint32_t cluster_flags = slurmdb_setup_cluster_flags(); if (one_liner) line_end = " "; /****** Line 1 ******/ convert_num_unit((float)block_ptr->cnode_cnt, tmp1, sizeof(tmp1), UNIT_NONE, NO_VAL, CONVERT_NUM_UNIT_EXACT); if (cluster_flags & CLUSTER_FLAG_BGQ) { convert_num_unit((float)block_ptr->cnode_err_cnt, tmp2, sizeof(tmp2), UNIT_NONE, NO_VAL, CONVERT_NUM_UNIT_EXACT); tmp_char = xstrdup_printf("%s/%s", tmp1, tmp2); } else tmp_char = tmp1; out = xstrdup_printf("BlockName=%s TotalNodes=%s State=%s%s", block_ptr->bg_block_id, tmp_char, bg_block_state_string(block_ptr->state), line_end); if (cluster_flags & CLUSTER_FLAG_BGQ) xfree(tmp_char); /****** Line 2 ******/ j = 0; if (block_ptr->job_list) j = list_count(block_ptr->job_list); if (!j) xstrcat(out, "JobRunning=NONE "); else if (j == 1) { block_job_info_t *block_job = list_peek(block_ptr->job_list); xstrfmtcat(out, "JobRunning=%u ", block_job->job_id); } else xstrcat(out, "JobRunning=Multiple "); tmp_char = conn_type_string_full(block_ptr->conn_type); xstrfmtcat(out, "ConnType=%s", tmp_char); xfree(tmp_char); if (cluster_flags & CLUSTER_FLAG_BGL) xstrfmtcat(out, " NodeUse=%s", node_use_string(block_ptr->node_use)); xstrcat(out, line_end); /****** Line 3 ******/ if (block_ptr->ionode_str) xstrfmtcat(out, "MidPlanes=%s[%s] MPIndices=", block_ptr->mp_str, block_ptr->ionode_str); else xstrfmtcat(out, "MidPlanes=%s MPIndices=", block_ptr->mp_str); for (j = 0; (block_ptr->mp_inx && (block_ptr->mp_inx[j] != -1)); j+=2) { if (j > 0) xstrcat(out, ","); xstrfmtcat(out, "%d-%d", block_ptr->mp_inx[j], block_ptr->mp_inx[j+1]); } xstrcat(out, line_end); /****** Line 4 ******/ xstrfmtcat(out, "MloaderImage=%s%s", block_ptr->mloaderimage, line_end); if (cluster_flags & CLUSTER_FLAG_BGL) { /****** Line 5 ******/ xstrfmtcat(out, "BlrtsImage=%s%s", block_ptr->blrtsimage, line_end); /****** Line 6 ******/ xstrfmtcat(out, "LinuxImage=%s%s", block_ptr->linuximage, line_end); /****** Line 7 ******/ xstrfmtcat(out, "RamdiskImage=%s", block_ptr->ramdiskimage); } else if (cluster_flags & CLUSTER_FLAG_BGP) { /****** Line 5 ******/ xstrfmtcat(out, "CnloadImage=%s%s", block_ptr->linuximage, line_end); /****** Line 6 ******/ xstrfmtcat(out, "IoloadImage=%s", block_ptr->ramdiskimage); } if (block_ptr->reason) xstrfmtcat(out, "Reason=%s%s", block_ptr->reason, line_end); if (one_liner) xstrcat(out, "\n"); else xstrcat(out, "\n\n"); return out; }
static int _print_text_part(partition_info_t *part_ptr, db2_block_info_t *db2_info_ptr) { int printed = 0; int tempxcord; int prefixlen; int i = 0; int width = 0; char *nodes = NULL, time_buf[20], *conn_str = NULL; char tmp_cnt[8]; char tmp_char[8]; if (params.cluster_flags & CLUSTER_FLAG_BG) convert_num_unit((float)part_ptr->total_nodes, tmp_cnt, sizeof(tmp_cnt), UNIT_NONE); else snprintf(tmp_cnt, sizeof(tmp_cnt), "%u", part_ptr->total_nodes); if (!params.commandline) { mvwprintw(text_win, main_ycord, main_xcord, "%c", part_ptr->flags); main_xcord += 4; if (part_ptr->name) { mvwprintw(text_win, main_ycord, main_xcord, "%.9s", part_ptr->name); main_xcord += 10; if (params.display != BGPART) { char *tmp_state; if (part_ptr->state_up == PARTITION_INACTIVE) tmp_state = "inact"; else if (part_ptr->state_up == PARTITION_UP) tmp_state = "up"; else if (part_ptr->state_up == PARTITION_DOWN) tmp_state = "down"; else if (part_ptr->state_up == PARTITION_DRAIN) tmp_state = "drain"; else tmp_state = "unk"; mvwprintw(text_win, main_ycord, main_xcord, tmp_state); main_xcord += 7; if (part_ptr->max_time == INFINITE) snprintf(time_buf, sizeof(time_buf), "infinite"); else { secs2time_str((part_ptr->max_time * 60), time_buf, sizeof(time_buf)); } width = strlen(time_buf); mvwprintw(text_win, main_ycord, main_xcord + (9 - width), "%s", time_buf); main_xcord += 11; } } else main_xcord += 10; if (params.display == BGPART) { if (db2_info_ptr) { char *job_running = _set_running_job_str( db2_info_ptr->job_list, 1); mvwprintw(text_win, main_ycord, main_xcord, "%.16s", db2_info_ptr->bg_block_name); main_xcord += 18; mvwprintw(text_win, main_ycord, main_xcord, "%.7s", bg_block_state_string( db2_info_ptr->state)); main_xcord += 8; snprintf(tmp_char, sizeof(tmp_char), "%s", job_running); xfree(job_running); mvwprintw(text_win, main_ycord, main_xcord, "%.8s", tmp_char); main_xcord += 8; conn_str = conn_type_string_full( db2_info_ptr->bg_conn_type); mvwprintw(text_win, main_ycord, main_xcord, "%.7s", conn_str); xfree(conn_str); main_xcord += 8; if (params.cluster_flags & CLUSTER_FLAG_BGL) { mvwprintw(text_win, main_ycord, main_xcord, "%.9s", node_use_string( db2_info_ptr-> bg_node_use)); main_xcord += 10; } } else { mvwprintw(text_win, main_ycord, main_xcord, "?"); main_xcord += 18; mvwprintw(text_win, main_ycord, main_xcord, "?"); main_xcord += 8; mvwprintw(text_win, main_ycord, main_xcord, "?"); main_xcord += 8; mvwprintw(text_win, main_ycord, main_xcord, "?"); main_xcord += 9; mvwprintw(text_win, main_ycord, main_xcord, "?"); main_xcord += 7; mvwprintw(text_win, main_ycord, main_xcord, "?"); main_xcord += 10; } } mvwprintw(text_win, main_ycord, main_xcord, "%5s", tmp_cnt); main_xcord += 7; tempxcord = main_xcord; if (params.display == BGPART) nodes = part_ptr->allow_groups; else nodes = part_ptr->nodes; i = 0; prefixlen = i; while (nodes && nodes[i]) { width = getmaxx(text_win) - 1 - main_xcord; if (!prefixlen && (nodes[i] == '[') && (nodes[i - 1] == ',')) prefixlen = i + 1; if (nodes[i - 1] == ',' && (width - 12) <= 0) { main_ycord++; main_xcord = tempxcord + prefixlen; } else if (main_xcord >= getmaxx(text_win)) { main_ycord++; main_xcord = tempxcord + prefixlen; } if ((printed = mvwaddch(text_win, main_ycord, main_xcord, nodes[i])) < 0) return printed; main_xcord++; i++; } if ((params.display == BGPART) && db2_info_ptr && (db2_info_ptr->ionode_str)) { mvwprintw(text_win, main_ycord, main_xcord, "[%s]", db2_info_ptr->ionode_str); } main_xcord = 1; main_ycord++; } else { if (part_ptr->name) { printf("%9.9s ", part_ptr->name); if (params.display != BGPART) { if (part_ptr->state_up == PARTITION_INACTIVE) printf(" inact "); else if (part_ptr->state_up == PARTITION_UP) printf(" up "); else if (part_ptr->state_up == PARTITION_DOWN) printf(" down "); else if (part_ptr->state_up == PARTITION_DRAIN) printf(" drain "); else printf(" unk "); if (part_ptr->max_time == INFINITE) snprintf(time_buf, sizeof(time_buf), "infinite"); else { secs2time_str((part_ptr->max_time * 60), time_buf, sizeof(time_buf)); } printf("%9.9s ", time_buf); } } if (params.display == BGPART) { if (db2_info_ptr) { char *job_running = _set_running_job_str( db2_info_ptr->job_list, 1); printf("%16.16s ", db2_info_ptr->bg_block_name); printf("%-7.7s ", bg_block_state_string( db2_info_ptr->state)); printf("%8.8s ", job_running); xfree(job_running); conn_str = conn_type_string_full( db2_info_ptr->bg_conn_type); printf("%8.8s ", conn_str); xfree(conn_str); if (params.cluster_flags & CLUSTER_FLAG_BGL) printf("%9.9s ", node_use_string( db2_info_ptr-> bg_node_use)); } } printf("%5s ", tmp_cnt); if (params.display == BGPART) nodes = part_ptr->allow_groups; else nodes = part_ptr->nodes; if ((params.display == BGPART) && db2_info_ptr && (db2_info_ptr->ionode_str)) { printf("%s[%s]\n", nodes, db2_info_ptr->ionode_str); } else printf("%s\n",nodes); } return printed; }
static void _layout_block_record(GtkTreeView *treeview, sview_block_info_t *block_ptr, int update) { char tmp_cnt[18], tmp_cnt2[18]; char *tmp_char = NULL; GtkTreeIter iter; GtkTreeStore *treestore = GTK_TREE_STORE(gtk_tree_view_get_model(treeview)); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_NODELIST), block_ptr->mp_str); tmp_char = conn_type_string_full(block_ptr->bg_conn_type); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_CONN), tmp_char); xfree(tmp_char); if (cluster_flags & CLUSTER_FLAG_BGQ) { add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGEMLOADER), block_ptr->imagemloader); } else if (cluster_flags & CLUSTER_FLAG_BGP) { add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGELINUX), block_ptr->imagelinux); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGERAMDISK), block_ptr->imageramdisk); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGEMLOADER), block_ptr->imagemloader); } else if (cluster_flags & CLUSTER_FLAG_BGL) { add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGEBLRTS), block_ptr->imageblrts); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGELINUX), block_ptr->imagelinux); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGEMLOADER), block_ptr->imagemloader); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGERAMDISK), block_ptr->imageramdisk); } tmp_char = _set_running_job_str(block_ptr->job_list, 0); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_JOB), tmp_char); xfree(tmp_char); if (cluster_flags & CLUSTER_FLAG_BGL) { add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_USE), node_use_string( block_ptr->bg_node_use)); } convert_num_unit((float)block_ptr->cnode_cnt, tmp_cnt, sizeof(tmp_cnt), UNIT_NONE, NO_VAL, working_sview_config.convert_flags); if (cluster_flags & CLUSTER_FLAG_BGQ) { convert_num_unit((float)block_ptr->cnode_err_cnt, tmp_cnt2, sizeof(tmp_cnt2), UNIT_NONE, NO_VAL, working_sview_config.convert_flags); tmp_char = xstrdup_printf("%s/%s", tmp_cnt, tmp_cnt2); } else tmp_char = tmp_cnt; add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_NODE_CNT), tmp_char); if (cluster_flags & CLUSTER_FLAG_BGQ) xfree(tmp_char); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_PARTITION), block_ptr->slurm_part_name); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_STATE), bg_block_state_string(block_ptr->state)); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_REASON), block_ptr->reason); }
/* * slurm_sprint_block_info - output information about a specific Bluegene * block based upon message as loaded using slurm_load_block * IN block_ptr - an individual partition information record pointer * IN one_liner - print as a single line if true * RET out - char * containing formatted output (must be freed after call) * NULL is returned on failure. */ char *slurm_sprint_block_info( block_info_t * block_ptr, int one_liner) { int j; char tmp1[16], *tmp_char = NULL; char *out = NULL; char *line_end = "\n "; uint32_t cluster_flags = slurmdb_setup_cluster_flags(); if (one_liner) line_end = " "; /****** Line 1 ******/ convert_num_unit((float)block_ptr->cnode_cnt, tmp1, sizeof(tmp1), UNIT_NONE); out = xstrdup_printf("BlockName=%s TotalNodes=%s State=%s%s", block_ptr->bg_block_id, tmp1, bg_block_state_string(block_ptr->state), line_end); /****** Line 2 ******/ if (block_ptr->job_running > NO_JOB_RUNNING) xstrfmtcat(out, "JobRunning=%u ", block_ptr->job_running); else xstrcat(out, "JobRunning=NONE "); tmp_char = conn_type_string_full(block_ptr->conn_type); xstrfmtcat(out, "User=%s ConnType=%s", block_ptr->owner_name, tmp_char); xfree(tmp_char); if(cluster_flags & CLUSTER_FLAG_BGL) xstrfmtcat(out, " NodeUse=%s", node_use_string(block_ptr->node_use)); xstrcat(out, line_end); /****** Line 3 ******/ if(block_ptr->ionode_str) xstrfmtcat(out, "MidPlanes=%s[%s] MPIndices=", block_ptr->mp_str, block_ptr->ionode_str); else xstrfmtcat(out, "MidPlanes=%s MPIndices=", block_ptr->mp_str); for (j = 0; (block_ptr->mp_inx && (block_ptr->mp_inx[j] != -1)); j+=2) { if (j > 0) xstrcat(out, ","); xstrfmtcat(out, "%d-%d", block_ptr->mp_inx[j], block_ptr->mp_inx[j+1]); } xstrcat(out, line_end); /****** Line 4 ******/ xstrfmtcat(out, "MloaderImage=%s%s", block_ptr->mloaderimage, line_end); if (cluster_flags & CLUSTER_FLAG_BGL) { /****** Line 5 ******/ xstrfmtcat(out, "BlrtsImage=%s%s", block_ptr->blrtsimage, line_end); /****** Line 6 ******/ xstrfmtcat(out, "LinuxImage=%s%s", block_ptr->linuximage, line_end); /****** Line 7 ******/ xstrfmtcat(out, "RamdiskImage=%s", block_ptr->ramdiskimage); } else if (cluster_flags & CLUSTER_FLAG_BGP) { /****** Line 5 ******/ xstrfmtcat(out, "CnloadImage=%s%s", block_ptr->linuximage, line_end); /****** Line 6 ******/ xstrfmtcat(out, "IoloadImage=%s", block_ptr->ramdiskimage); } if (one_liner) xstrcat(out, "\n"); else xstrcat(out, "\n\n"); return out; }
static void _layout_block_record(GtkTreeView *treeview, sview_block_info_t *block_ptr, int update) { char tmp_cnt[18]; GtkTreeIter iter; GtkTreeStore *treestore = GTK_TREE_STORE(gtk_tree_view_get_model(treeview)); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_NODELIST), block_ptr->mp_str); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_CONN), conn_type_string( block_ptr->bg_conn_type)); if (cluster_flags & CLUSTER_FLAG_BGL) { add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGEBLRTS), block_ptr->imageblrts); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGELINUX), block_ptr->imagelinux); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGEMLOADER), block_ptr->imagemloader); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGERAMDISK), block_ptr->imageramdisk); } else { add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGELINUX), block_ptr->imagelinux); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGERAMDISK), block_ptr->imageramdisk); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGEMLOADER), block_ptr->imagemloader); } if (block_ptr->job_running > NO_JOB_RUNNING) snprintf(tmp_cnt, sizeof(tmp_cnt), "%d", block_ptr->job_running); else snprintf(tmp_cnt, sizeof(tmp_cnt), "-"); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_JOB), tmp_cnt); if (cluster_flags & CLUSTER_FLAG_BGL) { add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_USE), node_use_string( block_ptr->bg_node_use)); } convert_num_unit((float)block_ptr->cnode_cnt, tmp_cnt, sizeof(tmp_cnt), UNIT_NONE); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_MP_STR), tmp_cnt); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_PARTITION), block_ptr->slurm_part_name); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_STATE), bg_block_state_string(block_ptr->state)); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_USER), block_ptr->bg_user_name); }