diff --git a/src/common/slurm_protocol_defs.h b/src/common/slurm_protocol_defs.h index fe4fccd6535995a2a07dce2611d8dbae0d8cd45f..74fdfb95f9f1cf612419ced4a10741f3ccefda83 100644 --- a/src/common/slurm_protocol_defs.h +++ b/src/common/slurm_protocol_defs.h @@ -355,7 +355,7 @@ typedef struct job_id_response_msg { * Slurm API Message Types \*****************************************************************************/ typedef struct slurm_node_registration_status_msg { - uint32_t timestamp; + time_t timestamp; char *node_name; uint32_t cpus; uint32_t real_memory_size; @@ -363,6 +363,7 @@ typedef struct slurm_node_registration_status_msg { uint32_t job_count; /* number of associate job_id's */ uint32_t *job_id; /* IDs of running job (if any) */ uint16_t *step_id; /* IDs of running job steps (if any) */ + uint32_t status; /* node status code, same as return codes */ } slurm_node_registration_status_msg_t; typedef struct slurm_ctl_conf slurm_ctl_conf_info_msg_t; diff --git a/src/common/slurm_protocol_pack.c b/src/common/slurm_protocol_pack.c index 35dc052d01289fd01f227ffcabff2a0a55d89a74..41576e1f40ef97661cb01110aab6fd614bea4980 100644 --- a/src/common/slurm_protocol_pack.c +++ b/src/common/slurm_protocol_pack.c @@ -764,7 +764,8 @@ _pack_node_registration_status_msg(slurm_node_registration_status_msg_t * int i; assert(msg != NULL); - pack32(msg->timestamp, buffer); + pack_time(msg->timestamp, buffer); + pack32(msg->status, buffer); packstr(msg->node_name, buffer); pack32(msg->cpus, buffer); pack32(msg->real_memory_size, buffer); @@ -792,8 +793,9 @@ _unpack_node_registration_status_msg(slurm_node_registration_status_msg_t *msg = node_reg_ptr; /* unpack timestamp of snapshot */ - safe_unpack32(&node_reg_ptr->timestamp, buffer); + safe_unpack_time(&node_reg_ptr->timestamp, buffer); /* load the data values */ + safe_unpack32(&node_reg_ptr->status, buffer); safe_unpackstr_xmalloc(&node_reg_ptr->node_name, &uint16_tmp, buffer); safe_unpack32(&node_reg_ptr->cpus, buffer); safe_unpack32(&node_reg_ptr->real_memory_size, buffer);