diff --git a/src/api/config_info.c b/src/api/config_info.c index 63d2cb87c07a16066ea60a7a451ad836321653dc..20211de7dccd5a168a777a3311750e35ff8bae77 100644 --- a/src/api/config_info.c +++ b/src/api/config_info.c @@ -1,5 +1,5 @@ /* - * build_info.c - get the build information of slurm + * slurm_ctl_conf.c - get the build information of slurm * see slurm.h for documentation on external functions and data structures * * author: moe jette, jette@llnl.gov @@ -13,32 +13,32 @@ #include <stdio.h> #include <src/common/slurm_protocol_api.h> -void slurm_print_build_info ( FILE* out, build_info_msg_t * build_table_ptr ) +void slurm_print_ctl_conf ( FILE* out, slurm_ctl_conf_info_msg_t * slurm_ctl_conf_ptr ) { - if ( build_table_ptr == NULL ) + if ( slurm_ctl_conf_ptr == NULL ) return ; - fprintf(out, "Build updated at %lx\n", (time_t)build_table_ptr->last_update); - fprintf(out, "BACKUP_INTERVAL = %u\n", build_table_ptr->backup_interval); - fprintf(out, "BACKUP_LOCATION = %s\n", build_table_ptr->backup_location); - fprintf(out, "BACKUP_MACHINE = %s\n", build_table_ptr->backup_machine); - fprintf(out, "CONTROL_DAEMON = %s\n", build_table_ptr->control_daemon); - fprintf(out, "CONTROL_MACHINE = %s\n", build_table_ptr->control_machine); - fprintf(out, "EPILOG = %s\n", build_table_ptr->epilog); - fprintf(out, "FAST_SCHEDULE = %u\n", build_table_ptr->fast_schedule); - fprintf(out, "HASH_BASE = %u\n", build_table_ptr->hash_base); - fprintf(out, "HEARTBEAT_INTERVAL = %u\n", build_table_ptr->heartbeat_interval); - fprintf(out, "INIT_PROGRAM = %s\n", build_table_ptr->init_program); - fprintf(out, "KILL_WAIT = %u\n", build_table_ptr->kill_wait); - fprintf(out, "PRIORITIZE = %s\n", build_table_ptr->prioritize); - fprintf(out, "PROLOG = %s\n", build_table_ptr->prolog); - fprintf(out, "SERVER_DAEMON = %s\n", build_table_ptr->server_daemon); - fprintf(out, "SERVER_TIMEOUT = %u\n", build_table_ptr->server_timeout); - fprintf(out, "SLURM_CONF = %s\n", build_table_ptr->slurm_conf); - fprintf(out, "TMP_FS = %s\n", build_table_ptr->tmp_fs); + fprintf(out, "Build updated at %lx\n", (time_t)slurm_ctl_conf_ptr->last_update); + fprintf(out, "BACKUP_INTERVAL = %u\n", slurm_ctl_conf_ptr->backup_interval); + fprintf(out, "BACKUP_LOCATION = %s\n", slurm_ctl_conf_ptr->backup_location); + fprintf(out, "BACKUP_MACHINE = %s\n", slurm_ctl_conf_ptr->backup_machine); + fprintf(out, "CONTROL_DAEMON = %s\n", slurm_ctl_conf_ptr->control_daemon); + fprintf(out, "CONTROL_MACHINE = %s\n", slurm_ctl_conf_ptr->control_machine); + fprintf(out, "EPILOG = %s\n", slurm_ctl_conf_ptr->epilog); + fprintf(out, "FAST_SCHEDULE = %u\n", slurm_ctl_conf_ptr->fast_schedule); + fprintf(out, "HASH_BASE = %u\n", slurm_ctl_conf_ptr->hash_base); + fprintf(out, "HEARTBEAT_INTERVAL = %u\n", slurm_ctl_conf_ptr->heartbeat_interval); + fprintf(out, "INIT_PROGRAM = %s\n", slurm_ctl_conf_ptr->init_program); + fprintf(out, "KILL_WAIT = %u\n", slurm_ctl_conf_ptr->kill_wait); + fprintf(out, "PRIORITIZE = %s\n", slurm_ctl_conf_ptr->prioritize); + fprintf(out, "PROLOG = %s\n", slurm_ctl_conf_ptr->prolog); + fprintf(out, "SERVER_DAEMON = %s\n", slurm_ctl_conf_ptr->server_daemon); + fprintf(out, "SERVER_TIMEOUT = %u\n", slurm_ctl_conf_ptr->server_timeout); + fprintf(out, "SLURM_CONF = %s\n", slurm_ctl_conf_ptr->slurm_conf); + fprintf(out, "TMP_FS = %s\n", slurm_ctl_conf_ptr->tmp_fs); } int -slurm_load_build (time_t update_time, struct build_table **build_table_ptr ) +slurm_load_ctl_conf (time_t update_time, slurm_ctl_conf_t **slurm_ctl_conf_ptr ) { int msg_size ; int rc ; @@ -56,7 +56,7 @@ slurm_load_build (time_t update_time, struct build_table **build_table_ptr ) last_time_msg . last_update = update_time ; request_msg . msg_type = REQUEST_BUILD_INFO ; request_msg . data = &last_time_msg ; - + if ( ( rc = slurm_send_controller_msg ( sockfd , & request_msg ) ) == SLURM_SOCKET_ERROR ) return SLURM_SOCKET_ERROR ; @@ -72,7 +72,7 @@ slurm_load_build (time_t update_time, struct build_table **build_table_ptr ) switch ( response_msg . msg_type ) { case RESPONSE_BUILD_INFO: - *build_table_ptr = ( build_info_msg_t * ) response_msg . data ; + *slurm_ctl_conf_ptr = ( slurm_ctl_conf_info_msg_t * ) response_msg . data ; return SLURM_SUCCESS ; break ; case RESPONSE_SLURM_RC: diff --git a/src/api/slurm.h b/src/api/slurm.h index f92fd5eb9077ce70aaafed2f90b892b87a25d288..4c5e364f8c78a9c0ce4294d471a8b94f4dcce521 100644 --- a/src/api/slurm.h +++ b/src/api/slurm.h @@ -87,19 +87,19 @@ extern int slurm_cancel_job (uint32_t job_id); /*************************** - * build_info.c + * slurm_ctl_conf.c ***************************/ /* - * slurm_free_build_info - free the build information buffer (if allocated) - * NOTE: buffer is loaded by slurm_load_build. + * slurm_free_slurm_ctl_conf - free the build information buffer (if allocated) + * NOTE: buffer is loaded by slurm_load_ctl_conf. */ -extern void slurm_free_build_info (struct build_table *build_table_ptr); +extern void slurm_free_ctl_conf ( slurm_ctl_conf_t* slurm_ctl_conf_ptr); /* - * slurm_print_build_info - prints the build information buffer (if allocated) - * NOTE: buffer is loaded by slurm_load_build. + * slurm_print_slurm_ctl_conf - prints the build information buffer (if allocated) + * NOTE: buffer is loaded by slurm_load_slurm_ctl_conf. */ -extern void slurm_print_build_info ( FILE * out, struct build_table * build_table_ptr ) ; +extern void slurm_print_ctl_conf ( FILE * out, slurm_ctl_conf_t* slurm_ctl_conf ) ; /* * slurm_free_job_info - free the job information buffer (if allocated) @@ -140,7 +140,7 @@ extern void slurm_print_partition_info ( FILE*, partition_info_msg_t * part_info extern void slurm_print_partition_table ( FILE*, partition_table_t * part_ptr ) ; /* - * slurm_load_build - load the slurm build information buffer for use by info + * slurm_load_ctl_conf - load the slurm build information buffer for use by info * gathering APIs if build info has changed since the time specified. * input: update_time - time of last update * build_buffer_ptr - place to park build_buffer pointer @@ -151,8 +151,8 @@ extern void slurm_print_partition_table ( FILE*, partition_table_t * part_ptr ) * ENOMEM if malloc failure * NOTE: the allocated memory at build_buffer_ptr freed by slurm_free_node_info. */ -extern int slurm_load_build (time_t update_time, - struct build_table **build_table_ptr); +extern int slurm_load_ctl_conf (time_t update_time, + slurm_ctl_conf_t **slurm_ctl_conf_ptr); /* slurm_load_job - load the supplied job information buffer if changed */ diff --git a/src/common/slurm_protocol_defs.c b/src/common/slurm_protocol_defs.c index 53a4e80a2b5c3a2cfb494ed49e006a78a92c4679..61fd78d05047af6ca8f032811a50e72bef3dc5ec 100644 --- a/src/common/slurm_protocol_defs.c +++ b/src/common/slurm_protocol_defs.c @@ -1,6 +1,6 @@ #include <src/common/slurm_protocol_defs.h> +#include <src/common/xmalloc.h> #include <stdlib.h> -#include <src/slurmctld/slurmctld.h> /* short messages*/ void slurm_free_last_update_msg ( last_update_msg_t * msg ) { @@ -20,7 +20,7 @@ void slurm_free_return_code_msg ( return_code_msg_t * msg ) -void slurm_free_build_info ( build_info_msg_t * build_ptr ) +void slurm_free_slurm_ctl_conf ( slurm_ctl_conf_info_msg_t * build_ptr ) { if ( build_ptr ) { diff --git a/src/common/slurm_protocol_defs.h b/src/common/slurm_protocol_defs.h index 1f5c32542e74dc21f6a2350e145538e492672244..0910a457047ccd791dbf6a96355eb3205626c0c8 100644 --- a/src/common/slurm_protocol_defs.h +++ b/src/common/slurm_protocol_defs.h @@ -17,6 +17,7 @@ /* true, false */ #define true -1 #define false 0 +#define NO_VAL 0x7f7f7f7f #include <src/common/slurm_protocol_common.h> @@ -170,7 +171,7 @@ typedef struct job_desc_msg { /* Job descriptor for submit, allocate, and upd * to UID by API, can only be set if user is root */ } job_desc_msg_t ; -struct build_table { +struct slurm_ctl_conf { uint32_t last_update; /* last update time of the build parameters*/ uint16_t backup_interval;/* slurmctld save state interval, seconds */ char *backup_location; /* pathname of state save directory */ @@ -192,8 +193,9 @@ struct build_table { uint16_t server_timeout;/* how long slurmctld waits for setting node DOWN */ char *slurm_conf; /* pathname of slurm config file */ char *tmp_fs; /* pathname of temporary file system */ -}; -typedef struct build_table build_info_msg_t ; +} ; +typedef struct slurm_ctl_conf slurm_ctl_conf_t ; +typedef struct slurm_ctl_conf slurm_ctl_conf_info_msg_t ; struct job_table { uint32_t job_id; /* job ID */ @@ -281,7 +283,7 @@ void inline slurm_free_last_update_msg ( last_update_msg_t * msg ) ; void inline slurm_free_return_code_msg ( return_code_msg_t * msg ) ; void inline slurm_free_job_id_msg ( job_id_msg_t * msg ) ; -void inline slurm_free_build_info ( build_info_msg_t * build_ptr ) ; +void inline slurm_free_slurm_ctl_conf ( slurm_ctl_conf_info_msg_t * build_ptr ) ; void inline slurm_free_job_desc_msg ( job_desc_msg_t * msg ) ; void inline slurm_free_node_registration_status_msg ( slurm_node_registration_status_msg_t * msg ) ; diff --git a/src/common/slurm_protocol_pack.c b/src/common/slurm_protocol_pack.c index 4647cb1b8847b4bf989a2116e90870fbe7123ba9..1a3f55dffa8e2fa7a982a5f5f7df7371a0ceb9a9 100644 --- a/src/common/slurm_protocol_pack.c +++ b/src/common/slurm_protocol_pack.c @@ -6,7 +6,8 @@ #include <src/common/pack.h> #include <src/common/log.h> #include <src/common/nodelist.h> -#include <src/slurmctld/slurmctld.h> +#include <src/common/xmalloc.h> + /* pack_header * packs a slurm protocol header that proceeds every slurm message @@ -55,7 +56,7 @@ int pack_msg ( slurm_msg_t const * msg , char ** buffer , uint32_t * buf_len ) pack_last_update ( ( last_update_msg_t * ) msg -> data , ( void ** ) buffer , buf_len ) ; break; case RESPONSE_BUILD_INFO: - pack_build_info ( ( build_info_msg_t * ) msg -> data , (void ** ) buffer , buf_len ) ; + pack_slurm_ctl_conf ( ( slurm_ctl_conf_info_msg_t * ) msg -> data , (void ** ) buffer , buf_len ) ; break ; case RESPONSE_JOB_INFO: pack_job_info_msg ( ( slurm_msg_t * ) msg , (void ** ) buffer , buf_len ) ; @@ -158,7 +159,7 @@ int unpack_msg ( slurm_msg_t * msg , char ** buffer , uint32_t * buf_len ) unpack_last_update ( ( last_update_msg_t **) &(msg -> data) , ( void ** ) buffer , buf_len ) ; break; case RESPONSE_BUILD_INFO: - unpack_build_info ( ( build_info_msg_t ** ) &(msg -> data) , (void ** ) buffer , buf_len ) ; + unpack_slurm_ctl_conf ( ( slurm_ctl_conf_info_msg_t ** ) &(msg -> data) , (void ** ) buffer , buf_len ) ; break; case RESPONSE_JOB_INFO: unpack_job_info_msg ( ( job_info_msg_t ** ) &(msg -> data) , (void ** ) buffer , buf_len ) ; @@ -533,7 +534,7 @@ int unpack_job_table ( job_table_t * job , void ** buf_ptr , int * buffer_size ) return 0 ; } -void pack_build_info ( build_info_msg_t * build_ptr, void ** buf_ptr , int * buffer_size ) +void pack_slurm_ctl_conf ( slurm_ctl_conf_info_msg_t * build_ptr, void ** buf_ptr , int * buffer_size ) { pack32 (build_ptr->last_update, buf_ptr, buffer_size); pack16 (build_ptr->backup_interval, buf_ptr, buffer_size); @@ -556,12 +557,12 @@ void pack_build_info ( build_info_msg_t * build_ptr, void ** buf_ptr , int * buf packstr (build_ptr->tmp_fs, buf_ptr, buffer_size); } -int unpack_build_info ( build_info_msg_t **build_buffer_ptr, void ** buffer , int * buffer_size ) +int unpack_slurm_ctl_conf ( slurm_ctl_conf_info_msg_t **build_buffer_ptr, void ** buffer , int * buffer_size ) { uint16_t uint16_tmp; - build_info_msg_t * build_ptr ; + slurm_ctl_conf_info_msg_t * build_ptr ; /* alloc memory for structure */ - build_ptr = xmalloc ( sizeof ( struct build_table ) ) ; + build_ptr = xmalloc ( sizeof ( slurm_ctl_conf_t ) ) ; if (build_ptr == NULL) { return ENOMEM; diff --git a/src/common/slurm_protocol_pack.h b/src/common/slurm_protocol_pack.h index cf726f7bf7dc52cfbe626241c3ca675ec409b58a..e657d67a07853a6f594f1abe0200085436ccf34f 100644 --- a/src/common/slurm_protocol_pack.h +++ b/src/common/slurm_protocol_pack.h @@ -40,8 +40,8 @@ int unpack_last_update ( last_update_msg_t ** msg , void ** buffer , uint32_t * void pack_return_code ( return_code_msg_t * msg , void ** buffer , uint32_t * length ); int unpack_return_code ( return_code_msg_t ** msg , void ** buffer , uint32_t * length ); -void pack_build_info ( build_info_msg_t * build_ptr, void ** buffer , int * buffer_size ) ; -int unpack_build_info ( build_info_msg_t **build_buffer_ptr, void ** buffer , int * buffer_size ) ; +void pack_slurm_ctl_conf ( slurm_ctl_conf_info_msg_t * build_ptr, void ** buffer , int * buffer_size ) ; +int unpack_slurm_ctl_conf ( slurm_ctl_conf_info_msg_t **build_buffer_ptr, void ** buffer , int * buffer_size ) ; void pack_job_info_msg ( slurm_msg_t * msg , void ** buffer , int * buffer_size ) ; int unpack_job_info_msg ( job_info_msg_t ** msg , void ** buffer , int * buffer_size ) ; diff --git a/src/scontrol/scontrol.c b/src/scontrol/scontrol.c index 4a306950c878fd6efcb98db67993dec2fa13b2d5..b4074fbddc801f46a66aa6cbb9f8398c08ab785b 100644 --- a/src/scontrol/scontrol.c +++ b/src/scontrol/scontrol.c @@ -203,91 +203,91 @@ void print_build (char *build_param) { int error_code; - static build_info_msg_t *old_build_table_ptr = NULL; - build_info_msg_t *build_table_ptr = NULL; + slurm_ctl_conf_info_msg_t *old_slurm_ctl_conf_ptr = NULL; + slurm_ctl_conf_info_msg_t *slurm_ctl_conf_ptr = NULL; - if (old_build_table_ptr) { - error_code = slurm_load_build (old_build_table_ptr->last_update, - &build_table_ptr); + if (old_slurm_ctl_conf_ptr) { + error_code = slurm_load_ctl_conf (old_slurm_ctl_conf_ptr->last_update, + &slurm_ctl_conf_ptr); if (error_code == 0) - slurm_free_build_info(old_build_table_ptr); + slurm_free_ctl_conf(old_slurm_ctl_conf_ptr); else if (error_code == SLURM_NO_CHANGE_IN_DATA) { - build_table_ptr = old_build_table_ptr; + slurm_ctl_conf_ptr = old_slurm_ctl_conf_ptr; error_code = 0; if (quiet_flag == -1) printf ("slurm_load_build no change in data\n"); } } else - error_code = slurm_load_build ((time_t) NULL, &build_table_ptr); + error_code = slurm_load_ctl_conf ((time_t) NULL, &slurm_ctl_conf_ptr); if (error_code) { if (quiet_flag != 1) printf ("slurm_load_build error %d\n", error_code); return; } - old_build_table_ptr = build_table_ptr; + old_slurm_ctl_conf_ptr = slurm_ctl_conf_ptr; if (build_param == NULL || strcmp (build_param, "BACKUP_INTERVAL") == 0) printf ("BACKUP_INTERVAL = %u\n", - build_table_ptr->backup_interval); + slurm_ctl_conf_ptr->backup_interval); if (build_param == NULL || strcmp (build_param, "BACKUP_LOCATION") == 0) printf ("BACKUP_LOCATION = %s\n", - build_table_ptr->backup_location); + slurm_ctl_conf_ptr->backup_location); if (build_param == NULL || strcmp (build_param, "BACKUP_MACHINE") == 0) printf ("BACKUP_MACHINE = %s\n", - build_table_ptr->backup_machine); + slurm_ctl_conf_ptr->backup_machine); if (build_param == NULL || strcmp (build_param, "CONTROL_DAEMON") == 0) printf ("CONTROL_DAEMON = %s\n", - build_table_ptr->control_daemon); + slurm_ctl_conf_ptr->control_daemon); if (build_param == NULL || strcmp (build_param, "CONTROL_MACHINE") == 0) printf ("CONTROL_MACHINE = %s\n", - build_table_ptr->control_machine); + slurm_ctl_conf_ptr->control_machine); if (build_param == NULL || strcmp (build_param, "EPILOG") == 0) - printf ("EPILOG = %s\n", build_table_ptr->epilog); + printf ("EPILOG = %s\n", slurm_ctl_conf_ptr->epilog); if (build_param == NULL || strcmp (build_param, "FAST_SCHEDULE") == 0) printf ("FAST_SCHEDULE = %u\n", - build_table_ptr->fast_schedule); + slurm_ctl_conf_ptr->fast_schedule); if (build_param == NULL || strcmp (build_param, "HASH_BASE") == 0) printf ("HASH_BASE = %u\n", - build_table_ptr->hash_base); + slurm_ctl_conf_ptr->hash_base); if (build_param == NULL || strcmp (build_param, "HEARTBEAT_INTERVAL") == 0) printf ("HEARTBEAT_INTERVAL = %u\n", - build_table_ptr->heartbeat_interval); + slurm_ctl_conf_ptr->heartbeat_interval); if (build_param == NULL || strcmp (build_param, "INIT_PROGRAM") == 0) - printf ("INIT_PROGRAM = %s\n", build_table_ptr->init_program); + printf ("INIT_PROGRAM = %s\n", slurm_ctl_conf_ptr->init_program); if (build_param == NULL || strcmp (build_param, "KILL_WAIT") == 0) - printf ("KILL_WAIT = %u\n", build_table_ptr->kill_wait); + printf ("KILL_WAIT = %u\n", slurm_ctl_conf_ptr->kill_wait); if (build_param == NULL || strcmp (build_param, "PRIORITIZE") == 0) - printf ("PRIORITIZE = %s\n", build_table_ptr->prioritize); + printf ("PRIORITIZE = %s\n", slurm_ctl_conf_ptr->prioritize); if (build_param == NULL || strcmp (build_param, "PROLOG") == 0) - printf ("PROLOG = %s\n", build_table_ptr->prolog); + printf ("PROLOG = %s\n", slurm_ctl_conf_ptr->prolog); if (build_param == NULL || strcmp (build_param, "SERVER_DAEMON") == 0) printf ("SERVER_DAEMON = %s\n", - build_table_ptr->server_daemon); + slurm_ctl_conf_ptr->server_daemon); if (build_param == NULL || strcmp (build_param, "SERVER_TIMEOUT") == 0) printf ("SERVER_TIMEOUT = %u\n", - build_table_ptr->server_timeout); + slurm_ctl_conf_ptr->server_timeout); if (build_param == NULL || strcmp (build_param, "SLURM_CONF") == 0) - printf ("SLURM_CONF = %s\n", build_table_ptr->slurm_conf); + printf ("SLURM_CONF = %s\n", slurm_ctl_conf_ptr->slurm_conf); if (build_param == NULL || strcmp (build_param, "TMP_FS") == 0) - printf ("TMP_FS = %s\n", build_table_ptr->tmp_fs); + printf ("TMP_FS = %s\n", slurm_ctl_conf_ptr->tmp_fs); } diff --git a/src/slurmctld/controller.c b/src/slurmctld/controller.c index 3b3ad8371355f9957bc27516fb472c69f07621f9..13a3bcd23acfd486bcc397c907baa6ce42e948d8 100644 --- a/src/slurmctld/controller.c +++ b/src/slurmctld/controller.c @@ -44,10 +44,11 @@ #define BUF_SIZE 1024 time_t init_time; +slurm_ctl_conf_t slurmctld_conf; int msg_from_root (void); void slurmctld_req ( slurm_msg_t * msg ); -void fill_build_table ( struct build_table * build_ptr ); +void fill_build_table ( slurm_ctl_conf_t * build_ptr ); inline static void slurm_rpc_dump_build ( slurm_msg_t * msg ) ; inline static void slurm_rpc_dump_nodes ( slurm_msg_t * msg ) ; inline static void slurm_rpc_dump_partitions ( slurm_msg_t * msg ) ; @@ -182,7 +183,7 @@ slurmctld_req ( slurm_msg_t * msg ) * NOTE: the buffer at *buffer_ptr must be xfreed by the caller * NOTE: if you make any changes here be sure to increment the value of * BUILD_STRUCT_VERSION and make the corresponding changes to - * load_build in api/build_info.c + * load_build in api/slurm_ctl_conf.c */ void slurm_rpc_dump_build ( slurm_msg_t * msg ) @@ -190,7 +191,7 @@ slurm_rpc_dump_build ( slurm_msg_t * msg ) clock_t start_time; slurm_msg_t response_msg ; last_update_msg_t * last_time_msg = ( last_update_msg_t * ) msg-> data ; - build_info_msg_t build_tbl ; + slurm_ctl_conf_info_msg_t build_tbl ; start_time = clock (); @@ -664,7 +665,7 @@ slurm_rpc_register_node_status ( slurm_msg_t * msg ) void -fill_build_table ( struct build_table * build_ptr ) +fill_build_table ( slurm_ctl_conf_t * build_ptr ) { build_ptr->last_update = init_time ; build_ptr->backup_interval = BACKUP_INTERVAL ; diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c index e6eb5af6c0f8ba9fe1a543573eaad74e4455aee3..ebb26a18567b51ff8e429bd74f53d66884be82de 100644 --- a/src/slurmctld/job_mgr.c +++ b/src/slurmctld/job_mgr.c @@ -26,6 +26,18 @@ #define SLURM_CREATE_JOB_FLAG_NO_ALLOCATE_0 0 +/* macros for simple comparisons + */ +#define block_or_cycle(in_string) \ + (strcmp((in_string),"BLOCK")? \ + (strcmp((in_string),"CYCLE")? \ + -1 : DIST_CYCLE ) : DIST_BLOCK ) + +#define yes_or_no(in_string) \ + (( strcmp ((in_string),"YES"))? \ + (strcmp((in_string),"NO")? \ + -1 : 0 ) : 1 ) + int job_count; /* job's in the system */ List job_list = NULL; /* job_record list */ time_t last_job_update; /* time of last update to job records */ diff --git a/src/slurmctld/slurmctld.h b/src/slurmctld/slurmctld.h index 172364a26fe8c97dc3ef0798168df79493bed6bd..c19a72f44fcbdc92713e3e0df2daa55172dd36f4 100644 --- a/src/slurmctld/slurmctld.h +++ b/src/slurmctld/slurmctld.h @@ -30,6 +30,7 @@ #include "qsw.h" #endif #include <src/api/slurm.h> +#include <src/common/slurm_protocol_defs.h> #define DEBUG_SYSTEM 1 @@ -53,10 +54,10 @@ extern char *control_machine; /* name of computer acting as slurm controller */ extern char *backup_controller; /* name of computer acting as slurm backup controller */ +extern slurm_ctl_conf_t slurmctld_config; #define CONFIG_MAGIC 0xc065eded #define NODE_MAGIC 0x0de575ed -#define NO_VAL 0x7f7f7f7f struct config_record { uint32_t magic; /* magic cookie to test data integrity */ uint32_t cpus; /* count of cpus running on the node */