From dd69627a6efbb40de7f1391a9202cf0a424b3df0 Mon Sep 17 00:00:00 2001 From: Danny Auble <da@schedmd.com> Date: Tue, 25 Jun 2013 14:33:18 -0700 Subject: [PATCH] Fix for handling node counts that are 1 but the requested ntasks-per-node is larger than the number of tasks spread across the node. --- src/api/job_info.c | 3 ++- src/squeue/print.c | 2 ++ src/sview/job_info.c | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/api/job_info.c b/src/api/job_info.c index dbf9ddac3cc..d916a5209fe 100644 --- a/src/api/job_info.c +++ b/src/api/job_info.c @@ -489,9 +489,10 @@ line6: min_nodes = (num_tasks + 1) / job_ptr->ntasks_per_node; if (min_nodes > num_tasks) min_nodes = num_tasks; + else if (!min_nodes) + min_nodes = 1; } max_nodes = job_ptr->max_nodes; - } _sprint_range(tmp1, sizeof(tmp1), job_ptr->num_cpus, job_ptr->max_cpus); diff --git a/src/squeue/print.c b/src/squeue/print.c index 9b8d8fc14d1..824a6f3c6b0 100644 --- a/src/squeue/print.c +++ b/src/squeue/print.c @@ -880,6 +880,8 @@ static int _get_node_cnt(job_info_t * job) node_cnt = (num_tasks + 1) / job->ntasks_per_node; if (node_cnt > num_tasks) node_cnt = num_tasks; + else if (!node_cnt) + node_cnt = 1; } else { int round = job->num_cpus + params.max_cpus - 1; round /= params.max_cpus; /* round up */ diff --git a/src/sview/job_info.c b/src/sview/job_info.c index 78367cc1134..2513e798d1d 100644 --- a/src/sview/job_info.c +++ b/src/sview/job_info.c @@ -1236,6 +1236,8 @@ static int _get_node_cnt(job_info_t * job) node_cnt = (num_tasks + 1) / job->ntasks_per_node; if (node_cnt > num_tasks) node_cnt = num_tasks; + else if (!node_cnt) + node_cnt = 1; } else if (sview_max_cpus) { int round = job->num_cpus + sview_max_cpus - 1; round /= sview_max_cpus; /* round up */ -- GitLab