From fc324d1a8d551322f18b7c237c13d92ba344dd97 Mon Sep 17 00:00:00 2001
From: Danny Auble <da@llnl.gov>
Date: Fri, 21 Aug 2009 16:20:31 +0000
Subject: [PATCH] BLUEGENE - remove vestigal start location from jobinfo for
 bluegene systems.

---
 NEWS                                          |   1 +
 slurm/slurm.h.in                              |   1 -
 .../select/bluegene/plugin/bg_job_place.c     |  13 +--
 .../select/bluegene/plugin/dynamic_block.c    |  22 ----
 src/plugins/select/bluegene/plugin/jobinfo.c  | 101 +++---------------
 src/plugins/select/bluegene/plugin/jobinfo.h  |   2 -
 src/slurmctld/job_mgr.c                       |  84 ++++++---------
 src/sview/job_info.c                          |  56 ----------
 8 files changed, 49 insertions(+), 231 deletions(-)

diff --git a/NEWS b/NEWS
index bb2f8626062..6c2545aeaf5 100644
--- a/NEWS
+++ b/NEWS
@@ -68,6 +68,7 @@ documents those changes that are of interest to users and admins.
  -- Log fatal errors from slurmd and slurmctld to syslog.
  -- Added error detection and cleanup for the case in which a compute node is 
     rebooted and restarts its slurmd before its "down" state is noticed.
+ -- BLUEGENE - remove vestigal start location from jobinfo for bluegene systems.
 
 * Changes in SLURM 2.1.0-pre2
 =============================
diff --git a/slurm/slurm.h.in b/slurm/slurm.h.in
index 1642d80e34a..b4854090f0a 100644
--- a/slurm/slurm.h.in
+++ b/slurm/slurm.h.in
@@ -289,7 +289,6 @@ enum node_use_type {
 };
 
 enum select_jobdata_type {
-	SELECT_JOBDATA_START,	/* data-> uint16_t start[SYSTEM_DIMENSIONS] */
 	SELECT_JOBDATA_GEOMETRY,/* data-> uint16_t geometry[SYSTEM_DIMENSIONS] */
 	SELECT_JOBDATA_ROTATE,	/* data-> uint16_t rotate */
 	SELECT_JOBDATA_CONN_TYPE,	/* data-> uint16_t connection_type */
diff --git a/src/plugins/select/bluegene/plugin/bg_job_place.c b/src/plugins/select/bluegene/plugin/bg_job_place.c
index 5a6dcf6e15b..b37273bc6fa 100644
--- a/src/plugins/select/bluegene/plugin/bg_job_place.c
+++ b/src/plugins/select/bluegene/plugin/bg_job_place.c
@@ -828,7 +828,6 @@ static int _find_best_block_match(List block_list,
 {
 	bg_record_t *bg_record = NULL;
 	uint16_t req_geometry[BA_SYSTEM_DIMENSIONS];
-	uint16_t start[BA_SYSTEM_DIMENSIONS];
 	uint16_t conn_type, rotate, target_size = 0;
 	uint32_t req_procs = job_ptr->num_procs;
 	ba_request_t request; 
@@ -838,7 +837,6 @@ static int _find_best_block_match(List block_list,
 	int check_image = 1;
 	uint32_t max_procs = (uint32_t)NO_VAL;
 	char tmp_char[256];
-	int start_req = 0;
 	static int total_cpus = 0;
 #ifdef HAVE_BGL
 	char *blrtsimage = NULL;        /* BlrtsImage for this request */
@@ -871,12 +869,6 @@ static int _find_best_block_match(List block_list,
 		return SLURM_ERROR;
 	}
 	
-	select_g_select_jobinfo_get(job_ptr->select_jobinfo,
-			     SELECT_JOBDATA_START, &start);
-		
-	if(start[X] != (uint16_t)NO_VAL)
-		start_req = 1;
-
 	select_g_select_jobinfo_get(job_ptr->select_jobinfo,
 			     SELECT_JOBDATA_CONN_TYPE, &conn_type);
 	select_g_select_jobinfo_get(job_ptr->select_jobinfo,
@@ -922,9 +914,6 @@ static int _find_best_block_match(List block_list,
 
 	memset(&request, 0, sizeof(ba_request_t));
 
-	for(i=0; i<BA_SYSTEM_DIMENSIONS; i++) 
-		request.start[i] = start[i];
-	
 	for(i=0; i<BA_SYSTEM_DIMENSIONS; i++) 
 		request.geometry[i] = req_geometry[i];
 
@@ -936,7 +925,7 @@ static int _find_best_block_match(List block_list,
 	request.conn_type = conn_type;
 	request.rotate = rotate;
 	request.elongate = true;
-	request.start_req = start_req;
+
 #ifdef HAVE_BGL
 	request.blrtsimage = blrtsimage;
 #endif
diff --git a/src/plugins/select/bluegene/plugin/dynamic_block.c b/src/plugins/select/bluegene/plugin/dynamic_block.c
index 3a345c4ebb3..5637115a1d9 100644
--- a/src/plugins/select/bluegene/plugin/dynamic_block.c
+++ b/src/plugins/select/bluegene/plugin/dynamic_block.c
@@ -644,28 +644,6 @@ static int _breakup_blocks(List block_list, List new_blocks,
 			continue;
 		}
 
-		if(request->start_req) {
-			if ((request->start[X] != bg_record->start[X])
-			    || (request->start[Y] != bg_record->start[Y])
-			    || (request->start[Z] != bg_record->start[Z])) {
-				debug4("small got %c%c%c looking for %c%c%c",
-				       alpha_num[bg_record->start[X]],
-				       alpha_num[bg_record->start[Y]],
-				       alpha_num[bg_record->start[Z]],
-				       alpha_num[request->start[X]],
-				       alpha_num[request->start[Y]],
-				       alpha_num[request->start[Z]]);
-				continue;
-			}
-			debug3("small found %c%c%c looking for %c%c%c",
-			       alpha_num[bg_record->start[X]],
-			       alpha_num[bg_record->start[Y]],
-			       alpha_num[bg_record->start[Z]],
-			       alpha_num[request->start[X]],
-			       alpha_num[request->start[Y]],
-			       alpha_num[request->start[Z]]);
-		}
-
 		if(bg_record->node_cnt == cnodes) {
 			debug2("found it here %s, %s",
 			       bg_record->bg_block_id,
diff --git a/src/plugins/select/bluegene/plugin/jobinfo.c b/src/plugins/select/bluegene/plugin/jobinfo.c
index 9d89ecb78f0..b59b3fbe060 100644
--- a/src/plugins/select/bluegene/plugin/jobinfo.c
+++ b/src/plugins/select/bluegene/plugin/jobinfo.c
@@ -92,7 +92,6 @@ extern select_jobinfo_t *alloc_select_jobinfo()
 	int i;
 	select_jobinfo_t *jobinfo = xmalloc(sizeof(struct select_jobinfo));
 	for (i=0; i<SYSTEM_DIMENSIONS; i++) {
-		jobinfo->start[i]    = (uint16_t) NO_VAL;
 		jobinfo->geometry[i] = (uint16_t) NO_VAL;
 	}
 	jobinfo->conn_type = SELECT_NAV;
@@ -154,10 +153,6 @@ extern int set_select_jobinfo(select_jobinfo_t *jobinfo,
 	}
 
 	switch (data_type) {
-	case SELECT_JOBDATA_START:
-		for (i=0; i<SYSTEM_DIMENSIONS; i++) 
-			jobinfo->start[i] = uint16[i];
-		break;
 	case SELECT_JOBDATA_GEOMETRY:
 		for (i=0; i<SYSTEM_DIMENSIONS; i++) 
 			jobinfo->geometry[i] = uint16[i];
@@ -245,11 +240,6 @@ extern int get_select_jobinfo(select_jobinfo_t *jobinfo,
 	}
 
 	switch (data_type) {
-	case SELECT_JOBDATA_START:
-		for (i=0; i<SYSTEM_DIMENSIONS; i++) {
-			uint16[i] = jobinfo->start[i];
-		}
-		break;
 	case SELECT_JOBDATA_GEOMETRY:
 		for (i=0; i<SYSTEM_DIMENSIONS; i++) {
 			uint16[i] = jobinfo->geometry[i];
@@ -346,9 +336,6 @@ extern select_jobinfo_t *copy_select_jobinfo(select_jobinfo_t *jobinfo)
 		error("copy_jobinfo: jobinfo magic bad");
 	else {
 		rc = xmalloc(sizeof(struct select_jobinfo));
-		for (i=0; i<SYSTEM_DIMENSIONS; i++) {
-			rc->start[i] = (uint16_t)jobinfo->start[i];
-		}
 		for (i=0; i<SYSTEM_DIMENSIONS; i++) {
 			rc->geometry[i] = (uint16_t)jobinfo->geometry[i];
 		}
@@ -384,7 +371,6 @@ extern int  pack_select_jobinfo(select_jobinfo_t *jobinfo, Buf buffer)
 		/* NOTE: If new elements are added here, make sure to 
 		 * add equivalant pack of zeros below for NULL pointer */
 		for (i=0; i<SYSTEM_DIMENSIONS; i++) {
-			pack16(jobinfo->start[i], buffer);
 			pack16(jobinfo->geometry[i], buffer);
 		}
 		pack16(jobinfo->conn_type, buffer);
@@ -402,10 +388,10 @@ extern int  pack_select_jobinfo(select_jobinfo_t *jobinfo, Buf buffer)
 		packstr(jobinfo->mloaderimage, buffer);
 		packstr(jobinfo->ramdiskimage, buffer);
 	} else {
-		/* pack space for 3 positions for start and for geo
+		/* pack space for 3 positions for geo
 		 * then 1 for conn_type, reboot, and rotate
 		 */
-		for (i=0; i<((SYSTEM_DIMENSIONS*2)+3); i++)
+		for (i=0; i<(SYSTEM_DIMENSIONS+3); i++)
 			pack16((uint16_t) 0, buffer);
 
 		pack32((uint32_t) 0, buffer); //node_cnt
@@ -438,7 +424,6 @@ extern int unpack_select_jobinfo(select_jobinfo_t **jobinfo_pptr, Buf buffer)
 
 	jobinfo->magic = JOBINFO_MAGIC;
 	for (i=0; i<SYSTEM_DIMENSIONS; i++) {
-		safe_unpack16(&(jobinfo->start[i]), buffer);
 		safe_unpack16(&(jobinfo->geometry[i]), buffer);
 	}
 	safe_unpack16(&(jobinfo->conn_type), buffer);
@@ -476,7 +461,7 @@ extern char *sprint_select_jobinfo(select_jobinfo_t *jobinfo,
 {
 	uint16_t geometry[SYSTEM_DIMENSIONS];
 	int i;
-	char max_procs_char[8], start_char[32];
+	char max_procs_char[8];
 	char *tmp_image = "default";
 		
 	if (buf == NULL) {
@@ -506,7 +491,7 @@ extern char *sprint_select_jobinfo(select_jobinfo_t *jobinfo,
 	switch (mode) {
 	case SELECT_PRINT_HEAD:
 		snprintf(buf, size,
-			 "CONNECT REBOOT ROTATE MAX_PROCS GEOMETRY START BLOCK_ID");
+			 "CONNECT REBOOT ROTATE MAX_PROCS GEOMETRY BLOCK_ID");
 		break;
 	case SELECT_PRINT_DATA:
 		if (jobinfo->max_procs == NO_VAL)
@@ -515,17 +500,8 @@ extern char *sprint_select_jobinfo(select_jobinfo_t *jobinfo,
 			convert_num_unit((float)jobinfo->max_procs, 
 					 max_procs_char, sizeof(max_procs_char),
 					 UNIT_NONE);
-		if (jobinfo->start[0] == (uint16_t) NO_VAL)
-			sprintf(start_char, "None");
-		else {
-			snprintf(start_char, sizeof(start_char), 
-				"%cx%cx%c",
-				 alpha_num[jobinfo->start[0]],
-				 alpha_num[jobinfo->start[1]],
-				 alpha_num[jobinfo->start[2]]);
-		} 
 		snprintf(buf, size, 
-			 "%7.7s %6.6s %6.6s %9s    %cx%cx%c %5s %-16s",
+			 "%7.7s %6.6s %6.6s %9s    %cx%cx%c %-16s",
 			 _job_conn_type_string(jobinfo->conn_type),
 			 _yes_no_string(jobinfo->reboot),
 			 _yes_no_string(jobinfo->rotate),
@@ -533,7 +509,7 @@ extern char *sprint_select_jobinfo(select_jobinfo_t *jobinfo,
 			 alpha_num[geometry[0]],
 			 alpha_num[geometry[1]],
 			 alpha_num[geometry[2]],
-			 start_char, jobinfo->bg_block_id);
+			 jobinfo->bg_block_id);
 		break;
 	case SELECT_PRINT_MIXED:
 		if (jobinfo->max_procs == NO_VAL)
@@ -542,19 +518,9 @@ extern char *sprint_select_jobinfo(select_jobinfo_t *jobinfo,
 			convert_num_unit((float)jobinfo->max_procs,
 					 max_procs_char, sizeof(max_procs_char),
 					 UNIT_NONE);
-		if (jobinfo->start[0] == (uint16_t) NO_VAL)
-			sprintf(start_char, "None");
-		else {
-			snprintf(start_char, sizeof(start_char),
-				"%cx%cx%c",
-				 alpha_num[jobinfo->start[0]],
-				 alpha_num[jobinfo->start[1]],
-				 alpha_num[jobinfo->start[2]]);
-		}
-		
 		snprintf(buf, size, 
 			 "Connection=%s Reboot=%s Rotate=%s MaxProcs=%s "
-			 "Geometry=%cx%cx%c Start=%s Block_ID=%s",
+			 "Geometry=%cx%cx%c Block_ID=%s",
 			 _job_conn_type_string(jobinfo->conn_type),
 			 _yes_no_string(jobinfo->reboot),
 			 _yes_no_string(jobinfo->rotate),
@@ -562,7 +528,7 @@ extern char *sprint_select_jobinfo(select_jobinfo_t *jobinfo,
 			 alpha_num[geometry[0]],
 			 alpha_num[geometry[1]],
 			 alpha_num[geometry[2]],
-			 start_char, jobinfo->bg_block_id);
+			 jobinfo->bg_block_id);
 		break;
 	case SELECT_PRINT_BG_ID:
 		snprintf(buf, size, "%s", jobinfo->bg_block_id);
@@ -592,16 +558,6 @@ extern char *sprint_select_jobinfo(select_jobinfo_t *jobinfo,
 			 alpha_num[geometry[1]],
 			 alpha_num[geometry[2]]);
 		break;
-	case SELECT_PRINT_START:
-		if (jobinfo->start[0] == (uint16_t) NO_VAL)
-			sprintf(buf, "None");
-		else {
-			snprintf(buf, size, 
-				 "%cx%cx%c",
-				 alpha_num[jobinfo->start[0]],
-				 alpha_num[jobinfo->start[1]],
-				 alpha_num[jobinfo->start[2]]);
-		} 
 	case SELECT_PRINT_MAX_PROCS:
 		if (jobinfo->max_procs == NO_VAL)
 			sprintf(max_procs_char, "None");
@@ -650,7 +606,7 @@ extern char *xstrdup_select_jobinfo(select_jobinfo_t *jobinfo, int mode)
 {
 	uint16_t geometry[SYSTEM_DIMENSIONS];
 	int i;
-	char max_procs_char[8], start_char[32];
+	char max_procs_char[8];
 	char *tmp_image = "default";
 	char *buf = NULL;
 		
@@ -677,7 +633,7 @@ extern char *xstrdup_select_jobinfo(select_jobinfo_t *jobinfo, int mode)
 	case SELECT_PRINT_HEAD:
 		xstrcat(buf, 
 			"CONNECT REBOOT ROTATE MAX_PROCS "
-			"GEOMETRY START BLOCK_ID");
+			"GEOMETRY BLOCK_ID");
 		break;
 	case SELECT_PRINT_DATA:
 		if (jobinfo->max_procs == NO_VAL)
@@ -686,17 +642,8 @@ extern char *xstrdup_select_jobinfo(select_jobinfo_t *jobinfo, int mode)
 			convert_num_unit((float)jobinfo->max_procs, 
 					 max_procs_char, sizeof(max_procs_char),
 					 UNIT_NONE);
-		if (jobinfo->start[0] == (uint16_t) NO_VAL)
-			sprintf(start_char, "None");
-		else {
-			snprintf(start_char, sizeof(start_char), 
-				"%cx%cx%c",
-				 alpha_num[jobinfo->start[0]],
-				 alpha_num[jobinfo->start[1]],
-				 alpha_num[jobinfo->start[2]]);
-		} 
 		xstrfmtcat(buf, 
-			   "%7.7s %6.6s %6.6s %9s    %cx%cx%c %5s %-16s",
+			   "%7.7s %6.6s %6.6s %9s    %cx%cx%c %-16s",
 			   _job_conn_type_string(jobinfo->conn_type),
 			   _yes_no_string(jobinfo->reboot),
 			   _yes_no_string(jobinfo->rotate),
@@ -704,7 +651,7 @@ extern char *xstrdup_select_jobinfo(select_jobinfo_t *jobinfo, int mode)
 			   alpha_num[geometry[0]],
 			   alpha_num[geometry[1]],
 			   alpha_num[geometry[2]],
-			   start_char, jobinfo->bg_block_id);
+			   jobinfo->bg_block_id);
 		break;
 	case SELECT_PRINT_MIXED:
 		if (jobinfo->max_procs == NO_VAL)
@@ -713,19 +660,9 @@ extern char *xstrdup_select_jobinfo(select_jobinfo_t *jobinfo, int mode)
 			convert_num_unit((float)jobinfo->max_procs,
 					 max_procs_char, sizeof(max_procs_char),
 					 UNIT_NONE);
-		if (jobinfo->start[0] == (uint16_t) NO_VAL)
-			sprintf(start_char, "None");
-		else {
-			snprintf(start_char, sizeof(start_char),
-				"%cx%cx%c",
-				 alpha_num[jobinfo->start[0]],
-				 alpha_num[jobinfo->start[1]],
-				 alpha_num[jobinfo->start[2]]);
-		}
-		
 		xstrfmtcat(buf, 
 			 "Connection=%s Reboot=%s Rotate=%s MaxProcs=%s "
-			 "Geometry=%cx%cx%c Start=%s Block_ID=%s",
+			 "Geometry=%cx%cx%c Block_ID=%s",
 			 _job_conn_type_string(jobinfo->conn_type),
 			 _yes_no_string(jobinfo->reboot),
 			 _yes_no_string(jobinfo->rotate),
@@ -733,7 +670,7 @@ extern char *xstrdup_select_jobinfo(select_jobinfo_t *jobinfo, int mode)
 			 alpha_num[geometry[0]],
 			 alpha_num[geometry[1]],
 			 alpha_num[geometry[2]],
-			 start_char, jobinfo->bg_block_id);
+			 jobinfo->bg_block_id);
 		break;
 	case SELECT_PRINT_BG_ID:
 		xstrfmtcat(buf, "%s", jobinfo->bg_block_id);
@@ -763,16 +700,6 @@ extern char *xstrdup_select_jobinfo(select_jobinfo_t *jobinfo, int mode)
 			 alpha_num[geometry[1]],
 			 alpha_num[geometry[2]]);
 		break;
-	case SELECT_PRINT_START:
-		if (jobinfo->start[0] == (uint16_t) NO_VAL)
-			sprintf(buf, "None");
-		else {
-			xstrfmtcat(buf, 
-				 "%cx%cx%c",
-				 alpha_num[jobinfo->start[0]],
-				 alpha_num[jobinfo->start[1]],
-				 alpha_num[jobinfo->start[2]]);
-		} 
 	case SELECT_PRINT_MAX_PROCS:
 		if (jobinfo->max_procs == NO_VAL)
 			sprintf(max_procs_char, "None");
diff --git a/src/plugins/select/bluegene/plugin/jobinfo.h b/src/plugins/select/bluegene/plugin/jobinfo.h
index e5c39e97eed..ed096c82c09 100644
--- a/src/plugins/select/bluegene/plugin/jobinfo.h
+++ b/src/plugins/select/bluegene/plugin/jobinfo.h
@@ -45,8 +45,6 @@
 #define JOBINFO_MAGIC 0x83ac
 
 struct select_jobinfo {
-	uint16_t start[SYSTEM_DIMENSIONS];	/* start position of block
-						 *  e.g. XYZ */
 	uint16_t geometry[SYSTEM_DIMENSIONS];	/* node count in various
 						 * dimensions, e.g. XYZ */
 	uint16_t conn_type;	/* see enum connection_type */
diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c
index 65d3c410bd9..28038e43c49 100644
--- a/src/slurmctld/job_mgr.c
+++ b/src/slurmctld/job_mgr.c
@@ -5359,33 +5359,35 @@ int update_job(job_desc_msg_t * job_specs, uid_t uid)
 	 char *image = NULL;
 
 	 select_g_select_jobinfo_get(job_specs->select_jobinfo,
-			      SELECT_JOBDATA_ROTATE, &rotate);
+				     SELECT_JOBDATA_ROTATE, &rotate);
 	 if (rotate != (uint16_t) NO_VAL) {
 		 if (!IS_JOB_PENDING(job_ptr))
 			 error_code = ESLURM_DISABLED;
 		 else {
 			 info("update_job: setting rotate to %u for "
 			      "jobid %u", rotate, job_ptr->job_id);
-			 select_g_select_jobinfo_set(job_ptr->select_jobinfo,
-					      SELECT_JOBDATA_ROTATE, &rotate);
+			 select_g_select_jobinfo_set(
+				 job_ptr->select_jobinfo,
+				 SELECT_JOBDATA_ROTATE, &rotate);
 		 }
 	 }
 
 	 select_g_select_jobinfo_get(job_specs->select_jobinfo,
-			      SELECT_JOBDATA_REBOOT, &reboot);
+				     SELECT_JOBDATA_REBOOT, &reboot);
 	 if (reboot != (uint16_t) NO_VAL) {
-		if (!IS_JOB_PENDING(job_ptr))
-			error_code = ESLURM_DISABLED;
-		else {
-			info("update_job: setting reboot to %u for "
-			     "jobid %u", reboot, job_ptr->job_id);
-			select_g_select_jobinfo_set(job_ptr->select_jobinfo,
-					     SELECT_JOBDATA_REBOOT, &reboot);
-		}
-	}
+		 if (!IS_JOB_PENDING(job_ptr))
+			 error_code = ESLURM_DISABLED;
+		 else {
+			 info("update_job: setting reboot to %u for "
+			      "jobid %u", reboot, job_ptr->job_id);
+			 select_g_select_jobinfo_set(
+				 job_ptr->select_jobinfo,
+				 SELECT_JOBDATA_REBOOT, &reboot);
+		 }
+	 }
 	
 	 select_g_select_jobinfo_get(job_specs->select_jobinfo,
-			      SELECT_JOBDATA_GEOMETRY, geometry);
+				     SELECT_JOBDATA_GEOMETRY, geometry);
 	 if (geometry[0] != (uint16_t) NO_VAL) {
 		 if (!IS_JOB_PENDING(job_ptr))
 			 error_code = ESLURM_DISABLED;
@@ -5407,45 +5409,23 @@ int update_job(job_desc_msg_t * job_specs, uid_t uid)
 			 error_code = ESLURM_ACCESS_DENIED;
 		 }
 	 }
-	 select_g_select_jobinfo_get(job_specs->select_jobinfo,
-			      SELECT_JOBDATA_START, geometry);
-	 if (geometry[0] != (uint16_t) NO_VAL) {
-		 if (!IS_JOB_PENDING(job_ptr))
-			 error_code = ESLURM_DISABLED;
-		 else if (super_user) {
-			 uint32_t i, tot = 1;
-			 for (i=0; i<SYSTEM_DIMENSIONS; i++)
-				 tot *= geometry[i];
-			 info("update_job: setting start to %ux%ux%u "
-			      "for job %u", 
-			      geometry[0], geometry[1], 
-			      geometry[2], job_ptr->job_id);
-			 select_g_select_jobinfo_set(job_ptr->select_jobinfo,
-						     SELECT_JOBDATA_GEOMETRY,
-						     geometry);
-			 detail_ptr->min_nodes = tot;
-		 } else {
-			 error("Attempt to change geometry for job %u",
-			       job_specs->job_id);
-			 error_code = ESLURM_ACCESS_DENIED;
-		 }
-	 }
 
 	 select_g_select_jobinfo_get(job_specs->select_jobinfo,
-			      SELECT_JOBDATA_BLRTS_IMAGE, &image);
+				     SELECT_JOBDATA_BLRTS_IMAGE, &image);
 	 if (image) {
 		 if (!IS_JOB_PENDING(job_ptr))
 			 error_code = ESLURM_DISABLED;
 		 else {
 			 info("update_job: setting BlrtsImage to %s for "
 			      "jobid %u", image, job_ptr->job_id);
-			 select_g_select_jobinfo_set(job_ptr->select_jobinfo,
-						SELECT_JOBDATA_BLRTS_IMAGE, 
-						image);
+			 select_g_select_jobinfo_set(
+				 job_ptr->select_jobinfo,
+				 SELECT_JOBDATA_BLRTS_IMAGE, 
+				 image);
 		 }
 	 }
 	 select_g_select_jobinfo_get(job_specs->select_jobinfo,
-			      SELECT_JOBDATA_LINUX_IMAGE, &image);
+				     SELECT_JOBDATA_LINUX_IMAGE, &image);
 	 if (image) {
 		 if (!IS_JOB_PENDING(job_ptr))
 			 error_code = ESLURM_DISABLED;
@@ -5453,8 +5433,8 @@ int update_job(job_desc_msg_t * job_specs, uid_t uid)
 			 info("update_job: setting LinuxImage to %s for "
 			      "jobid %u", image, job_ptr->job_id);
 			 select_g_select_jobinfo_set(job_ptr->select_jobinfo,
-						SELECT_JOBDATA_LINUX_IMAGE,
-						image);
+						     SELECT_JOBDATA_LINUX_IMAGE,
+						     image);
 		 }
 	 }
 	 select_g_select_jobinfo_get(job_specs->select_jobinfo,
@@ -5465,22 +5445,24 @@ int update_job(job_desc_msg_t * job_specs, uid_t uid)
 		 else {
 			 info("update_job: setting MloaderImage to %s for "
 			      "jobid %u", image, job_ptr->job_id);
-			 select_g_select_jobinfo_set(job_ptr->select_jobinfo,
-					      SELECT_JOBDATA_MLOADER_IMAGE,
-					      image);
+			 select_g_select_jobinfo_set(
+				 job_ptr->select_jobinfo,
+				 SELECT_JOBDATA_MLOADER_IMAGE,
+				 image);
 		 }
 	 }
 	 select_g_select_jobinfo_get(job_specs->select_jobinfo,
-			      SELECT_JOBDATA_RAMDISK_IMAGE, &image);
+				     SELECT_JOBDATA_RAMDISK_IMAGE, &image);
 	 if (image) {
 		 if (!IS_JOB_PENDING(job_ptr))
 			 error_code = ESLURM_DISABLED;
 		 else {
 			 info("update_job: setting RamdiskImage to %s for "
 			      "jobid %u", image, job_ptr->job_id);
-			 select_g_select_jobinfo_set(job_ptr->select_jobinfo,
-					      SELECT_JOBDATA_RAMDISK_IMAGE,
-					      image);
+			 select_g_select_jobinfo_set(
+				 job_ptr->select_jobinfo,
+				 SELECT_JOBDATA_RAMDISK_IMAGE,
+				 image);
 		 }
 	 }
  }
diff --git a/src/sview/job_info.c b/src/sview/job_info.c
index ab4abc58303..d88c770b308 100644
--- a/src/sview/job_info.c
+++ b/src/sview/job_info.c
@@ -132,9 +132,6 @@ enum {
 	SORTID_ROTATE,
 #endif
 	SORTID_SHARED,
-#ifdef HAVE_BG
-	SORTID_START,
-#endif
 	SORTID_START_TIME,
 	SORTID_STATE,
 	SORTID_STATE_NUM,
@@ -174,8 +171,6 @@ static display_data_t display_data_job[] = {
 	 create_model_job, admin_edit_job},
 	{G_TYPE_STRING, SORTID_GEOMETRY, "Geometry", 
 	 FALSE, EDIT_TEXTBOX, refresh_job, create_model_job, admin_edit_job},
-	{G_TYPE_STRING, SORTID_START, "Start", 
-	 FALSE, EDIT_TEXTBOX, refresh_job, create_model_job, admin_edit_job},
 	{G_TYPE_STRING, SORTID_ROTATE, "Rotate", 
 	 FALSE, EDIT_MODEL, refresh_job, create_model_job, admin_edit_job},
 	{G_TYPE_STRING, SORTID_CONNECTION, "Connection", 
@@ -759,42 +754,6 @@ static const char *_set_job_msg(job_desc_msg_t *job_msg, const char *new_text,
 					    SELECT_JOBDATA_GEOMETRY,
 					    (void *) &geo);
 		
-		break;
-	case SORTID_START:
-		type = "start";
-		token = strtok_r(geometry_tmp, delimiter, &next_ptr);
-		for (j=0; j<SYSTEM_DIMENSIONS; j++)
-			geo[j] = (uint16_t) NO_VAL;
-		for (j=0; j<SYSTEM_DIMENSIONS; j++) {
-			if (token == NULL) {
-				//error("insufficient dimensions in "
-				//      "Geometry");
-				goto return_error;
-			}
-			geo[j] = (uint16_t) atoi(token);
-			if (geo[j] <= 0) {
-				//error("invalid --geometry argument");
-				xfree(original_ptr);
-				goto return_error;
-				break;
-			}
-			geometry_tmp = next_ptr;
-			token = strtok_r(geometry_tmp, delimiter, 
-					 &next_ptr);
-		}
-		if (token != NULL) {
-			//error("too many dimensions in Geometry");
-			xfree(original_ptr);
-			goto return_error;
-		}
-		
-		if(!job_msg->select_jobinfo)
-			job_msg->select_jobinfo 
-				= select_g_select_jobinfo_alloc();
-		select_g_select_jobinfo_set(job_msg->select_jobinfo,
-					    SELECT_JOBDATA_START,
-					    (void *) &geo);
-		
 		break;
 	case SORTID_ROTATE:
 		type = "rotate";	
@@ -1299,14 +1258,6 @@ static void _layout_job_record(GtkTreeView *treeview,
 					   tmp_char, 
 					   sizeof(tmp_char), 
 					   SELECT_PRINT_GEOMETRY));
-	add_display_treestore_line(update, treestore, &iter, 
-				   find_col_name(display_data_job,
-						 SORTID_START), 
-				   select_g_select_jobinfo_sprint(
-					   job_ptr->select_jobinfo, 
-					   tmp_char, 
-					   sizeof(tmp_char), 
-					   SELECT_PRINT_START));
 	add_display_treestore_line(update, treestore, &iter, 
 				   find_col_name(display_data_job,
 						 SORTID_MAX_PROCS), 
@@ -1575,13 +1526,6 @@ static void _update_job_record(sview_job_info_t *sview_job_info_ptr,
 				   tmp_char, 
 				   sizeof(tmp_char), 
 				   SELECT_PRINT_GEOMETRY), -1);
-	gtk_tree_store_set(treestore, iter, 
-			   SORTID_START, 
-			   select_g_select_jobinfo_sprint(
-				   job_ptr->select_jobinfo, 
-				   tmp_char, 
-				   sizeof(tmp_char), 
-				   SELECT_PRINT_START), -1);
 	gtk_tree_store_set(treestore, iter, 
 			   SORTID_MAX_PROCS, 
 			   select_g_select_jobinfo_sprint(
-- 
GitLab