Skip to content
Snippets Groups Projects
Commit 29d84c2e authored by Morris Jette's avatar Morris Jette
Browse files

Merge branch 'slurm-14.11'

parents dd0f481f bf81e826
No related branches found
No related tags found
No related merge requests found
...@@ -262,6 +262,7 @@ documents those changes that are of interest to users and administrators. ...@@ -262,6 +262,7 @@ documents those changes that are of interest to users and administrators.
random crashing in db2 when the slurmctld is exiting. random crashing in db2 when the slurmctld is exiting.
-- Make full node reservations display correctly the core count instead of -- Make full node reservations display correctly the core count instead of
cpu count. cpu count.
-- Preserve original errno on execve() failure in task plugin.
* Changes in Slurm 14.11.6 * Changes in Slurm 14.11.6
========================== ==========================
......
...@@ -154,6 +154,7 @@ Lead Slurm developers are: ...@@ -154,6 +154,7 @@ Lead Slurm developers are:
<li>Pere Munt (Barcelona Supercomputing Center, Spain)</li> <li>Pere Munt (Barcelona Supercomputing Center, Spain)</li>
<br> <br>
<li>Denis Nadeau</li> <li>Denis Nadeau</li>
<li>Jon Nelson (Dyn)</li>
<li>Mark Nelson (IBM)</li> <li>Mark Nelson (IBM)</li>
<li>Jim Nordby (Cray)</li> <li>Jim Nordby (Cray)</li>
<li>Michal Novotny (Masaryk University, Czech Republic)</li> <li>Michal Novotny (Masaryk University, Czech Republic)</li>
......
...@@ -367,6 +367,7 @@ exec_task(stepd_step_rec_t *job, int i) ...@@ -367,6 +367,7 @@ exec_task(stepd_step_rec_t *job, int i)
int fd, j; int fd, j;
stepd_step_task_info_t *task = job->task[i]; stepd_step_task_info_t *task = job->task[i];
char **tmp_env; char **tmp_env;
int saved_errno;
if (i == 0) if (i == 0)
_make_tmpdir(job); _make_tmpdir(job);
...@@ -495,6 +496,7 @@ exec_task(stepd_step_rec_t *job, int i) ...@@ -495,6 +496,7 @@ exec_task(stepd_step_rec_t *job, int i)
} }
execve(task->argv[0], task->argv, job->env); execve(task->argv[0], task->argv, job->env);
saved_errno = errno;
/* /*
* print error message and clean up if execve() returns: * print error message and clean up if execve() returns:
...@@ -510,10 +512,12 @@ exec_task(stepd_step_rec_t *job, int i) ...@@ -510,10 +512,12 @@ exec_task(stepd_step_rec_t *job, int i)
eol[0] = '\0'; eol[0] = '\0';
else else
buf[sizeof(buf)-1] = '\0'; buf[sizeof(buf)-1] = '\0';
slurm_seterrno(saved_errno);
error("execve(): bad interpreter(%s): %m", buf+2); error("execve(): bad interpreter(%s): %m", buf+2);
exit(errno); exit(errno);
} }
} }
slurm_seterrno(saved_errno);
error("execve(): %s: %m", task->argv[0]); error("execve(): %s: %m", task->argv[0]);
exit(errno); exit(errno);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment