From a73d347a270005542fdca4d610416df69b4d1162 Mon Sep 17 00:00:00 2001 From: Danny Auble <da@llnl.gov> Date: Fri, 18 Jun 2010 20:27:50 +0000 Subject: [PATCH] make sure we use the correct bitmap --- src/slurmctld/job_mgr.c | 6 ++++-- src/slurmctld/node_mgr.c | 16 ++++++++++++---- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c index 300892958e9..e1edc12f41b 100644 --- a/src/slurmctld/job_mgr.c +++ b/src/slurmctld/job_mgr.c @@ -4575,7 +4575,8 @@ void pack_job(struct job_record *dump_job_ptr, uint16_t show_flags, Buf buffer, if (!IS_JOB_COMPLETING(dump_job_ptr)) packstr(dump_job_ptr->nodes, buffer); else { - nodelist = bitmap2node_name(dump_job_ptr->node_bitmap_cg); + nodelist = + bitmap2node_name(dump_job_ptr->node_bitmap_cg); packstr(nodelist, buffer); xfree(nodelist); } @@ -4677,7 +4678,8 @@ void pack_job(struct job_record *dump_job_ptr, uint16_t show_flags, Buf buffer, if (!IS_JOB_COMPLETING(dump_job_ptr)) packstr(dump_job_ptr->nodes, buffer); else { - nodelist = bitmap2node_name(dump_job_ptr->node_bitmap_cg); + nodelist = + bitmap2node_name(dump_job_ptr->node_bitmap_cg); packstr(nodelist, buffer); xfree(nodelist); } diff --git a/src/slurmctld/node_mgr.c b/src/slurmctld/node_mgr.c index 8bf455551d0..a87c1f66c22 100644 --- a/src/slurmctld/node_mgr.c +++ b/src/slurmctld/node_mgr.c @@ -1299,7 +1299,7 @@ static int _update_node_gres(char *node_names, char *gres) for (i=i_first; i<=i_last; i++) { node_ptr = node_record_table_ptr + i; (void) gres_plugin_node_reconfig(node_ptr->name, - node_ptr->config_ptr->gres, + node_ptr->config_ptr->gres, &node_ptr->gres, &node_ptr->gres_list, slurmctld_conf.fast_schedule); @@ -2404,12 +2404,20 @@ void make_node_idle(struct node_record *node_ptr, int inx = node_ptr - node_record_table_ptr; uint16_t node_flags; time_t now = time(NULL); + bitstr_t *node_bitmap = NULL; + + if (job_ptr) { /* Specific job completed */ + if(job_ptr->node_bitmap_cg) + node_bitmap = job_ptr->node_bitmap_cg; + else + node_bitmap = job_ptr->node_bitmap; + } xassert(node_ptr); - if (job_ptr && /* Specific job completed */ - (bit_test(job_ptr->node_bitmap_cg, inx))) { /* Not a replay */ + if (node_bitmap && (bit_test(node_bitmap, inx))) { + /* Not a replay */ last_job_update = now; - bit_clear(job_ptr->node_bitmap_cg, inx); + bit_clear(node_bitmap, inx); job_update_cpu_cnt(job_ptr, inx); -- GitLab