diff --git a/NEWS b/NEWS index 26c10d94a35ca2e48b3ab293dc9fe0b0bd41de06..f49d2a9230d3291017e6cf4e298d9220aeace3c4 100644 --- a/NEWS +++ b/NEWS @@ -46,6 +46,7 @@ documents those changes that are of interest to users and admins. -- handle error state in sinfo -- sview and "scontrol show config" now report as SLURM_VERSION the version of slurmctld rather than that of the command. + -- Change SuspendTime configuration parameter from 16-bits to 32-bits. * Changes in SLURM 2.1.0-pre4 ============================= diff --git a/slurm/slurm.h.in b/slurm/slurm.h.in index a654f1a829ae5919b7a27fba11541f9e08addeb6..eece71a9567d5c46c83568f7e599f7e4584735b6 100644 --- a/slurm/slurm.h.in +++ b/slurm/slurm.h.in @@ -1374,7 +1374,7 @@ typedef struct slurm_ctl_conf { char *suspend_exc_parts;/* partitions to not make power saving */ char *suspend_program; /* program to make nodes power saving */ uint16_t suspend_rate; /* nodes to make power saving, per minute */ - uint16_t suspend_time; /* node idle for this long before power save mode */ + uint32_t suspend_time; /* node idle for this long before power save mode */ uint16_t suspend_timeout;/* time required in order to perform a node * suspend operation */ char *switch_type; /* switch or interconnect type */ diff --git a/src/common/slurm_protocol_api.c b/src/common/slurm_protocol_api.c index 37cf5135264870c133970accc118a582c0881124..5b36ff0880942c2a2896a1a634b626995bde6fd5 100644 --- a/src/common/slurm_protocol_api.c +++ b/src/common/slurm_protocol_api.c @@ -248,9 +248,9 @@ uint16_t slurm_get_resume_timeout(void) /* slurm_get_suspend_time * RET SuspendTime value from slurm.conf */ -uint16_t slurm_get_suspend_time(void) +uint32_t slurm_get_suspend_time(void) { - uint16_t suspend_time = 0; + uint32_t suspend_time = 0; slurm_ctl_conf_t *conf; if(slurmdbd_conf) { diff --git a/src/common/slurm_protocol_api.h b/src/common/slurm_protocol_api.h index 69a8edab9824f7bfa2365392ca35e6573b092025..cc6e6bbaa788b4f65581197a3365c48a94bd5c0e 100644 --- a/src/common/slurm_protocol_api.h +++ b/src/common/slurm_protocol_api.h @@ -111,7 +111,7 @@ uint16_t slurm_get_resume_timeout(void); /* slurm_get_suspend_time * RET SuspendTime value from slurm.conf */ -uint16_t slurm_get_suspend_time(void); +uint32_t slurm_get_suspend_time(void); /* slurm_get_complete_wait * RET CompleteWait value from slurm.conf diff --git a/src/common/slurm_protocol_pack.c b/src/common/slurm_protocol_pack.c index 2295e288a0968051d2960b7e34416f958e4e8814..efa772a2130db2c7dd97ddec2aa65926f9645199 100644 --- a/src/common/slurm_protocol_pack.c +++ b/src/common/slurm_protocol_pack.c @@ -3060,7 +3060,7 @@ _pack_slurm_ctl_conf_msg(slurm_ctl_conf_info_msg_t * build_ptr, Buf buffer) packstr(build_ptr->suspend_exc_parts, buffer); packstr(build_ptr->suspend_program, buffer); pack16(build_ptr->suspend_rate, buffer); - pack16(build_ptr->suspend_time, buffer); + pack32(build_ptr->suspend_time, buffer); pack16(build_ptr->suspend_timeout, buffer); packstr(build_ptr->switch_type, buffer); @@ -3296,7 +3296,7 @@ _unpack_slurm_ctl_conf_msg(slurm_ctl_conf_info_msg_t ** safe_unpackstr_xmalloc(&build_ptr->suspend_program, &uint32_tmp, buffer); safe_unpack16(&build_ptr->suspend_rate, buffer); - safe_unpack16(&build_ptr->suspend_time, buffer); + safe_unpack32(&build_ptr->suspend_time, buffer); safe_unpack16(&build_ptr->suspend_timeout, buffer); safe_unpackstr_xmalloc(&build_ptr->switch_type, &uint32_tmp, buffer); diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c index fd1a4ae8a2e648edd80919a27f35e3be8241dbc9..f588f0a2dd456af52e2c1a70a4ed847cb07b66ed 100644 --- a/src/slurmctld/job_mgr.c +++ b/src/slurmctld/job_mgr.c @@ -5780,7 +5780,7 @@ static void _purge_missing_jobs(int node_inx, time_t now) uint16_t batch_start_timeout = slurm_get_batch_start_timeout(); uint16_t msg_timeout = slurm_get_msg_timeout(); uint16_t resume_timeout = slurm_get_resume_timeout(); - uint16_t suspend_time = slurm_get_suspend_time(); + uint32_t suspend_time = slurm_get_suspend_time(); time_t batch_startup_time, node_boot_time = (time_t) 0, startup_time; if (node_ptr->up_time) {