From 5b9f02c6397cd372c1a49b6b0569b2f79fc04ac3 Mon Sep 17 00:00:00 2001 From: Moe Jette <jette1@llnl.gov> Date: Fri, 21 Mar 2008 00:30:35 +0000 Subject: [PATCH] make sure there is a slurm_reconfigure symbol in both sacct and slurmctld so that we can use accounting_storage/filetxt --- .../accounting_storage/filetxt/filetxt_jobacct_process.c | 3 +-- src/sacct/options.c | 7 ++++++- src/sacct/sacct.c | 2 +- src/sacct/sacct.h | 2 +- src/slurmctld/controller.c | 5 +++-- src/slurmctld/slurmctld.h | 7 ++++--- src/slurmctld/step_mgr.c | 4 +++- 7 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/plugins/accounting_storage/filetxt/filetxt_jobacct_process.c b/src/plugins/accounting_storage/filetxt/filetxt_jobacct_process.c index 154b39b67d7..a9d0f7470d6 100644 --- a/src/plugins/accounting_storage/filetxt/filetxt_jobacct_process.c +++ b/src/plugins/accounting_storage/filetxt/filetxt_jobacct_process.c @@ -1407,8 +1407,7 @@ extern void filetxt_jobacct_process_archive(List selected_parts, fflush(new_logfile); /* Flush the buffers before forking */ fflush(fd); - file_err = reconfigure_slurmctld(); - + file_err = slurm_reconfigure(); if (file_err) { file_err = 1; fprintf(stderr, "Error: Attempt to reconfigure " diff --git a/src/sacct/options.c b/src/sacct/options.c index e794eee8930..ec86d095839 100644 --- a/src/sacct/options.c +++ b/src/sacct/options.c @@ -1064,8 +1064,13 @@ void do_dump_completion(void) /* do_expire() -- purge expired data from the accounting log file */ -void do_expire(void) +void do_expire(int dummy) { + if (dummy == NO_VAL) { + /* just load the symbol, don't want to execute */ + slurm_reconfigure(); + } + if(params.opt_completion) g_slurm_jobcomp_archive(selected_parts, ¶ms); else diff --git a/src/sacct/sacct.c b/src/sacct/sacct.c index 20f854b2325..cec42997f35 100644 --- a/src/sacct/sacct.c +++ b/src/sacct/sacct.c @@ -291,7 +291,7 @@ int main(int argc, char **argv) do_dump(); break; case SACCT_EXPIRE: - do_expire(); + do_expire(0); break; case SACCT_FDUMP: if(get_data() == SLURM_ERROR) diff --git a/src/sacct/sacct.h b/src/sacct/sacct.h index 2d16a2fcc09..c340bc9eeaa 100644 --- a/src/sacct/sacct.h +++ b/src/sacct/sacct.h @@ -159,7 +159,7 @@ int get_data(void); void parse_command_line(int argc, char **argv); void do_dump(void); void do_dump_completion(void); -void do_expire(void); +void do_expire(int dummy); void do_help(void); void do_list(void); void do_list_completion(void); diff --git a/src/slurmctld/controller.c b/src/slurmctld/controller.c index b54dde06f7f..65daf2715f2 100644 --- a/src/slurmctld/controller.c +++ b/src/slurmctld/controller.c @@ -552,8 +552,9 @@ static void _init_config(void) #endif } -/* Read configuration file */ -extern int reconfigure_slurmctld(void) +/* Read configuration file. + * Same name as API function for use in accounting_storage plugin */ +extern int slurm_reconfigure(void) { /* Locks: Write configuration, job, node, and partition */ slurmctld_lock_t config_write_lock = { diff --git a/src/slurmctld/slurmctld.h b/src/slurmctld/slurmctld.h index 5f25719fe3b..6119e1e007d 100644 --- a/src/slurmctld/slurmctld.h +++ b/src/slurmctld/slurmctld.h @@ -1210,9 +1210,6 @@ void part_fini (void); */ extern void purge_old_job (void); -/* Read configuration file */ -extern int reconfigure_slurmctld(void); - /* * rehash_jobs - Create or rebuild the job hash table. * NOTE: run lock_slurmctld before entry: Read config, write job @@ -1283,6 +1280,10 @@ extern void set_slurmd_addr (void); */ extern void signal_step_tasks(struct step_record *step_ptr, uint16_t signal); +/* Read configuration file. + * Same name as API function for use in accounting_storage plugin */ +extern int slurm_reconfigure(void); + /* * slurmctld_shutdown - wake up slurm_rpc_mgr thread via signal * RET 0 or error code diff --git a/src/slurmctld/step_mgr.c b/src/slurmctld/step_mgr.c index 09927732541..7a8e917ea83 100644 --- a/src/slurmctld/step_mgr.c +++ b/src/slurmctld/step_mgr.c @@ -81,6 +81,8 @@ static hostlist_t _step_range_to_hostlist(struct step_record *step_ptr, static int _step_hostname_to_inx(struct step_record *step_ptr, char *node_name); static void _step_dealloc_lps(struct step_record *step_ptr); + + /* * create_step_record - create an empty step_record for the specified job. * IN job_ptr - pointer to job table entry to have step record added @@ -98,7 +100,7 @@ create_step_record (struct job_record *job_ptr) last_job_update = time(NULL); step_ptr->job_ptr = job_ptr; step_ptr->step_id = (job_ptr->next_step_id)++; - step_ptr->start_time = time ( NULL ) ; + step_ptr->start_time = time(NULL) ; step_ptr->jobacct = jobacct_gather_g_create(NULL); step_ptr->ckpt_path = NULL; if (list_append (job_ptr->step_list, step_ptr) == NULL) -- GitLab