diff --git a/NEWS b/NEWS index d7a23d60145db2b16de8d070b6476510b929c837..f0984ff67c03d453525c2f97f47708dd91215797 100644 --- a/NEWS +++ b/NEWS @@ -22,6 +22,8 @@ documents those changes that are of interest to users and admins. -- BLUEGENE - fix for doing correct small block logic on user error. -- BLUEGENE - Added support in slurmd to create a fake libdb2.so if it doesn't exist so smap won't seg fault + -- BLUEGENE - "scontrol show job" reports "MaxProcs=None" and "Start=None" + if values are not specified at job submit time * Changes in SLURM 1.1.1 ======================== diff --git a/src/api/init_msg.c b/src/api/init_msg.c index 34db33c2d90ad4e1d7d04eb9c31dbaf9e01a2c67..fb1c2fd15775c73fbd56d22f9b42f59db6fa913e 100644 --- a/src/api/init_msg.c +++ b/src/api/init_msg.c @@ -79,6 +79,7 @@ void slurm_init_job_desc_msg(job_desc_msg_t * job_desc_msg) job_desc_msg->in = NULL; job_desc_msg->out = NULL; job_desc_msg->user_id = NO_VAL; + job_desc_msg->group_id = NO_VAL; job_desc_msg->work_dir = NULL; job_desc_msg->host = NULL; job_desc_msg->mail_type = 0; diff --git a/src/common/node_select.c b/src/common/node_select.c index e98a120d12af5945ccf2d132a159873d300375dc..b5a1e84e9f29074513695e4f21f7c94021016adf 100644 --- a/src/common/node_select.c +++ b/src/common/node_select.c @@ -865,7 +865,7 @@ extern char *select_g_sprint_jobinfo(select_jobinfo_t jobinfo, { uint16_t geometry[SYSTEM_DIMENSIONS]; int i; - char tmp_char[7]; + char max_procs_char[7], start_char[32]; if (buf == NULL) { error("select_g_sprint_jobinfo: buf is null"); @@ -897,29 +897,45 @@ extern char *select_g_sprint_jobinfo(select_jobinfo_t jobinfo, "CONNECT ROTATE MAX_PROCS GEOMETRY START BLOCK_ID"); break; case SELECT_PRINT_DATA: - convert_to_kilo(jobinfo->max_procs, tmp_char); + if (jobinfo->max_procs == NO_VAL) + sprintf(max_procs_char, "None"); + else + convert_to_kilo(jobinfo->max_procs, max_procs_char); + if (jobinfo->start[0] == (uint16_t) NO_VAL) + sprintf(start_char, "None"); + else { + snprintf(start_char, sizeof(start_char), + "%1ux%1ux%1u", jobinfo->start[0], + jobinfo->start[1], jobinfo->start[2]); + } snprintf(buf, size, - "%7.7s %6.6s %9s %1ux%1ux%1u %1ux%1ux%1u %-16s", + "%7.7s %6.6s %9s %1ux%1ux%1u %5s %-16s", _job_conn_type_string(jobinfo->conn_type), _job_rotate_string(jobinfo->rotate), - tmp_char, + max_procs_char, geometry[0], geometry[1], geometry[2], - jobinfo->start[0], jobinfo->start[1], - jobinfo->start[2], - jobinfo->bg_block_id); + start_char, jobinfo->bg_block_id); break; case SELECT_PRINT_MIXED: - convert_to_kilo(jobinfo->max_procs, tmp_char); + if (jobinfo->max_procs == NO_VAL) + sprintf(max_procs_char, "None"); + else + convert_to_kilo(jobinfo->max_procs, max_procs_char); + if (jobinfo->start[0] == (uint16_t) NO_VAL) + sprintf(start_char, "None"); + else { + snprintf(start_char, sizeof(start_char), + "%1ux%1ux%1u", jobinfo->start[0], + jobinfo->start[1], jobinfo->start[2]); + } snprintf(buf, size, "Connection=%s Rotate=%s MaxProcs=%s " - "Geometry=%ux%ux%u Start=%ux%ux%u Block_ID=%s", + "Geometry=%ux%ux%u Start=%s Block_ID=%s", _job_conn_type_string(jobinfo->conn_type), _job_rotate_string(jobinfo->rotate), - tmp_char, + max_procs_char, geometry[0], geometry[1], geometry[2], - jobinfo->start[0], jobinfo->start[1], - jobinfo->start[2], - jobinfo->bg_block_id); + start_char, jobinfo->bg_block_id); break; case SELECT_PRINT_BG_ID: return jobinfo->bg_block_id;