static void _layout_conf_ctl(GtkTreeStore *treestore, slurm_ctl_conf_info_msg_t *slurm_ctl_conf_ptr) { char temp_str[128]; int update = 0; GtkTreeIter iter; ListIterator itr = NULL; config_key_pair_t *key_pair; List ret_list = NULL; char *select_title = ""; if (cluster_flags & CLUSTER_FLAG_BGL) select_title = "Bluegene/L configuration"; else if (cluster_flags & CLUSTER_FLAG_BGP) select_title = "Bluegene/P configuration"; else if (cluster_flags & CLUSTER_FLAG_BGQ) select_title = "Bluegene/Q configuration"; if (!slurm_ctl_conf_ptr) return; slurm_make_time_str((time_t *)&slurm_ctl_conf_ptr->last_update, temp_str, sizeof(temp_str)); add_display_treestore_line_with_font( update, treestore, &iter, "Configuration data as of", temp_str, "bold"); ret_list = slurm_ctl_conf_2_key_pairs(slurm_ctl_conf_ptr); if (ret_list) { itr = list_iterator_create(ret_list); while ((key_pair = list_next(itr))) { add_display_treestore_line(update, treestore, &iter, key_pair->name, key_pair->value); } list_iterator_destroy(itr); list_destroy(ret_list); } if (!slurm_ctl_conf_ptr->select_conf_key_pairs) return; add_display_treestore_line(update, treestore, &iter, "", NULL); add_display_treestore_line_with_font(update, treestore, &iter, select_title, NULL, "bold"); itr = list_iterator_create( (List)slurm_ctl_conf_ptr->select_conf_key_pairs); while ((key_pair = list_next(itr))) { add_display_treestore_line(update, treestore, &iter, key_pair->name, key_pair->value); } list_iterator_destroy(itr); }
extern void create_daemon_popup(GtkAction *action, gpointer user_data) { GtkWidget *popup = gtk_dialog_new_with_buttons( "SLURM Daemons running", GTK_WINDOW(user_data), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_CLOSE, GTK_RESPONSE_OK, NULL); int update = 0; slurm_ctl_conf_info_msg_t *conf; char me[MAX_SLURM_NAME], *b, *c, *n; int actld = 0, ctld = 0, d = 0; GtkTreeStore *treestore = _local_create_treestore_2cols(popup, 300, 100); GtkTreeIter iter; g_signal_connect(G_OBJECT(popup), "delete_event", G_CALLBACK(_delete_popup), NULL); g_signal_connect(G_OBJECT(popup), "response", G_CALLBACK(_delete_popup), NULL); slurm_conf_init(NULL); conf = slurm_conf_lock(); gethostname_short(me, MAX_SLURM_NAME); if ((b = conf->backup_controller)) { if ((strcmp(b, me) == 0) || (strcasecmp(b, "localhost") == 0)) ctld = 1; } if ((c = conf->control_machine)) { actld = 1; if ((strcmp(c, me) == 0) || (strcasecmp(c, "localhost") == 0)) ctld = 1; } slurm_conf_unlock(); if ((n = slurm_conf_get_nodename(me))) { d = 1; xfree(n); } else if ((n = slurm_conf_get_aliased_nodename())) { d = 1; xfree(n); } else if ((n = slurm_conf_get_nodename("localhost"))) { d = 1; xfree(n); } if (actld && ctld) add_display_treestore_line(update, treestore, &iter, "Slurmctld", "1"); if (actld && d) add_display_treestore_line(update, treestore, &iter, "Slurmd", "1"); gtk_widget_show_all(popup); return; }
static void _layout_conf_dbd(GtkTreeStore *treestore) { ListIterator itr = NULL; GtkTreeIter iter; config_key_pair_t *key_pair; int update = 0; time_t now = time(NULL); char tmp_str[128], *user_name = NULL; List dbd_config_list = NULL; /* first load accounting parms from slurm.conf */ char *acct_storage_backup_host = slurm_get_accounting_storage_backup_host(); char *acct_storage_host = slurm_get_accounting_storage_host(); char *acct_storage_loc = slurm_get_accounting_storage_loc(); char *acct_storage_pass = slurm_get_accounting_storage_pass(); uint32_t acct_storage_port = slurm_get_accounting_storage_port(); char *acct_storage_type = slurm_get_accounting_storage_type(); char *acct_storage_user = slurm_get_accounting_storage_user(); char *auth_type = slurm_get_auth_type(); uint16_t msg_timeout = slurm_get_msg_timeout(); char *plugin_dir = slurm_get_plugin_dir(); uint16_t private_data = slurm_get_private_data(); uint32_t slurm_user_id = slurm_get_slurm_user_id(); uint16_t track_wckey = slurm_get_track_wckey(); slurm_make_time_str(&now, tmp_str, sizeof(tmp_str)); add_display_treestore_line_with_font( update, treestore, &iter, "SLURM Configuration data as of", tmp_str, "bold"); add_display_treestore_line(update, treestore, &iter, "AccountingStorageBackupHost", acct_storage_backup_host); add_display_treestore_line(update, treestore, &iter, "AccountingStorageHost", acct_storage_host); add_display_treestore_line(update, treestore, &iter, "AccountingStorageLoc", acct_storage_loc); add_display_treestore_line(update, treestore, &iter, "AccountingStoragePass", acct_storage_pass); sprintf(tmp_str, "%u", acct_storage_port); add_display_treestore_line(update, treestore, &iter, "AccountingStoragePort", tmp_str); add_display_treestore_line(update, treestore, &iter, "AccountingStorageType", acct_storage_type); add_display_treestore_line(update, treestore, &iter, "AccountingStorageUser", acct_storage_user); add_display_treestore_line(update, treestore, &iter, "AuthType", auth_type); sprintf(tmp_str, "%u sec", msg_timeout); add_display_treestore_line(update, treestore, &iter, "MessageTimeout", tmp_str); add_display_treestore_line(update, treestore, &iter, "PluginDir", plugin_dir); private_data_string(private_data, tmp_str, sizeof(tmp_str)); add_display_treestore_line(update, treestore, &iter, "PrivateData", tmp_str); user_name = uid_to_string(slurm_user_id); sprintf(tmp_str, "%s(%u)", user_name, slurm_user_id); xfree(user_name); add_display_treestore_line(update, treestore, &iter, "SlurmUserId", tmp_str); add_display_treestore_line(update, treestore, &iter, "SLURM_CONF", default_slurm_config_file); add_display_treestore_line(update, treestore, &iter, "SLURM_VERSION", SLURM_VERSION_STRING); sprintf(tmp_str, "%u", track_wckey); add_display_treestore_line(update, treestore, &iter, "TrackWCKey", tmp_str); xfree(acct_storage_backup_host); xfree(acct_storage_host); xfree(acct_storage_loc); xfree(acct_storage_pass); xfree(acct_storage_type); xfree(acct_storage_user); xfree(auth_type); xfree(plugin_dir); /* now load accounting parms from slurmdbd.conf */ /* second load slurmdbd.conf parms */ if (!(dbd_config_list = slurmdb_config_get(NULL))) return; add_display_treestore_line_with_font( update, treestore, &iter, "\nSlurmDBD Configuration:", NULL, "bold"); itr = list_iterator_create(dbd_config_list); while ((key_pair = list_next(itr))) { add_display_treestore_line(update, treestore, &iter, key_pair->name, key_pair->value); } list_iterator_destroy(itr); }
static void _layout_resv_record(GtkTreeView *treeview, sview_resv_info_t *sview_resv_info, int update) { GtkTreeIter iter; char time_buf[20], power_buf[20]; reserve_info_t *resv_ptr = sview_resv_info->resv_ptr; char *temp_char = NULL; GtkTreeStore *treestore = GTK_TREE_STORE(gtk_tree_view_get_model(treeview)); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_ACCOUNTS), resv_ptr->accounts); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_BURST_BUFFER), resv_ptr->burst_buffer); convert_num_unit((float)resv_ptr->core_cnt, time_buf, sizeof(time_buf), UNIT_NONE); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_CORE_CNT), time_buf); secs2time_str((uint32_t)difftime(resv_ptr->end_time, resv_ptr->start_time), time_buf, sizeof(time_buf)); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_DURATION), time_buf); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_FEATURES), resv_ptr->features); temp_char = reservation_flags_string(resv_ptr->flags); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_FLAGS), temp_char); xfree(temp_char); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_LICENSES), resv_ptr->licenses); /* NOTE: node_cnt in reservation info from slurmctld ONE number */ convert_num_unit((float)resv_ptr->node_cnt, time_buf, sizeof(time_buf), UNIT_NONE); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_NODE_CNT), time_buf); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_NODELIST), resv_ptr->node_list); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_PARTITION), resv_ptr->partition); slurm_make_time_str((time_t *)&resv_ptr->end_time, time_buf, sizeof(time_buf)); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_TIME_END), time_buf); slurm_make_time_str((time_t *)&resv_ptr->start_time, time_buf, sizeof(time_buf)); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_TIME_START), time_buf); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_TRES), resv_ptr->tres_str); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_USERS), resv_ptr->users); if ((resv_ptr->resv_watts == NO_VAL) || (resv_ptr->resv_watts == 0)) { snprintf(power_buf, sizeof(power_buf), "0"); } else if ((resv_ptr->resv_watts % 1000000) == 0) { snprintf(power_buf, sizeof(power_buf), "%uM", resv_ptr->resv_watts / 1000000); } else if ((resv_ptr->resv_watts % 1000) == 0) { snprintf(power_buf, sizeof(power_buf), "%uK", resv_ptr->resv_watts / 1000); } else { snprintf(power_buf, sizeof(power_buf), "%u", resv_ptr->resv_watts); } add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_WATTS), power_buf); }
static void _display_info_resv(List info_list, popup_info_t *popup_win) { specific_info_t *spec_info = popup_win->spec_info; char *name = (char *)spec_info->search_info->gchar_data; int found = 0; reserve_info_t *resv_ptr = NULL; GtkTreeView *treeview = NULL; ListIterator itr = NULL; sview_resv_info_t *sview_resv_info = NULL; int update = 0; int j = 0; if (!spec_info->search_info->gchar_data) { //info = xstrdup("No pointer given!"); goto finished; } need_refresh: if (!spec_info->display_widget) { treeview = create_treeview_2cols_attach_to_table( popup_win->table); spec_info->display_widget = gtk_widget_ref(GTK_WIDGET(treeview)); } else { treeview = GTK_TREE_VIEW(spec_info->display_widget); update = 1; } itr = list_iterator_create(info_list); while ((sview_resv_info = (sview_resv_info_t*) list_next(itr))) { resv_ptr = sview_resv_info->resv_ptr; if (!strcmp(resv_ptr->name, name)) { j=0; while (resv_ptr->node_inx[j] >= 0) { change_grid_color( popup_win->grid_button_list, resv_ptr->node_inx[j], resv_ptr->node_inx[j+1], sview_resv_info->color_inx, true, 0); j += 2; } _layout_resv_record(treeview, sview_resv_info, update); found = 1; break; } } list_iterator_destroy(itr); post_setup_popup_grid_list(popup_win); if (!found) { if (!popup_win->not_found) { char *temp = "RESERVATION DOESN'T EXSIST\n"; GtkTreeIter iter; GtkTreeModel *model = NULL; /* only time this will be run so no update */ model = gtk_tree_view_get_model(treeview); add_display_treestore_line(0, GTK_TREE_STORE(model), &iter, temp, ""); } popup_win->not_found = true; } else { if (popup_win->not_found) { popup_win->not_found = false; gtk_widget_destroy(spec_info->display_widget); goto need_refresh; } } gtk_widget_show(spec_info->display_widget); finished: return; }
static void _layout_front_end_record(GtkTreeView *treeview, sview_front_end_info_t * sview_front_end_info, int update) { GtkTreeIter iter; front_end_info_t *front_end_ptr = sview_front_end_info->front_end_ptr; GtkTreeStore *treestore = GTK_TREE_STORE(gtk_tree_view_get_model(treeview)); if (!treestore) return; add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_front_end, SORTID_NAME), front_end_ptr->name); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_front_end, SORTID_STATE), sview_front_end_info->state); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_front_end, SORTID_BOOT_TIME), sview_front_end_info->boot_time); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_front_end, SORTID_SLURMD_START_TIME), sview_front_end_info->slurmd_start_time); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_front_end, SORTID_REASON), sview_front_end_info->reason); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_front_end, SORTID_ALLOW_GROUPS), front_end_ptr->allow_groups); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_front_end, SORTID_ALLOW_USERS), front_end_ptr->allow_users); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_front_end, SORTID_DENY_GROUPS), front_end_ptr->deny_groups); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_front_end, SORTID_DENY_USERS), front_end_ptr->deny_users); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_front_end, SORTID_VERSION), front_end_ptr->version); }
/* Function creates the record menu when you double click on a record */ static void _layout_bb_record(GtkTreeView *treeview, sview_bb_info_t *sview_bb_info, int update) { GtkTreeIter iter; char time_buf[20], tmp_user_id[60], tmp_size[20]; char bb_name_id[32]; char *tmp_state, *tmp_user_name; burst_buffer_resv_t *bb_ptr = sview_bb_info->bb_ptr; GtkTreeStore *treestore; treestore = GTK_TREE_STORE(gtk_tree_view_get_model(treeview)); if (bb_ptr->name) { strncpy(bb_name_id, bb_ptr->name, sizeof(bb_name_id)); } else if (bb_ptr->array_task_id == NO_VAL) { convert_num_unit(bb_ptr->job_id, bb_name_id, sizeof(bb_name_id), UNIT_NONE, working_sview_config.convert_flags); } else { snprintf(bb_name_id, sizeof(bb_name_id), "%u_%u(%u)", bb_ptr->array_job_id, bb_ptr->array_task_id, bb_ptr->job_id); } add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_bb, SORTID_NAME), bb_name_id); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_bb, SORTID_PLUGIN), sview_bb_info->plugin); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_bb, SORTID_ACCOUNT), bb_ptr->account); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_bb, SORTID_PARTITION), bb_ptr->partition); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_bb, SORTID_POOL), bb_ptr->pool); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_bb, SORTID_QOS), bb_ptr->qos); tmp_state = bb_state_string(bb_ptr->state); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_bb, SORTID_STATE), tmp_state); _get_size_str(tmp_size, sizeof(tmp_size), bb_ptr->size); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_bb, SORTID_SIZE), tmp_size); if (bb_ptr->create_time) { slurm_make_time_str((time_t *)&bb_ptr->create_time, time_buf, sizeof(time_buf)); } else { time_t now = time(NULL); slurm_make_time_str(&now, time_buf, sizeof(time_buf)); } add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_bb, SORTID_CREATE_TIME), time_buf); tmp_user_name = uid_to_string(bb_ptr->user_id); snprintf(tmp_user_id, sizeof(tmp_user_id), "%s(%u)", tmp_user_name, bb_ptr->user_id); xfree(tmp_user_name); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_bb, SORTID_USERID), tmp_user_id); }
void _display_info_block(List block_list, popup_info_t *popup_win) { specific_info_t *spec_info = popup_win->spec_info; char *name = (char *)spec_info->search_info->gchar_data; int j = 0, found = 0; sview_block_info_t *block_ptr = NULL; int update = 0; GtkTreeView *treeview = NULL; ListIterator itr = NULL; if (!spec_info->search_info->gchar_data) goto finished; need_refresh: if (!spec_info->display_widget) { treeview = create_treeview_2cols_attach_to_table( popup_win->table); spec_info->display_widget = gtk_widget_ref(GTK_WIDGET(treeview)); } else { treeview = GTK_TREE_VIEW(spec_info->display_widget); update = 1; } itr = list_iterator_create(block_list); while ((block_ptr = (sview_block_info_t*) list_next(itr))) { if (!xstrcmp(block_ptr->bg_block_name, name) || !xstrcmp(block_ptr->mp_str, name)) { /* we want to over ride any subgrp in error state */ enum node_states state = NODE_STATE_UNKNOWN; if (block_ptr->state & BG_BLOCK_ERROR_FLAG) state = NODE_STATE_ERROR; else if (list_count(block_ptr->job_list)) state = NODE_STATE_ALLOCATED; else state = NODE_STATE_IDLE; j = 0; while (block_ptr->mp_inx[j] >= 0) { change_grid_color( popup_win->grid_button_list, block_ptr->mp_inx[j], block_ptr->mp_inx[j+1], block_ptr->color_inx, true, state); j += 2; } _layout_block_record(treeview, block_ptr, update); found = 1; break; } } list_iterator_destroy(itr); post_setup_popup_grid_list(popup_win); if (!found) { if (!popup_win->not_found) { char *temp = "BLOCK DOESN'T EXSIST\n"; GtkTreeIter iter; GtkTreeModel *model = NULL; /* only time this will be run so no update */ model = gtk_tree_view_get_model(treeview); add_display_treestore_line(0, GTK_TREE_STORE(model), &iter, temp, ""); } popup_win->not_found = true; } else { if (popup_win->not_found) { popup_win->not_found = false; gtk_widget_destroy(spec_info->display_widget); goto need_refresh; } } gtk_widget_show(spec_info->display_widget); finished: return; }
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); }
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); }