From 228eb43e4f4d97c5b8636e8a0e5263a0316a9610 Mon Sep 17 00:00:00 2001 From: Moe Jette <jette1@llnl.gov> Date: Fri, 13 Sep 2002 01:08:49 +0000 Subject: [PATCH] Perform cleanup and return appropriate error code on Elan setup failure. --- src/slurmctld/step_mgr.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/slurmctld/step_mgr.c b/src/slurmctld/step_mgr.c index 86acc14ed03..c4e1a71c9ad 100644 --- a/src/slurmctld/step_mgr.c +++ b/src/slurmctld/step_mgr.c @@ -341,13 +341,21 @@ step_create ( step_specs *step_specs, struct step_record** new_step_record ) node_id = qsw_getnodeid_byhost (node_record_table_ptr[i].name); if (node_id >= 0) /* no lookup error */ bit_set(nodeset, node_id); - else + else { error ("qsw_getnodeid_byhost lookup failure on %s", node_record_table_ptr[i].name); + delete_step_record (job_ptr, step_ptr->step_id); + bit_free (nodeset); + return ESLURM_INTERCONNECT_FAILURE; + } } } - if (qsw_setup_jobinfo (step_ptr->qsw_job, nprocs, nodeset, step_ptr->cyclic_alloc) < 0) - fatal ("step_create: qsw_setup_jobinfo error %m"); + if (qsw_setup_jobinfo (step_ptr->qsw_job, nprocs, nodeset, step_ptr->cyclic_alloc) < 0) { + error ("step_create: qsw_setup_jobinfo error %m"); + delete_step_record (job_ptr, step_ptr->step_id); + bit_free (nodeset); + return ESLURM_INTERCONNECT_FAILURE; + } bit_free (nodeset); #endif -- GitLab