diff --git a/src/slurmctld/read_config.c b/src/slurmctld/read_config.c index d5093f0ffc524519fa1f664e4f4b469b91c94054..5ca0ae38e302dc8e0917fa547371724da59ec288 100644 --- a/src/slurmctld/read_config.c +++ b/src/slurmctld/read_config.c @@ -547,10 +547,11 @@ static void _handle_all_downnodes(void) * Note: Operates on common variables * default_node_record - default node configuration values */ -static int _build_all_nodeline_info(slurm_ctl_conf_t *conf) +static int _build_all_nodeline_info(void) { slurm_conf_node_t *node, **ptr_array; struct config_record *config_ptr = NULL; + slurm_ctl_conf_t *conf; int count; int i; @@ -558,6 +559,7 @@ static int _build_all_nodeline_info(slurm_ctl_conf_t *conf) if (count == 0) fatal("No NodeName information available!"); + conf = slurm_conf_lock(); for (i = 0; i < count; i++) { node = ptr_array[i]; @@ -600,7 +602,6 @@ static int _build_all_nodeline_info(slurm_ctl_conf_t *conf) #else slurm_topo_build_config(); #endif /* HAVE_3D */ - slurm_conf_lock(); return SLURM_SUCCESS; } @@ -761,7 +762,7 @@ int read_slurm_conf(int recover) char *old_select_type = xstrdup(slurmctld_conf.select_type); char *old_switch_type = xstrdup(slurmctld_conf.switch_type); char *state_save_dir = xstrdup(slurmctld_conf.state_save_location); - slurm_ctl_conf_t *conf; + char *mpi_params; select_type_plugin_info_t old_select_type_p = (select_type_plugin_info_t) slurmctld_conf.select_type_param; @@ -800,9 +801,7 @@ int read_slurm_conf(int recover) if (slurm_topo_init() != SLURM_SUCCESS) fatal("Failed to initialize topology plugin"); - conf = slurm_conf_lock(); - _build_all_nodeline_info(conf); - slurm_conf_unlock(); + _build_all_nodeline_info(); _handle_all_downnodes(); _build_all_partitionline_info(); @@ -865,7 +864,9 @@ int read_slurm_conf(int recover) if ((rc = _build_bitmaps())) fatal("_build_bitmaps failure"); - reserve_port_config(conf->mpi_params); + mpi_params = slurm_get_mpi_params(); + reserve_port_config(mpi_params); + xfree(mpi_params); license_free(); if (license_init(slurmctld_conf.licenses) != SLURM_SUCCESS)