From b59f8cb5b317d88df4ed922fb75300b8ef7f9d4a Mon Sep 17 00:00:00 2001
From: Moe Jette <jette1@llnl.gov>
Date: Fri, 20 Feb 2009 23:34:44 +0000
Subject: [PATCH] Change resv_ports job step argument from 8 to 16-bits

---
 slurm/slurm.h.in                 | 2 +-
 src/common/slurm_protocol_defs.h | 2 +-
 src/common/slurm_protocol_pack.c | 4 ++--
 src/srun/allocate.c              | 2 +-
 src/srun/opt.c                   | 2 +-
 5 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/slurm/slurm.h.in b/slurm/slurm.h.in
index bdfa17699d9..46d08b2ca96 100644
--- a/slurm/slurm.h.in
+++ b/slurm/slurm.h.in
@@ -791,7 +791,7 @@ typedef struct {
 	uint16_t plane_size;	/* plane size when task_dist =
 				 * SLURM_DIST_PLANE */
 	uint16_t relative;	/* first node to use of job's allocation */
-	uint8_t  resv_ports;	/* reserve ports if set */
+	uint16_t resv_ports;	/* reserve ports if set */
 	uint32_t task_count;	/* number of tasks required */
 	uint16_t task_dist;	/* see enum task_dist_state, default
 				 * is SLURM_DIST_CYCLIC */
diff --git a/src/common/slurm_protocol_defs.h b/src/common/slurm_protocol_defs.h
index 03ad207dbe9..7455cb6a956 100644
--- a/src/common/slurm_protocol_defs.h
+++ b/src/common/slurm_protocol_defs.h
@@ -466,7 +466,7 @@ typedef struct job_step_specs {
 				   SLURM_DIST_PLANE */
 	uint16_t port;		/* port to contact initiating srun */
 	uint16_t relative;	/* first node to use of job's allocation */
-	uint8_t resv_ports;	/* reserve ports for MPI if set */
+	uint16_t resv_ports;	/* reserve ports for MPI if set */
 	uint16_t task_dist;	/* see enum task_dist_state */
 	uint32_t user_id;	/* user the job runs as */
 } job_step_create_request_msg_t;
diff --git a/src/common/slurm_protocol_pack.c b/src/common/slurm_protocol_pack.c
index 044fcf1c2a6..c5166d9b172 100644
--- a/src/common/slurm_protocol_pack.c
+++ b/src/common/slurm_protocol_pack.c
@@ -1932,6 +1932,7 @@ _pack_job_step_create_request_msg(job_step_create_request_msg_t
 	pack16(msg->ckpt_interval, buffer);
 	pack16(msg->exclusive, buffer);
 	pack16(msg->immediate, buffer);
+	pack16(msg->resv_ports, buffer);
 
 	packstr(msg->host, buffer);
 	packstr(msg->name, buffer);
@@ -1941,7 +1942,6 @@ _pack_job_step_create_request_msg(job_step_create_request_msg_t
 
 	pack8(msg->no_kill, buffer);
 	pack8(msg->overcommit, buffer);
-	pack8(msg->resv_ports, buffer);
 }
 
 static int
@@ -1970,6 +1970,7 @@ _unpack_job_step_create_request_msg(job_step_create_request_msg_t ** msg,
 	safe_unpack16(&(tmp_ptr->ckpt_interval), buffer);
 	safe_unpack16(&(tmp_ptr->exclusive), buffer);
 	safe_unpack16(&(tmp_ptr->immediate), buffer);
+	safe_unpack16(&(tmp_ptr->resv_ports), buffer);
 
 	safe_unpackstr_xmalloc(&(tmp_ptr->host), &uint32_tmp, buffer);
 	safe_unpackstr_xmalloc(&(tmp_ptr->name), &uint32_tmp, buffer);
@@ -1979,7 +1980,6 @@ _unpack_job_step_create_request_msg(job_step_create_request_msg_t ** msg,
 
 	safe_unpack8(&(tmp_ptr->no_kill), buffer);
 	safe_unpack8(&(tmp_ptr->overcommit), buffer);
-	safe_unpack8(&(tmp_ptr->resv_ports), buffer);
 
 	return SLURM_SUCCESS;
 
diff --git a/src/srun/allocate.c b/src/srun/allocate.c
index 4f564c7e7e5..6ab46bd4c0a 100644
--- a/src/srun/allocate.c
+++ b/src/srun/allocate.c
@@ -538,7 +538,7 @@ create_job_step(srun_job_t *job, bool use_all_cpus)
 	job->ctx_params.exclusive = (uint16_t)opt.exclusive;
 	job->ctx_params.immediate = (uint16_t)opt.immediate;
 	job->ctx_params.verbose_level = (uint16_t)_verbose;
-	job->ctx_params.resv_ports = (uint8_t) opt.resv_ports;
+	job->ctx_params.resv_ports = (uint16_t) opt.resv_ports;
 
 	switch (opt.distribution) {
 	case SLURM_DIST_BLOCK:
diff --git a/src/srun/opt.c b/src/srun/opt.c
index 280c546d972..8c4e3f41307 100644
--- a/src/srun/opt.c
+++ b/src/srun/opt.c
@@ -1946,7 +1946,7 @@ static void _opt_list()
 	info("ntasks-per-socket : %d", opt.ntasks_per_socket);
 	info("ntasks-per-core   : %d", opt.ntasks_per_core);
 	info("plane_size        : %u", opt.plane_size);
-	info("resv_ports        : %u", opt.resv_ports);
+	info("resv_ports        : %d", opt.resv_ports);
 	str = print_commandline(opt.argc, opt.argv);
 	info("remote command    : `%s'", str);
 	xfree(str);
-- 
GitLab