From 12bb17d88fdbe195e4ad282a9f4e3fc768be2227 Mon Sep 17 00:00:00 2001
From: Mehdi Dogguy <mehdi@debian.org>
Date: Mon, 8 Sep 2014 21:32:47 +0200
Subject: [PATCH] Imported Upstream version 2.0.9

---
 META                                          |  4 +-
 NEWS                                          | 53 ++++++++++++++-
 contribs/perlapi/Makefile.am                  |  2 +-
 contribs/perlapi/Makefile.in                  |  2 +-
 doc/man/man1/sacct.1                          |  6 +-
 doc/man/man1/salloc.1                         |  2 +-
 doc/man/man1/sbatch.1                         |  2 +-
 doc/man/man1/scontrol.1                       |  4 +-
 doc/man/man1/sreport.1                        |  4 +-
 doc/man/man1/srun.1                           |  2 +-
 slurm.spec                                    |  6 +-
 src/common/assoc_mgr.c                        | 59 ++++++++++++++---
 src/common/env.c                              |  2 +-
 src/common/parse_time.c                       |  2 +-
 src/common/read_config.c                      | 64 ++++++++++++++++---
 src/common/slurm_accounting_storage.h         |  2 +-
 src/common/slurm_resource_info.c              |  8 +--
 .../filetxt/filetxt_jobacct_process.c         |  2 +-
 .../mysql/accounting_storage_mysql.c          | 25 ++++----
 .../mysql/mysql_jobacct_process.c             | 11 +++-
 .../accounting_storage/mysql/mysql_rollup.c   | 13 +++-
 .../pgsql/accounting_storage_pgsql.c          |  8 +--
 src/plugins/checkpoint/xlch/checkpoint_xlch.c |  1 +
 src/plugins/sched/backfill/backfill.c         |  6 +-
 src/plugins/sched/wiki/job_modify.c           |  8 ++-
 src/plugins/sched/wiki/start_job.c            |  2 +-
 src/plugins/sched/wiki2/job_modify.c          | 18 ++++--
 src/plugins/sched/wiki2/start_job.c           |  2 +-
 .../block_allocator/block_allocator.h         |  2 +-
 .../bluegene/block_allocator/bridge_linker.c  |  5 ++
 .../select/bluegene/plugin/bg_job_place.c     | 14 ++--
 .../select/bluegene/plugin/bg_job_run.c       |  6 +-
 .../select/bluegene/plugin/block_sys.c        |  8 +--
 src/plugins/select/cons_res/select_cons_res.c |  2 +-
 src/plugins/select/linear/select_linear.c     |  5 +-
 src/plugins/switch/elan/switch_elan.c         |  2 +-
 src/plugins/task/affinity/dist_tasks.c        | 10 +--
 src/sacct/options.c                           | 17 ++---
 src/sacct/print.c                             |  4 +-
 src/sacctmgr/account_functions.c              | 33 ++++++----
 src/sacctmgr/sacctmgr.c                       |  5 +-
 src/sacctmgr/user_functions.c                 | 44 +++++++------
 src/scontrol/scontrol.c                       |  5 +-
 src/sinfo/opts.c                              |  2 +-
 src/slurmctld/controller.c                    |  2 -
 src/slurmctld/job_mgr.c                       | 17 ++---
 src/slurmctld/node_mgr.c                      |  2 +-
 src/slurmctld/partition_mgr.c                 |  4 +-
 src/slurmctld/reservation.c                   |  2 +-
 src/slurmctld/trigger_mgr.c                   |  2 +-
 src/slurmd/slurmd/slurmd.c                    |  4 +-
 src/slurmd/slurmstepd/mgr.c                   |  4 +-
 src/slurmd/slurmstepd/req.c                   |  2 +-
 src/slurmd/slurmstepd/task.c                  |  2 +-
 src/slurmdbd/proc_req.c                       |  4 +-
 src/squeue/opts.c                             |  8 +--
 src/squeue/print.c                            | 20 +++---
 src/sreport/sreport.c                         |  7 +-
 src/srun/opt.c                                | 12 ++--
 src/srun/srun.c                               |  2 +-
 src/sstat/options.c                           |  4 +-
 src/sview/job_info.c                          | 36 +++++++----
 src/sview/part_info.c                         |  6 +-
 testsuite/expect/regression.py                |  4 +-
 testsuite/expect/test1.1                      |  2 +-
 testsuite/expect/test1.14                     |  2 +-
 testsuite/expect/test1.26                     |  2 +-
 testsuite/expect/test1.29                     |  2 +-
 testsuite/expect/test1.30                     |  2 +-
 testsuite/expect/test1.32                     |  2 +-
 testsuite/expect/test1.34                     |  2 +-
 testsuite/expect/test1.37                     |  2 +-
 testsuite/expect/test1.38                     |  2 +-
 testsuite/expect/test1.45                     |  2 +-
 testsuite/expect/test1.48                     |  2 +-
 testsuite/expect/test1.50                     |  2 +-
 testsuite/expect/test1.51                     |  2 +-
 testsuite/expect/test1.52                     |  2 +-
 testsuite/expect/test1.54                     |  2 +-
 testsuite/expect/test1.59                     |  4 +-
 testsuite/expect/test1.60                     |  2 +-
 testsuite/expect/test1.80                     |  4 +-
 testsuite/expect/test1.81                     |  4 +-
 testsuite/expect/test1.82                     |  4 +-
 testsuite/expect/test1.83                     |  6 +-
 testsuite/expect/test1.84                     |  4 +-
 testsuite/expect/test1.86                     |  4 +-
 testsuite/expect/test1.87                     |  2 +-
 testsuite/expect/test1.88                     |  2 +-
 testsuite/expect/test1.93                     |  2 +-
 testsuite/expect/test12.2                     |  2 +-
 testsuite/expect/test14.4                     |  6 +-
 testsuite/expect/test14.5                     |  4 +-
 testsuite/expect/test14.6                     |  2 +-
 testsuite/expect/test14.7                     |  2 +-
 testsuite/expect/test14.8                     |  6 +-
 testsuite/expect/test15.18                    |  2 +-
 testsuite/expect/test15.19                    |  4 +-
 testsuite/expect/test15.20                    |  4 +-
 testsuite/expect/test15.21                    |  6 +-
 testsuite/expect/test15.4                     |  2 +-
 testsuite/expect/test16.4                     |  2 +-
 testsuite/expect/test17.17                    |  4 +-
 testsuite/expect/test17.20                    |  2 +-
 testsuite/expect/test17.27                    |  4 +-
 testsuite/expect/test7.3                      |  2 +-
 testsuite/expect/test7.4                      |  2 +-
 testsuite/expect/test7.6                      |  2 +-
 108 files changed, 470 insertions(+), 284 deletions(-)

diff --git a/META b/META
index 4221e7c1d..cb5c75a8c 100644
--- a/META
+++ b/META
@@ -3,9 +3,9 @@
   Api_revision:  0
   Major:         2
   Meta:          1
-  Micro:         7
+  Micro:         9
   Minor:         0
   Name:          slurm
   Release:       1
   Release_tags:  dist
-  Version:       2.0.7
+  Version:       2.0.9
diff --git a/NEWS b/NEWS
index 7ab950bb3..2d0c527ce 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,57 @@
 This file describes changes in recent versions of SLURM. It primarily
 documents those changes that are of interest to users and admins.
 
+* Changes in SLURM 2.0.10
+=========================
+
+* Changes in SLURM 2.0.9
+========================
+ -- When running the mysql plugin natively MUNGE errors are now eliminated 
+    when sending updates to slurmctlds.
+ -- Check to make sure we have a default account before looking to 
+    fill in default association. 
+ -- Fix to make it so sched/wiki2 can modify a job's partition or hostlist of 
+    non-pending jobs.
+ -- Applied slurmctld prolog bug fix from Dennis Leepow to backfill.c
+ -- fixed quite a few typos (needed for debian packages)
+ -- make it so slurmctld will core dump without --enable-debug set
+ -- Fix issue when doing a rollup on reservations before a cluster has been 
+    added. 
+ -- MySQL plugin - When doing archiving end time is now decreased by 1 
+    which should be more correct.
+ -- BLUEGENE - Fixed issue where --no-rotate didn't work correctly on job
+    submissions.
+ -- BLUEGENE - made the buffer longer when submitting jobs to get the entire 
+    line.  Previously the line could be shortened prematurely.
+ -- BLUEGENE - Fix to make sure we don't erroneously set a connection type
+    to SMALL.
+ -- Type cast a negative uint64_t to int64_t to avoid confusion when doing 
+    arithmetic with it in accounting dealing with over commit time.
+
+* Changes in SLURM 2.0.8
+========================
+ -- BLUEGENE - added dub2 of stderr to put error messages sent from underlying 
+    libraries of the bridge api to the bridgeapi.log
+ -- Fixed issue with sacctmgr when modifing a user and specifying 'where'
+    after giving the user name also.
+ -- -L, --allclusters now works with sacct
+ -- Modified job table to use 32bit u/gids for those with ids greater 
+    than 16 bits.
+ -- Made minor changes for slurm to compile cleanly under gcc 4.4.1
+ -- Fixed issue with task/affinity when an allocation would run multiple sruns 
+    with the --exclusive flag in an allocation with more than 1 node.  
+    Previously when the first node was filled up no tasks would ever run 
+    on the other nodes.
+ -- Fixed sview and sacct to display correct run time and suspend time when 
+    job has been suspended.
+ -- Applied patch from Mark Grondona that fixes the validation of the
+    PluginDir to support the colon separated list of directories as documented.
+ -- BLUEGENE - squeue -o %R now prints more readable info for small blocks
+ -- sacct - fixed garbage being printed out on uninitialized variable.
+ -- Fix for mysql plugin when used without slurmdbd to register the 
+    slurmctld properly.
+ -- Fix for mysql plugin putting correct hostnames in for running steps.
+
 * Changes in SLURM 2.0.7
 ========================
  -- Fix bug in select/cons_res when nodes are configured in more than one 
@@ -4356,4 +4407,4 @@ documents those changes that are of interest to users and admins.
  -- Change directory to /tmp in slurmd if daemonizing.
  -- Logfiles are reopened on reconfigure.
  
-$Id: NEWS 18901 2009-10-14 22:34:30Z da $
+$Id: NEWS 19162 2009-12-11 22:14:21Z da $
diff --git a/contribs/perlapi/Makefile.am b/contribs/perlapi/Makefile.am
index 00939f2da..7b2a23467 100644
--- a/contribs/perlapi/Makefile.am
+++ b/contribs/perlapi/Makefile.am
@@ -31,7 +31,7 @@ $(perl_dir)/Makefile:	$(perl_dir)/Makefile.PL
 #
 # AIX needs to use LD to link. It can not use gcc.
 # Suse Linux compiles with gcc, but picks some other compiler to use for linking.
-#   Since some CFLAGS may be incompatable with this other compiler, the build
+#   Since some CFLAGS may be incompatible with this other compiler, the build
 #   may fail, as seen on BlueGene platforms.
 # Other Linux implementations sems to work fine with the LD specified as below
 #
diff --git a/contribs/perlapi/Makefile.in b/contribs/perlapi/Makefile.in
index 08f99356f..e80abed37 100644
--- a/contribs/perlapi/Makefile.in
+++ b/contribs/perlapi/Makefile.in
@@ -459,7 +459,7 @@ $(perl_dir)/Makefile:	$(perl_dir)/Makefile.PL
 #
 # AIX needs to use LD to link. It can not use gcc.
 # Suse Linux compiles with gcc, but picks some other compiler to use for linking.
-#   Since some CFLAGS may be incompatable with this other compiler, the build
+#   Since some CFLAGS may be incompatible with this other compiler, the build
 #   may fail, as seen on BlueGene platforms.
 # Other Linux implementations sems to work fine with the LD specified as below
 #
diff --git a/doc/man/man1/sacct.1 b/doc/man/man1/sacct.1
index a67e5db4c..f669b0ab3 100644
--- a/doc/man/man1/sacct.1
+++ b/doc/man/man1/sacct.1
@@ -163,12 +163,12 @@ The section titled "Job Accounting Fields" describes these fields.
 .TP
 \f3\-E \fP\f2end_time\fP\fP\f3,\fP \f3\-\-endtime\fP\f3=\fP\f2end_time\fP
 .IP
-Select jobs starting before time.
+Select jobs eligible before time.
 Valid time formats are...
 HH:MM[:SS] [AM|PM]
 MMDD[YY] or MM/DD[/YY] or MM.DD[.YY]
 MM/DD[/YY]-HH:MM[:SS]         
-YYYY-MM-DD[THH[:MM[:SS]]]
+YYYY-MM-DD[THH:MM[:SS]]
 .IP
 
 
@@ -311,7 +311,7 @@ Valid time formats are...
 HH:MM[:SS] [AM|PM]
 MMDD[YY] or MM/DD[/YY] or MM.DD[.YY]
 MM/DD[/YY]-HH:MM[:SS]         
-YYYY-MM-DD[THH[:MM[:SS]]]
+YYYY-MM-DD[THH:MM[:SS]]
 
 .TP 
 \f3\-T \fP\f3,\fP \f3\-\-truncate\fP
diff --git a/doc/man/man1/salloc.1 b/doc/man/man1/salloc.1
index aa7c8f7d7..8a9220cb4 100644
--- a/doc/man/man1/salloc.1
+++ b/doc/man/man1/salloc.1
@@ -74,7 +74,7 @@ with \fIAM\fR or \fIPM\fR for running in the morning or the evening.
 You can also say what day the job will be run, by specifying
 a date of the form \fIMMDDYY\fR or \fIMM/DD/YY\fR
 \fIYYYY-MM-DD\fR. Combine date and time using the following
-format \fIYYYY\-MM\-DD[THH[:MM[:SS]]]\fR. You can also
+format \fIYYYY\-MM\-DD[THH:MM[:SS]]\fR. You can also
 give times like \fInow + count time\-units\fR, where the time\-units
 can be \fIseconds\fR (default), \fIminutes\fR, \fIhours\fR,
 \fIdays\fR, or \fIweeks\fR and you can tell SLURM to run
diff --git a/doc/man/man1/sbatch.1 b/doc/man/man1/sbatch.1
index 5d28eb45a..d0bc75973 100644
--- a/doc/man/man1/sbatch.1
+++ b/doc/man/man1/sbatch.1
@@ -73,7 +73,7 @@ with \fIAM\fR or \fIPM\fR for running in the morning or the evening.
 You can also say what day the job will be run, by specifying
 a date of the form \fIMMDDYY\fR or \fIMM/DD/YY\fR
 \fIYYYY-MM-DD\fR. Combine date and time using the following
-format \fIYYYY\-MM\-DD[THH[:MM[:SS]]]\fR. You can also
+format \fIYYYY\-MM\-DD[THH:MM[:SS]]\fR. You can also
 give times like \fInow + count time\-units\fR, where the time\-units
 can be \fIseconds\fR (default), \fIminutes\fR, \fIhours\fR,
 \fIdays\fR, or \fIweeks\fR and you can tell SLURM to run
diff --git a/doc/man/man1/scontrol.1 b/doc/man/man1/scontrol.1
index b3decb0f4..49ef7b0fc 100644
--- a/doc/man/man1/scontrol.1
+++ b/doc/man/man1/scontrol.1
@@ -433,7 +433,7 @@ You may also specify \fImidnight\fR, \fInoon\fR, or
 with \fIAM\fR or \fIPM\fR for running in the morning or the evening.
 You can also say what day the job will be run, by specifying
 a date of the form \fIMMDDYY\fR or \fIMM/DD/YY\fR or \fIMM.DD.YY\fR, 
-or a date and time as \fIYYYY\-MM\-DD[THH[:MM[:SS]]]\fR.  You can also
+or a date and time as \fIYYYY\-MM\-DD[THH:MM[:SS]]\fR.  You can also
 give times like \fInow + count time\-units\fR, where the time\-units
 can be \fIminutes\fR, \fIhours\fR, \fIdays\fR, or \fIweeks\fR
 and you can tell SLURM to run the job today with the keyword
@@ -611,7 +611,7 @@ You may also specify \fImidnight\fR, \fInoon\fR, or
 with \fIAM\fR or \fIPM\fR for running in the morning or the evening.
 You can also say what day the job will be run, by specifying
 a date of the form \fIMMDDYY\fR or \fIMM/DD/YY\fR or \fIMM.DD.YY\fR, 
-or a date and time as \fIYYYY\-MM\-DD[THH[:MM[:SS]]]\fR.  You can also
+or a date and time as \fIYYYY\-MM\-DD[THH:MM[:SS]]\fR.  You can also
 give times like \fInow + count time\-units\fR, where the time\-units
 can be \fIminutes\fR, \fIhours\fR, \fIdays\fR, or \fIweeks\fR
 and you can tell SLURM to run the job today with the keyword
diff --git a/doc/man/man1/sreport.1 b/doc/man/man1/sreport.1
index e4c071972..0e39f1832 100644
--- a/doc/man/man1/sreport.1
+++ b/doc/man/man1/sreport.1
@@ -218,7 +218,7 @@ Valid time formats are...
 HH:MM[:SS] [AM|PM]
 MMDD[YY] or MM/DD[/YY] or MM.DD[.YY]
 MM/DD[/YY]-HH:MM[:SS]         
-YYYY-MM-DD[THH[:MM[:SS]]]
+YYYY-MM-DD[THH:MM[:SS]]
 .TP
 .B Format=<OPT>
 Comma separated list of fields to display in report.
@@ -236,7 +236,7 @@ Valid time formats are...
 HH:MM[:SS] [AM|PM]
 MMDD[YY] or MM/DD[/YY] or MM.DD[.YY]
 MM/DD[/YY]-HH:MM[:SS]         
-YYYY-MM-DD[THH[:MM[:SS]]]
+YYYY-MM-DD[THH:MM[:SS]]
 .RE
 
 .TP
diff --git a/doc/man/man1/srun.1 b/doc/man/man1/srun.1
index 2b5051649..7b1d72b36 100644
--- a/doc/man/man1/srun.1
+++ b/doc/man/man1/srun.1
@@ -61,7 +61,7 @@ with \fIAM\fR or \fIPM\fR for running in the morning or the evening.
 You can also say what day the job will be run, by specifying
 a date of the form \fIMMDDYY\fR or \fIMM/DD/YY\fR
 \fIYYYY-MM-DD\fR. Combine date and time using the following
-format \fIYYYY\-MM\-DD[THH[:MM[:SS]]]\fR. You can also
+format \fIYYYY\-MM\-DD[THH:MM[:SS]]\fR. You can also
 give times like \fInow + count time\-units\fR, where the time\-units
 can be \fIseconds\fR (default), \fIminutes\fR, \fIhours\fR,
 \fIdays\fR, or \fIweeks\fR and you can tell SLURM to run
diff --git a/slurm.spec b/slurm.spec
index 18f5691cb..0acac2996 100644
--- a/slurm.spec
+++ b/slurm.spec
@@ -75,14 +75,14 @@
 %endif
 
 Name:    slurm
-Version: 2.0.7
+Version: 2.0.9
 Release: 1%{?dist}
 
 Summary: Simple Linux Utility for Resource Management
 
 License: GPL 
 Group: System Environment/Base
-Source: slurm-2.0.7.tar.bz2
+Source: slurm-2.0.9.tar.bz2
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
 URL: https://computing.llnl.gov/linux/slurm/
 
@@ -269,7 +269,7 @@ SLURM process tracking plugin for SGI job containers.
 #############################################################################
 
 %prep
-%setup -n slurm-2.0.7
+%setup -n slurm-2.0.9
 
 %build
 %configure --program-prefix=%{?_program_prefix:%{_program_prefix}} \
diff --git a/src/common/assoc_mgr.c b/src/common/assoc_mgr.c
index cd21fdbde..1bd012722 100644
--- a/src/common/assoc_mgr.c
+++ b/src/common/assoc_mgr.c
@@ -909,14 +909,30 @@ extern int assoc_mgr_fill_in_assoc(void *db_conn, acct_association_rec_t *assoc,
 			if(assoc_mgr_fill_in_user(db_conn, &user,
 						  enforce, NULL) 
 			   == SLURM_ERROR) {
-				if(enforce & ACCOUNTING_ENFORCE_ASSOCS) 
+				if(enforce & ACCOUNTING_ENFORCE_ASSOCS) {
+					error("User %d not found", assoc->uid);
 					return SLURM_ERROR;
-				else {
+				} else {
+					debug3("User %d not found", assoc->uid);
 					return SLURM_SUCCESS;
 				}
 			}					
 			assoc->user = user.name;
-			assoc->acct = user.default_acct;
+			if(user.default_acct)
+				assoc->acct = user.default_acct;
+			else {
+				if(enforce & ACCOUNTING_ENFORCE_ASSOCS) {
+					error("User %s(%d) doesn't have a "
+					      "default account", assoc->user,
+					      assoc->uid);
+					return SLURM_ERROR;
+				} else {
+					debug3("User %s(%d) doesn't have a "
+					       "default account", assoc->user,
+					       assoc->uid);
+					return SLURM_SUCCESS;
+				}
+			}
 		}		
 		
 		if(!assoc->cluster)
@@ -1227,15 +1243,32 @@ extern int assoc_mgr_fill_in_wckey(void *db_conn, acct_wckey_rec_t *wckey,
 			if(assoc_mgr_fill_in_user(db_conn, &user,
 						  enforce, NULL) 
 			   == SLURM_ERROR) {
-				if(enforce & ACCOUNTING_ENFORCE_WCKEYS) 
+				if(enforce & ACCOUNTING_ENFORCE_WCKEYS) {
+					error("User %d not found", wckey->uid);
 					return SLURM_ERROR;
-				else {
+				} else {
+					debug3("User %d not found", wckey->uid);
 					return SLURM_SUCCESS;
 				}
 			}
 			if(!wckey->user)
 				wckey->user = user.name;
-			wckey->name = user.default_wckey;
+			if(user.default_wckey)
+				wckey->name = user.default_wckey;
+			else {
+				if(enforce & ACCOUNTING_ENFORCE_WCKEYS) {
+					error("User %s(%d) doesn't have a "
+					      "default wckey", user.name,
+					      user.uid);
+					return SLURM_ERROR;
+				} else {
+					debug3("User %s(%d) doesn't have a "
+					       "default wckey", user.name,
+					       user.uid);
+					return SLURM_SUCCESS;
+				}
+			}
+			
 		} else if(wckey->uid == (uint32_t)NO_VAL && !wckey->user) {
 			if(enforce & ACCOUNTING_ENFORCE_WCKEYS) {
 				error("get_wckey_id: "
@@ -1441,7 +1474,13 @@ extern List assoc_mgr_get_shares(void *db_conn,
 		   >= ACCT_ADMIN_OPERATOR) 
 			is_admin = 1;	
 		else {
-			assoc_mgr_fill_in_user(db_conn, &user, 1, NULL);
+			if(assoc_mgr_fill_in_user(
+				   db_conn, &user,
+				   ACCOUNTING_ENFORCE_ASSOCS, NULL) 
+			   == SLURM_ERROR) {
+				debug3("User %d not found", user.uid);
+				goto end_it;
+			}
 		}
 	}
 
@@ -1546,7 +1585,7 @@ extern List assoc_mgr_get_shares(void *db_conn,
 	}
 	list_iterator_destroy(itr);
 	slurm_mutex_unlock(&assoc_mgr_association_lock);
-	
+end_it:	
 	if(user_itr) 
 		list_iterator_destroy(user_itr);
 	if(acct_itr) 
@@ -2396,7 +2435,7 @@ extern int load_assoc_usage(char *state_save_location)
 	debug3("Version in assoc_mgr_state header is %u", ver);
 	if (ver != ASSOC_USAGE_VERSION) {
 		error("***********************************************");
-		error("Can not recover usage_mgr state, incompatable version, "
+		error("Can not recover usage_mgr state, incompatible version, "
 		      "got %u need %u", ver, ASSOC_USAGE_VERSION);
 		error("***********************************************");
 		free_buf(buffer);
@@ -2498,7 +2537,7 @@ extern int load_assoc_mgr_state(char *state_save_location)
 	debug3("Version in assoc_mgr_state header is %u", ver);
 	if (ver > SLURMDBD_VERSION || ver < SLURMDBD_VERSION_MIN) {
 		error("***********************************************");
-		error("Can not recover assoc_mgr state, incompatable version, "
+		error("Can not recover assoc_mgr state, incompatible version, "
 		      "got %u need > %u <= %u", ver,
 		      SLURMDBD_VERSION_MIN, SLURMDBD_VERSION);
 		error("***********************************************");
diff --git a/src/common/env.c b/src/common/env.c
index 5839383f3..b61ac8b7f 100644
--- a/src/common/env.c
+++ b/src/common/env.c
@@ -794,7 +794,7 @@ int setup_env(env_t *env, bool preserve_env)
 /*
  * Return a string representation of an array of uint16_t elements.
  * Each value in the array is printed in decimal notation and elements
- * are seperated by a comma.  If sequential elements in the array
+ * are separated by a comma.  If sequential elements in the array
  * contain the same value, the value is written out just once followed
  * by "(xN)", where "N" is the number of times the value is repeated.
  *
diff --git a/src/common/parse_time.c b/src/common/parse_time.c
index a70435cba..2da923ce0 100644
--- a/src/common/parse_time.c
+++ b/src/common/parse_time.c
@@ -314,7 +314,7 @@ static int _get_date(char *time_str, int *pos, int *month, int *mday, int *year)
  *   HH:MM[:SS] [AM|PM]
  *   MMDD[YY] or MM/DD[/YY] or MM.DD[.YY]
  *   MM/DD[/YY]-HH:MM[:SS]
- *   YYYY-MM-DD[THH[:MM[:SS]]]
+ *   YYYY-MM-DD[THH:MM[:SS]]
  *
  *   now + count [minutes | hours | days | weeks]
  * 
diff --git a/src/common/read_config.c b/src/common/read_config.c
index f8e396aa9..493bdbf7b 100644
--- a/src/common/read_config.c
+++ b/src/common/read_config.c
@@ -73,6 +73,7 @@
 #include "src/common/slurm_selecttype_info.h"
 #include "src/common/util-net.h"
 #include "src/common/uid.h"
+#include "src/common/strlcpy.h"
 
 /* Instantiation of the "extern slurm_ctl_conf_t slurmcltd_conf"
  * found in slurmctld.h */
@@ -112,7 +113,7 @@ static int _parse_nodename(void **dest, slurm_parser_enum_t type,
 			   const char *key, const char *value,
 			   const char *line, char **leftover);
 static void _destroy_nodename(void *ptr);
-static bool _is_valid_dir(char *file_name);
+static bool _is_valid_path(char *path, char *msg);
 static int _parse_partitionname(void **dest, slurm_parser_enum_t type,
 				const char *key, const char *value,
 				const char *line, char **leftover);
@@ -278,13 +279,60 @@ s_p_options_t slurm_conf_options[] = {
 	{NULL}
 };
 
-static bool _is_valid_dir(char *file_name)
+static bool _is_valid_path (char *path, char *msg)
 {
-	struct stat buf;
+	/*
+	 *  Allocate temporary space for walking the list of dirs:
+	 */
+	int pathlen = strlen (path);
+	char *buf = xmalloc (pathlen + 2);
+	char *p, *entry;
+
+	if (strlcpy (buf, path, pathlen + 1) > pathlen + 1) {
+		error ("is_valid_path: Failed to copy path!");
+		goto out_false;
+	}
+
+	/*
+	*  Ensure the path ends with a ':'
+	*/
+	if (buf [pathlen - 1] != ':') {
+		buf [pathlen] = ':';
+		buf [pathlen + 1] = '\0';
+	}
+
+
+	entry = buf;
+	while ((p = strchr (entry, ':'))) {
+		struct stat st;
+		/*
+		*  NUL terminate colon and advance p
+		*/
+		*(p++) = '\0';
+
+		/*
+		*  Check to see if current path element is a valid dir
+		*/
+		if (stat (entry, &st) < 0) {
+			error ("%s: %s: %m", msg, entry);
+			goto out_false;
+		}
+		else if (!S_ISDIR (st.st_mode)) {
+			error ("%s: %s: Not a directory");
+			goto out_false;
+		}
+		/*
+		*  Otherwise path element is valid, continue..
+		*/
+		entry = p;
+	}
+
+	xfree (buf);
+ 	return true;
 
-	if (stat(file_name, &buf) || !S_ISDIR(buf.st_mode))
-		return false;
-	return true;
+  out_false:
+	xfree (buf);
+	return false;
 }
 
 static int _defunct_option(void **dest, slurm_parser_enum_t type,
@@ -2087,7 +2135,7 @@ _validate_and_set_defaults(slurm_ctl_conf_t *conf, s_p_hashtbl_t *hashtbl)
 
 	if (!s_p_get_string(&conf->plugindir, "PluginDir", hashtbl))
 		conf->plugindir = xstrdup(default_plugin_path);
-	if (!_is_valid_dir(conf->plugindir))
+	if (!_is_valid_path(conf->plugindir, "PluginDir"))
 		fatal("Bad value \"%s\" for PluginDir", conf->plugindir);
 
 	if (!s_p_get_string(&conf->plugstack, "PlugStackConfig", hashtbl))
@@ -2182,7 +2230,7 @@ _validate_and_set_defaults(slurm_ctl_conf_t *conf, s_p_hashtbl_t *hashtbl)
 	}
 	if ((!strcmp(conf->switch_type, "switch/elan"))
 	    && (!strcmp(conf->proctrack_type,"proctrack/linuxproc")))
-		fatal("proctrack/linuxproc is incompatable with switch/elan");
+		fatal("proctrack/linuxproc is incompatible with switch/elan");
 
 	if (s_p_get_string(&temp_str, "PrivateData", hashtbl)) {
 		if (strstr(temp_str, "account"))
diff --git a/src/common/slurm_accounting_storage.h b/src/common/slurm_accounting_storage.h
index 24b1df9c8..236847cc8 100644
--- a/src/common/slurm_accounting_storage.h
+++ b/src/common/slurm_accounting_storage.h
@@ -365,7 +365,7 @@ typedef struct {
 
 typedef struct {
 	uint64_t alloc_secs; /* number of cpu seconds allocated */
-	char *assocs; /* comma seperated list of associations */
+	char *assocs; /* comma separated list of associations */
 	char *cluster; /* cluster reservation is for */
 	uint32_t cpus; /* how many cpus are in reservation */
 	uint64_t down_secs; /* number of cpu seconds down */
diff --git a/src/common/slurm_resource_info.c b/src/common/slurm_resource_info.c
index 3e912427f..d8a13a40d 100644
--- a/src/common/slurm_resource_info.c
+++ b/src/common/slurm_resource_info.c
@@ -563,7 +563,7 @@ int slurm_verify_cpu_bind(const char *arg, char **cpu_bind,
 			if (task_plugin_param & 
 			    (CPU_BIND_NONE | CPU_BIND_TO_CORES | 
 			     CPU_BIND_TO_THREADS | CPU_BIND_TO_LDOMS)) {
-				error("--cpu_bind=sockets incompatable with "
+				error("--cpu_bind=sockets incompatible with "
 				      "TaskPluginParam configuration "
 				      "parameter");
 				return -1;
@@ -575,7 +575,7 @@ int slurm_verify_cpu_bind(const char *arg, char **cpu_bind,
 			if (task_plugin_param & 
 			    (CPU_BIND_NONE | CPU_BIND_TO_SOCKETS | 
 			     CPU_BIND_TO_THREADS | CPU_BIND_TO_LDOMS)) {
-				error("--cpu_bind=cores incompatable with "
+				error("--cpu_bind=cores incompatible with "
 				      "TaskPluginParam configuration "
 				      "parameter");
 				return -1;
@@ -587,7 +587,7 @@ int slurm_verify_cpu_bind(const char *arg, char **cpu_bind,
 			if (task_plugin_param & 
 			    (CPU_BIND_NONE | CPU_BIND_TO_SOCKETS | 
 			     CPU_BIND_TO_CORES | CPU_BIND_TO_LDOMS)) {
-				error("--cpu_bind=threads incompatable with "
+				error("--cpu_bind=threads incompatible with "
 				      "TaskPluginParam configuration "
 				      "parameter");
 				return -1;
@@ -599,7 +599,7 @@ int slurm_verify_cpu_bind(const char *arg, char **cpu_bind,
 			if (task_plugin_param & 
 			    (CPU_BIND_NONE | CPU_BIND_TO_SOCKETS | 
 			     CPU_BIND_TO_CORES | CPU_BIND_TO_THREADS)) {
-				error("--cpu_bind=threads incompatable with "
+				error("--cpu_bind=threads incompatible with "
 				      "TaskPluginParam configuration "
 				      "parameter");
 				return -1;
diff --git a/src/plugins/accounting_storage/filetxt/filetxt_jobacct_process.c b/src/plugins/accounting_storage/filetxt/filetxt_jobacct_process.c
index 19dd4ac35..e688a8faf 100644
--- a/src/plugins/accounting_storage/filetxt/filetxt_jobacct_process.c
+++ b/src/plugins/accounting_storage/filetxt/filetxt_jobacct_process.c
@@ -816,7 +816,7 @@ static int _parse_line(char *f[], void **data, int len)
 			(*job)->exitcode = atoi(f[F_JOB_EXITCODE]);
 		break;
 	default:
-		error("UNKOWN TYPE %d",i);
+		error("UNKNOWN TYPE %d",i);
 		break;
 	}
 	return SLURM_SUCCESS;
diff --git a/src/plugins/accounting_storage/mysql/accounting_storage_mysql.c b/src/plugins/accounting_storage/mysql/accounting_storage_mysql.c
index 46deb4e97..317d9a030 100644
--- a/src/plugins/accounting_storage/mysql/accounting_storage_mysql.c
+++ b/src/plugins/accounting_storage/mysql/accounting_storage_mysql.c
@@ -2938,8 +2938,8 @@ static int _mysql_acct_check_tables(MYSQL *db_conn)
 		{ "associd", "int unsigned not null" },
 		{ "wckey", "tinytext not null default ''" },
 		{ "wckeyid", "int unsigned not null" },
-		{ "uid", "smallint unsigned not null" },
-		{ "gid", "smallint unsigned not null" },
+		{ "uid", "int unsigned not null" },
+		{ "gid", "int unsigned not null" },
 		{ "cluster", "tinytext not null" },
 		{ "partition", "tinytext not null" },
 		{ "blockid", "tinytext" },
@@ -2960,7 +2960,7 @@ static int _mysql_acct_check_tables(MYSQL *db_conn)
 		{ "alloc_nodes", "int unsigned not null" }, 
 		{ "nodelist", "text" },
 		{ "node_inx", "text" },
-		{ "kill_requid", "smallint default -1 not null" },
+		{ "kill_requid", "int default -1 not null" },
 		{ "qos", "smallint default 0" },
 		{ "resvid", "int unsigned not null" },
 		{ NULL, NULL}
@@ -3026,7 +3026,7 @@ static int _mysql_acct_check_tables(MYSQL *db_conn)
 		{ "nodelist", "text not null" },
 		{ "node_inx", "text" },
 		{ "state", "smallint not null" },
-		{ "kill_requid", "smallint default -1 not null" },
+		{ "kill_requid", "int default -1 not null" },
 		{ "comp_code", "int default 0 not null" },
 		{ "nodes", "int unsigned not null" },
 		{ "cpus", "int unsigned not null" },
@@ -3547,7 +3547,8 @@ extern int acct_storage_p_commit(mysql_conn_t *mysql_conn, bool commit)
 			slurm_msg_t_init(&req);
 			slurm_set_addr_char(&req.address, atoi(row[1]), row[0]);
 			req.msg_type = ACCOUNTING_UPDATE_MSG;
-			req.flags = SLURM_GLOBAL_AUTH_KEY;
+			if(slurmdbd_conf)
+				req.flags = SLURM_GLOBAL_AUTH_KEY;
 			req.data = &msg;			
 			slurm_msg_t_init(&resp);
 			
@@ -10168,7 +10169,7 @@ extern int clusteracct_storage_p_register_ctld(mysql_conn_t *mysql_conn,
 
 	query = xstrdup_printf(
 		"update %s set deleted=0, mod_time=%d, "
-		"control_host='%s', control_port=%u, rpc_version=%d, "
+		"control_host='%s', control_port=%u, rpc_version=%d "
 		"where name='%s';",
 		cluster_table, now, address, port,
 		SLURMDBD_VERSION,
@@ -10852,16 +10853,18 @@ extern int jobacct_storage_p_step_start(mysql_conn_t *mysql_conn,
 	   %d */
 	query = xstrdup_printf(
 		"insert into %s (id, stepid, start, name, state, "
-		"cpus, nodes, node_inx, tasks, nodelist, task_dist) "
+		"cpus, nodes, tasks, nodelist, node_inx, task_dist) "
 		"values (%d, %d, %d, \"%s\", %d, %d, %d, %d, "
 		"\"%s\", \"%s\", %d) "
 		"on duplicate key update cpus=%d, nodes=%d, "
-		"tasks=%d, end=0, state=%d, node_inx=\"%s\", task_dist=%d",
+		"tasks=%d, end=0, state=%d, "
+		"nodelist=\"%s\", node_inx=\"%s\", task_dist=%d",
 		step_table, step_ptr->job_ptr->db_index,
 		step_ptr->step_id, 
 		(int)step_ptr->start_time, step_ptr->name,
 		JOB_RUNNING, cpus, nodes, tasks, node_list, node_inx, task_dist,
-		cpus, nodes, tasks, JOB_RUNNING, node_inx, task_dist);
+		cpus, nodes, tasks, JOB_RUNNING, 
+		node_list, node_inx, task_dist);
 	debug3("%d(%d) query\n%s", mysql_conn->conn, __LINE__, query);
 	rc = mysql_db_query(mysql_conn->db_conn, query);
 	xfree(query);
@@ -10976,8 +10979,8 @@ extern int jobacct_storage_p_step_complete(mysql_conn_t *mysql_conn,
 	query = xstrdup_printf(
 		"update %s set end=%d, state=%d, "
 		"kill_requid=%d, comp_code=%d, "
-		"user_sec=%ld, user_usec=%ld, "
-		"sys_sec=%ld, sys_usec=%ld, "
+		"user_sec=%u, user_usec=%u, "
+		"sys_sec=%u, sys_usec=%u, "
 		"max_vsize=%u, max_vsize_task=%u, "
 		"max_vsize_node=%u, ave_vsize=%f, "
 		"max_rss=%u, max_rss_task=%u, "
diff --git a/src/plugins/accounting_storage/mysql/mysql_jobacct_process.c b/src/plugins/accounting_storage/mysql/mysql_jobacct_process.c
index 1a679da66..453c482c7 100644
--- a/src/plugins/accounting_storage/mysql/mysql_jobacct_process.c
+++ b/src/plugins/accounting_storage/mysql/mysql_jobacct_process.c
@@ -1062,6 +1062,7 @@ extern List mysql_jobacct_process_get_jobs(mysql_conn_t *mysql_conn, uid_t uid,
 		job = create_jobacct_job_rec();
 		list_append(job_list, job);
 
+		job->state = atoi(row[JOB_REQ_STATE]);
 		job->alloc_cpus = atoi(row[JOB_REQ_ALLOC_CPUS]);
 		job->alloc_nodes = atoi(row[JOB_REQ_ALLOC_NODES]);
 		job->associd = atoi(row[JOB_REQ_ASSOCID]);
@@ -1171,7 +1172,10 @@ extern List mysql_jobacct_process_get_jobs(mysql_conn_t *mysql_conn, uid_t uid,
 			}
 		} else {
 			job->suspended = atoi(row[JOB_REQ_SUSPENDED]);
-
+			
+			/* fix the suspended number to be correct */
+			if(job->state == JOB_SUSPENDED)
+				job->suspended = now - job->suspended;
 			if(!job->start) {
 				job->elapsed = 0;
 			} else if(!job->end) {
@@ -1203,7 +1207,6 @@ extern List mysql_jobacct_process_get_jobs(mysql_conn_t *mysql_conn, uid_t uid,
 		}
 			
 		job->track_steps = atoi(row[JOB_REQ_TRACKSTEPS]);
-		job->state = atoi(row[JOB_REQ_STATE]);
 		job->priority = atoi(row[JOB_REQ_PRIORITY]);
 		job->req_cpus = atoi(row[JOB_REQ_REQ_CPUS]);
 		job->requid = atoi(row[JOB_REQ_KILL_REQUID]);
@@ -1647,6 +1650,7 @@ extern int mysql_jobacct_process_archive(mysql_conn_t *mysql_conn,
 		time_tm.tm_mon -= arch_cond->purge_event;
 		time_tm.tm_isdst = -1;
 		curr_end = mktime(&time_tm);
+		curr_end--;
 
 		debug4("from %d - %d months purging events from before %d", 
 		       last_submit, arch_cond->purge_event, curr_end);
@@ -1734,6 +1738,7 @@ exit_events:
 		time_tm.tm_mon -= arch_cond->purge_suspend;
 		time_tm.tm_isdst = -1;
 		curr_end = mktime(&time_tm);
+		curr_end--;
 
 		debug4("from %d - %d months purging suspend from before %d", 
 		       last_submit, arch_cond->purge_suspend, curr_end);
@@ -1820,6 +1825,7 @@ exit_suspend:
 		time_tm.tm_mon -= arch_cond->purge_step;
 		time_tm.tm_isdst = -1;
 		curr_end = mktime(&time_tm);
+		curr_end--;
 
 		debug4("from %d - %d months purging steps from before %d", 
 		       last_submit, arch_cond->purge_step, curr_end);
@@ -1908,6 +1914,7 @@ exit_steps:
 		time_tm.tm_mon -= arch_cond->purge_job;
 		time_tm.tm_isdst = -1;
 		curr_end = mktime(&time_tm);
+		curr_end--;
 
 		debug4("from %d - %d months purging jobs from before %d", 
 		       last_submit, arch_cond->purge_job, curr_end);
diff --git a/src/plugins/accounting_storage/mysql/mysql_rollup.c b/src/plugins/accounting_storage/mysql/mysql_rollup.c
index e01bc4030..ff3654b68 100644
--- a/src/plugins/accounting_storage/mysql/mysql_rollup.c
+++ b/src/plugins/accounting_storage/mysql/mysql_rollup.c
@@ -437,7 +437,14 @@ extern int mysql_hourly_rollup(mysql_conn_t *mysql_conn,
 					}
 				}				
 			}
-			if(row_flags & RESERVE_FLAG_MAINT)
+
+			/* only record time for the clusters that have
+			   registered.  This continue should rarely if
+			   ever happen.
+			*/
+			if(!c_usage) 
+				continue;
+			else if(row_flags & RESERVE_FLAG_MAINT)
 				c_usage->pd_cpu += r_usage->total_time;
 			else
 				c_usage->a_cpu += r_usage->total_time;
@@ -797,8 +804,8 @@ extern int mysql_hourly_rollup(mysql_conn_t *mysql_conn,
 			if((int64_t)c_usage->i_cpu < 0) {
 /* 				info("got %d %d %d", c_usage->r_cpu, */
 /* 				     c_usage->i_cpu, c_usage->o_cpu); */
-				c_usage->r_cpu += c_usage->i_cpu;
-				c_usage->o_cpu -= c_usage->i_cpu;
+				c_usage->r_cpu += (int64_t)c_usage->i_cpu;
+				c_usage->o_cpu -= (int64_t)c_usage->i_cpu;
 				c_usage->i_cpu = 0;
 				if((int64_t)c_usage->r_cpu < 0)
 					c_usage->r_cpu = 0;
diff --git a/src/plugins/accounting_storage/pgsql/accounting_storage_pgsql.c b/src/plugins/accounting_storage/pgsql/accounting_storage_pgsql.c
index 060d6b4a6..73cfb3c46 100644
--- a/src/plugins/accounting_storage/pgsql/accounting_storage_pgsql.c
+++ b/src/plugins/accounting_storage/pgsql/accounting_storage_pgsql.c
@@ -241,8 +241,8 @@ static int _pgsql_acct_check_tables(PGconn *acct_pgsql_db,
 		{ "jobid", "integer not null" },
 		{ "associd", "bigint not null" },
 		{ "wckey", "text not null default ''" },
-		{ "uid", "smallint not null" },
-		{ "gid", "smallint not null" },
+		{ "uid", "integer not null" },
+		{ "gid", "integer not null" },
 		{ "cluster", "text" },
 		{ "partition", "text not null" },
 		{ "blockid", "text" },
@@ -260,7 +260,7 @@ static int _pgsql_acct_check_tables(PGconn *acct_pgsql_db,
 		{ "req_cpus", "int not null" }, 
 		{ "alloc_cpus", "int not null" }, 
 		{ "nodelist", "text" },
-		{ "kill_requid", "smallint default -1 not null" },
+		{ "kill_requid", "integer default -1 not null" },
 		{ "qos", "smallint default 0" },
 		{ NULL, NULL}
 	};
@@ -291,7 +291,7 @@ static int _pgsql_acct_check_tables(PGconn *acct_pgsql_db,
 		{ "name", "text not null" },
 		{ "nodelist", "text not null" },
 		{ "state", "smallint not null" },
-		{ "kill_requid", "smallint default -1 not null" },
+		{ "kill_requid", "integer default -1 not null" },
 		{ "comp_code", "int default 0 not null" },
 		{ "cpus", "int not null" },
 		{ "user_sec", "bigint default 0 not null" },
diff --git a/src/plugins/checkpoint/xlch/checkpoint_xlch.c b/src/plugins/checkpoint/xlch/checkpoint_xlch.c
index f2afc8528..9852e1ed6 100644
--- a/src/plugins/checkpoint/xlch/checkpoint_xlch.c
+++ b/src/plugins/checkpoint/xlch/checkpoint_xlch.c
@@ -530,6 +530,7 @@ static void *_ckpt_agent_thr(void *arg)
 		slurm_mutex_unlock(&ckpt_agent_mutex);
 		list_iterator_destroy(iter);
 	}
+	return NULL;
 }
 
 /* Queue a checkpoint request timeout */
diff --git a/src/plugins/sched/backfill/backfill.c b/src/plugins/sched/backfill/backfill.c
index fde0b4696..3cd28fa23 100644
--- a/src/plugins/sched/backfill/backfill.c
+++ b/src/plugins/sched/backfill/backfill.c
@@ -547,10 +547,10 @@ static int _start_job(struct job_record *job_ptr, bitstr_t *resv_bitmap)
 		last_job_update = time(NULL);
 		info("backfill: Started JobId=%u on %s",
 		     job_ptr->job_id, job_ptr->nodes);
-		if (job_ptr->batch_flag)
-			launch_job(job_ptr);
-		else
+		if (job_ptr->batch_flag == 0)
 			srun_allocate(job_ptr->job_id);
+		else if (job_ptr->details->prolog_running == 0)
+			launch_job(job_ptr);
 		backfilled_jobs++;
 #if __DEBUG
 		info("backfill: Jobs backfilled: %d", backfilled_jobs);
diff --git a/src/plugins/sched/wiki/job_modify.c b/src/plugins/sched/wiki/job_modify.c
index b1ede96fe..918799a23 100644
--- a/src/plugins/sched/wiki/job_modify.c
+++ b/src/plugins/sched/wiki/job_modify.c
@@ -112,7 +112,7 @@ static int	_job_modify(uint32_t jobid, char *bank_ptr,
 		hostlist_t hl;
 		char *tasklist;
 
-		if (!job_ptr->details) {
+		if (!IS_JOB_PENDING(job_ptr) || !job_ptr->details) {
 			/* Job is done, nothing to reset */
 			if (new_hostlist == '\0')
 				goto host_fini;
@@ -166,6 +166,12 @@ host_fini:	if (rc) {
 
 	if (part_name_ptr) {
 		struct part_record *part_ptr;
+		if (!IS_JOB_PENDING(job_ptr)) {
+			error("wiki: MODIFYJOB partition of non-pending "
+			      "job %u", jobid);
+			return ESLURM_DISABLED;
+		}
+
 		part_ptr = find_part_record(part_name_ptr);
 		if (part_ptr == NULL) {
 			error("wiki: MODIFYJOB has invalid partition %s",
diff --git a/src/plugins/sched/wiki/start_job.c b/src/plugins/sched/wiki/start_job.c
index 245722cb8..76205cf3c 100644
--- a/src/plugins/sched/wiki/start_job.c
+++ b/src/plugins/sched/wiki/start_job.c
@@ -200,7 +200,7 @@ static int	_start_job(uint32_t jobid, int task_cnt, char *hostlist,
 			goto fini;
 		}
 
-		/* User excluded node list incompatable with Wiki
+		/* User excluded node list incompatible with Wiki
 		 * Exclude all nodes not explicitly requested */
 		FREE_NULL_BITMAP(job_ptr->details->exc_node_bitmap);
 		job_ptr->details->exc_node_bitmap = bit_copy(new_bitmap);
diff --git a/src/plugins/sched/wiki2/job_modify.c b/src/plugins/sched/wiki2/job_modify.c
index 834dd9978..c17c5a5cd 100644
--- a/src/plugins/sched/wiki2/job_modify.c
+++ b/src/plugins/sched/wiki2/job_modify.c
@@ -108,8 +108,7 @@ static int	_job_modify(uint32_t jobid, char *bank_ptr,
 	}
 
 	if (feature_ptr) {
-		if ((job_ptr->job_state == JOB_PENDING) &&
-		    (job_ptr->details)) {
+		if (IS_JOB_PENDING(job_ptr) && (job_ptr->details)) {
 			info("wiki: change job %u features to %s", 
 				jobid, feature_ptr);
 			job_ptr->details->features = xstrdup(feature_ptr);
@@ -124,7 +123,7 @@ static int	_job_modify(uint32_t jobid, char *bank_ptr,
 	if (start_ptr) {
 		char *end_ptr;
 		uint32_t begin_time = strtol(start_ptr, &end_ptr, 10);
-		if ((job_ptr->job_state == JOB_PENDING) &&
+		if (IS_JOB_PENDING(job_ptr) &&
 		    (job_ptr->details)) {
 			info("wiki: change job %u begin time to %u", 
 				jobid, begin_time);
@@ -139,7 +138,7 @@ static int	_job_modify(uint32_t jobid, char *bank_ptr,
 	}
 
 	if (name_ptr) {
-		if (job_ptr->job_state == JOB_PENDING) {
+		if (IS_JOB_PENDING(job_ptr)) {
 			info("wiki: change job %u name %s", jobid, name_ptr);
 			xfree(job_ptr->name);
 			job_ptr->name = xstrdup(name_ptr);
@@ -157,11 +156,11 @@ static int	_job_modify(uint32_t jobid, char *bank_ptr,
 		hostlist_t hl;
 		char *tasklist;
 
-		if (!job_ptr->details) {
+		if (!IS_JOB_PENDING(job_ptr) || !job_ptr->details) {
 			/* Job is done, nothing to reset */
 			if (new_hostlist == '\0')
 				goto host_fini;
-			error("wiki: MODIFYJOB tasklist of non-pending "
+			error("wiki: MODIFYJOB hostlist of non-pending "
 				"job %u", jobid);
 			return ESLURM_DISABLED;
 		}
@@ -211,12 +210,19 @@ host_fini:	if (rc) {
 
 	if (part_name_ptr) {
 		struct part_record *part_ptr;
+		if (!IS_JOB_PENDING(job_ptr)) {
+			error("wiki: MODIFYJOB partition of non-pending "
+			      "job %u", jobid);
+			return ESLURM_DISABLED;
+		}
+
 		part_ptr = find_part_record(part_name_ptr);
 		if (part_ptr == NULL) {
 			error("wiki: MODIFYJOB has invalid partition %s",
 				part_name_ptr);
 			return ESLURM_INVALID_PARTITION_NAME;
 		}
+
 		info("wiki: change job %u partition %s",
 			jobid, part_name_ptr);
 		xfree(job_ptr->partition);
diff --git a/src/plugins/sched/wiki2/start_job.c b/src/plugins/sched/wiki2/start_job.c
index 06ddf6f82..0a03d5bad 100644
--- a/src/plugins/sched/wiki2/start_job.c
+++ b/src/plugins/sched/wiki2/start_job.c
@@ -254,7 +254,7 @@ static int	_start_job(uint32_t jobid, int task_cnt, char *hostlist,
 			goto fini;
 		}
 
-		/* User excluded node list incompatable with Wiki
+		/* User excluded node list incompatible with Wiki
 		 * Exclude all nodes not explicitly requested */
 		FREE_NULL_BITMAP(job_ptr->details->exc_node_bitmap);
 		job_ptr->details->exc_node_bitmap = bit_copy(new_bitmap);
diff --git a/src/plugins/select/bluegene/block_allocator/block_allocator.h b/src/plugins/select/bluegene/block_allocator/block_allocator.h
index 61e62e059..920afa631 100644
--- a/src/plugins/select/bluegene/block_allocator/block_allocator.h
+++ b/src/plugins/select/bluegene/block_allocator/block_allocator.h
@@ -169,7 +169,7 @@ typedef struct {
 #endif
 } blockreq_t;
 
-/* structure filled in from reading bluegene.conf file for specifing
+/* structure filled in from reading bluegene.conf file for specifying
  * images */
 typedef struct {
 	bool def;                      /* Whether image is the default
diff --git a/src/plugins/select/bluegene/block_allocator/bridge_linker.c b/src/plugins/select/bluegene/block_allocator/bridge_linker.c
index 5b386bc44..00bf33b89 100644
--- a/src/plugins/select/bluegene/block_allocator/bridge_linker.c
+++ b/src/plugins/select/bluegene/block_allocator/bridge_linker.c
@@ -734,6 +734,11 @@ extern int bridge_set_log_params(char *api_file_name, unsigned int level)
 
 	
 	(*(bridge_api.set_log_params))(fp, level);
+	/* In the libraries linked to from the bridge there are stderr
+	   messages send which we would miss unless we dup this to the
+	   log */
+	(void)dup2(fileno(fp), STDERR_FILENO);
+
 	if(fp2)
 		fclose(fp2);
 end_it:
diff --git a/src/plugins/select/bluegene/plugin/bg_job_place.c b/src/plugins/select/bluegene/plugin/bg_job_place.c
index f6aad49f5..ae719b02f 100644
--- a/src/plugins/select/bluegene/plugin/bg_job_place.c
+++ b/src/plugins/select/bluegene/plugin/bg_job_place.c
@@ -935,7 +935,7 @@ static int _find_best_block_match(List block_list,
 	request.procs = req_procs;
 	request.conn_type = conn_type;
 	request.rotate = rotate;
-	request.elongate = true;
+	request.elongate = rotate;
 	request.start_req = start_req;
 #ifdef HAVE_BGL
 	request.blrtsimage = blrtsimage;
@@ -1307,7 +1307,7 @@ extern int submit_job(struct job_record *job_ptr, bitstr_t *slurm_block_bitmap,
 {
 	int rc = SLURM_SUCCESS;
 	bg_record_t* bg_record = NULL;
-	char buf[100];
+	char buf[256];
 	uint16_t conn_type = (uint16_t)NO_VAL;
 	List block_list = NULL;
 	int blocks_added = 0;
@@ -1343,10 +1343,8 @@ extern int submit_job(struct job_record *job_ptr, bitstr_t *slurm_block_bitmap,
 			select_g_get_jobinfo(job_ptr->select_jobinfo,
 					     SELECT_DATA_MAX_PROCS,
 					     &max_procs);
-			if((max_procs > bg_conf->procs_per_bp)
-			   || (max_procs == NO_VAL))
-				conn_type = SELECT_TORUS;
-			else
+			if((max_procs != NO_VAL)
+			   && (max_procs < bg_conf->procs_per_bp))
 				conn_type = SELECT_SMALL;
 		}
 		select_g_set_jobinfo(job_ptr->select_jobinfo,
@@ -1355,8 +1353,8 @@ extern int submit_job(struct job_record *job_ptr, bitstr_t *slurm_block_bitmap,
 	}
 	select_g_sprint_jobinfo(job_ptr->select_jobinfo, buf, sizeof(buf), 
 				SELECT_PRINT_MIXED);
-	debug("bluegene:submit_job: %d %s nodes=%u-%u-%u", 
-	      mode, buf, min_nodes, req_nodes, max_nodes);
+	debug("bluegene:submit_job: %u mode=%d %s nodes=%u-%u-%u", 
+	      job_ptr->job_id, mode, buf, min_nodes, req_nodes, max_nodes);
 	select_g_sprint_jobinfo(job_ptr->select_jobinfo, buf, sizeof(buf), 
 				SELECT_PRINT_BLRTS_IMAGE);
 #ifdef HAVE_BGL
diff --git a/src/plugins/select/bluegene/plugin/bg_job_run.c b/src/plugins/select/bluegene/plugin/bg_job_run.c
index 2befbf484..213ef9cdd 100644
--- a/src/plugins/select/bluegene/plugin/bg_job_run.c
+++ b/src/plugins/select/bluegene/plugin/bg_job_run.c
@@ -2,7 +2,7 @@
  *  bg_job_run.c - blue gene job execution (e.g. initiation and termination) 
  *  functions.
  *
- *  $Id: bg_job_run.c 18162 2009-07-15 23:23:06Z da $ 
+ *  $Id: bg_job_run.c 19082 2009-12-01 20:15:57Z da $ 
  *****************************************************************************
  *  Copyright (C) 2004-2006 The Regents of the University of California.
  *  Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
@@ -194,7 +194,7 @@ static int _remove_job(db_job_id_t job_id)
 				debug("job %d is in an INCOMPATIBLE_STATE",
 				      job_id);
 			else
-				error("bridge_cancel_job(%d): %s", job_id,
+				error("bridge_signal_job(%d): %s", job_id,
 				      bg_err_str(rc));
 		}
 	}
@@ -1302,7 +1302,7 @@ extern int boot_block(bg_record_t *bg_record)
 			slurm_make_time_str(&now, time_str, sizeof(time_str));
 			snprintf(reason, sizeof(reason),
 				 "boot_block: "
-				 "Block %s is in an incompatable state.  "
+				 "Block %s is in an incompatible state.  "
 				 "This usually means hardware is allocated "
 				 "by another block (maybe outside of SLURM). "
 				 "[SLURM@%s]", 
diff --git a/src/plugins/select/bluegene/plugin/block_sys.c b/src/plugins/select/bluegene/plugin/block_sys.c
index 069bc7537..d67cc018d 100755
--- a/src/plugins/select/bluegene/plugin/block_sys.c
+++ b/src/plugins/select/bluegene/plugin/block_sys.c
@@ -1,7 +1,7 @@
 /*****************************************************************************\
  *  block_sys.c - component used for wiring up the blocks
  *
- *  $Id: block_sys.c 18612 2009-09-02 19:00:21Z da $
+ *  $Id: block_sys.c 19082 2009-12-01 20:15:57Z da $
  *****************************************************************************
  *  Copyright (C) 2004 The Regents of the University of California.
  *  Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
@@ -1043,7 +1043,7 @@ extern int load_state_file(List curr_block_list, char *dir_name)
 	}
 	if (ver_str && (strcmp(ver_str, BLOCK_STATE_VERSION) != 0)) {
 		error("Can not recover block state, "
-		      "data version incompatable");
+		      "data version incompatible");
 		xfree(ver_str);
 		free_buf(buffer);
 		return EFAULT;
@@ -1109,7 +1109,7 @@ extern int load_state_file(List curr_block_list, char *dir_name)
 		while(bg_info_record->bp_inx[j] >= 0) {
 			if (bg_info_record->bp_inx[j+1]
 			    >= node_record_count) {
-				fatal("Job state recovered incompatable with "
+				fatal("Job state recovered incompatible with "
 					"bluegene.conf. bp=%u state=%d",
 					node_record_count,
 					bg_info_record->bp_inx[j+1]);
@@ -1124,7 +1124,7 @@ extern int load_state_file(List curr_block_list, char *dir_name)
 		while(bg_info_record->ionode_inx[j] >= 0) {
 			if (bg_info_record->ionode_inx[j+1]
 			    >= bg_conf->numpsets) {
-				fatal("Job state recovered incompatable with "
+				fatal("Job state recovered incompatible with "
 					"bluegene.conf. ionodes=%u state=%d",
 					bg_conf->numpsets,
 					bg_info_record->ionode_inx[j+1]);
diff --git a/src/plugins/select/cons_res/select_cons_res.c b/src/plugins/select/cons_res/select_cons_res.c
index 6a2a4d668..422ec4986 100644
--- a/src/plugins/select/cons_res/select_cons_res.c
+++ b/src/plugins/select/cons_res/select_cons_res.c
@@ -1017,7 +1017,7 @@ extern int init(void)
 	fatal("Use SelectType=select/linear");
 #endif
 #ifdef HAVE_BG
-	error("%s is incompatable with BlueGene", plugin_name);
+	error("%s is incompatible with BlueGene", plugin_name);
 	fatal("Use SelectType=select/bluegene");
 #endif
 	cr_type = (select_type_plugin_info_t)
diff --git a/src/plugins/select/linear/select_linear.c b/src/plugins/select/linear/select_linear.c
index 19723c47a..254c7b220 100644
--- a/src/plugins/select/linear/select_linear.c
+++ b/src/plugins/select/linear/select_linear.c
@@ -285,7 +285,7 @@ extern int init ( void )
 	rc = _init_status_pthread();
 #endif
 #ifdef HAVE_BG
-	error("%s is incompatable with BlueGene", plugin_name);
+	error("%s is incompatible with BlueGene", plugin_name);
 	fatal("Use SelectType=select/bluegene");
 #endif
 	cr_type = (select_type_plugin_info_t)
@@ -1947,7 +1947,8 @@ static void _init_node_cr(void)
 				 	      node_cr_ptr[i].exclusive_jobid,
 				 	      node_record_table_ptr[i].name);
 				}
-				node_cr_ptr[i].exclusive_jobid = job_ptr->job_id;
+				node_cr_ptr[i].exclusive_jobid = 
+					job_ptr->job_id;
 			}
 			if (job_memory_cpu == 0)
 				node_cr_ptr[i].alloc_memory += job_memory_node;
diff --git a/src/plugins/switch/elan/switch_elan.c b/src/plugins/switch/elan/switch_elan.c
index 62d19629b..768be472a 100644
--- a/src/plugins/switch/elan/switch_elan.c
+++ b/src/plugins/switch/elan/switch_elan.c
@@ -161,7 +161,7 @@ const uint32_t plugin_version   = 90;
 int init ( void )
 {
 #ifdef HAVE_FRONT_END
-	fatal("Plugin switch/elan is incompatable with front-end configuration");
+	fatal("Plugin switch/elan is incompatible with front-end configuration");
 #endif
 	verbose("%s loaded", plugin_name);
 	return SLURM_SUCCESS;
diff --git a/src/plugins/task/affinity/dist_tasks.c b/src/plugins/task/affinity/dist_tasks.c
index f3d82e703..74a0610e4 100644
--- a/src/plugins/task/affinity/dist_tasks.c
+++ b/src/plugins/task/affinity/dist_tasks.c
@@ -55,7 +55,7 @@ static char *_alloc_mask(launch_tasks_request_msg_t *req,
 static bitstr_t *_get_avail_map(launch_tasks_request_msg_t *req,
 				uint16_t *hw_sockets, uint16_t *hw_cores,
 				uint16_t *hw_threads);
-static int _get_local_node_info(slurm_cred_arg_t *arg, uint32_t job_node_id,
+static int _get_local_node_info(slurm_cred_arg_t *arg, int job_node_id,
 				uint16_t *sockets, uint16_t *cores);
 
 static int _task_layout_lllp_block(launch_tasks_request_msg_t *req,
@@ -424,7 +424,7 @@ void lllp_distribution(launch_tasks_request_msg_t *req, uint32_t node_id)
  * IN/OUT: cores   - pointer to cores_per_socket count variable
  * OUT:  returns the core_bitmap index of the first core for this node
  */
-static int _get_local_node_info(slurm_cred_arg_t *arg, uint32_t job_node_id,
+static int _get_local_node_info(slurm_cred_arg_t *arg, int job_node_id,
 				uint16_t *sockets, uint16_t *cores)
 {
 	int bit_start = 0, bit_finish = 0;
@@ -433,7 +433,7 @@ static int _get_local_node_info(slurm_cred_arg_t *arg, uint32_t job_node_id,
 	do {
 		index++;
 		for (i = 0; i < arg->sock_core_rep_count[index] &&
-			    cur_node_id < job_node_id; i++) {
+			     cur_node_id < job_node_id; i++) {
 			bit_start = bit_finish;
 			bit_finish += arg->sockets_per_node[index] *
 					arg->cores_per_socket[index];
@@ -590,7 +590,7 @@ static bitstr_t *_get_avail_map(launch_tasks_request_msg_t *req,
 	bitstr_t *req_map, *hw_map;
 	slurm_cred_arg_t arg;
 	uint16_t p, t, num_procs, num_threads, sockets, cores;
-	uint32_t job_node_id;
+	int job_node_id;
 	int start;
 	char *str;
 
@@ -608,7 +608,7 @@ static bitstr_t *_get_avail_map(launch_tasks_request_msg_t *req,
 	job_node_id = nodelist_find(arg.job_hostlist, conf->node_name);
 	start = _get_local_node_info(&arg, job_node_id, &sockets, &cores);
 	if (start < 0) {
-		error("task/affinity: missing node %u in job credential",
+		error("task/affinity: missing node %d in job credential",
 		      job_node_id);
 		slurm_cred_free_args(&arg);
 		return NULL;
diff --git a/src/sacct/options.c b/src/sacct/options.c
index 00cde2f07..15606a68f 100644
--- a/src/sacct/options.c
+++ b/src/sacct/options.c
@@ -389,7 +389,7 @@ sacct [<OPTION>]                                                            \n\
                    current user's jobs are displayed.  If ran by user root  \n\
                    this is the default.                                     \n\
      -A, --accounts:                                                        \n\
-	           Use this comma seperated list of accounts to select jobs \n\
+	           Use this comma separated list of accounts to select jobs \n\
                    to display.  By default, all accounts are selected.      \n\
      -b, --brief:                                                           \n\
 	           Equivalent to '--format=jobstep,state,error'. This option\n\
@@ -407,13 +407,13 @@ sacct [<OPTION>]                                                            \n\
 	           Print a list of fields that can be specified with the    \n\
 	           '--format' option                                        \n\
      -E, --endtime:                                                         \n\
-                   Select jobs started before this time.                    \n\
+                   Select jobs eligible before this time.                   \n\
      -f, --file=file:                                                       \n\
 	           Read data from the specified file, rather than SLURM's   \n\
                    current accounting log file. (Only appliciable when      \n\
                    running the filetxt plugin.)                             \n\
      -g, --gid, --group:                                                    \n\
-	           Use this comma seperated list of gids or group names     \n\
+	           Use this comma separated list of gids or group names     \n\
                    to select jobs to display.  By default, all groups are   \n\
                    selected.                                                \n\
      -h, --help:   Print this description of use.                           \n\
@@ -441,7 +441,7 @@ sacct [<OPTION>]                                                            \n\
      -N, --nodes:                                                           \n\
                    A comma separated list of nodes where jobs ran           \n\
      -o, --format:                                                          \n\
-	           Comma seperated list of fields. (use \"--helpformat\"    \n\
+	           Comma separated list of fields. (use \"--helpformat\"    \n\
                    for a list of available fields).                         \n\
      -O, --formatted_dump:                                                  \n\
 	           Dump accounting records in an easy-to-read format,       \n\
@@ -449,7 +449,7 @@ sacct [<OPTION>]                                                            \n\
      -p, --parsable: output will be '|' delimited with a '|' at the end     \n\
      -P, --parsable2: output will be '|' delimited without a '|' at the end \n\
      -r, --partition:                                                       \n\
-	           Comma seperated list of partitions to select jobs and    \n\
+	           Comma separated list of partitions to select jobs and    \n\
                    job steps from. The default is all partitions.           \n\
      -s, --state:                                                           \n\
 	           Select jobs based on their current state: running (r),   \n\
@@ -463,7 +463,7 @@ sacct [<OPTION>]                                                            \n\
                    the start time would be truncated to --starttime.        \n\
                    The same for end time and --endtime.                     \n\
      -u, --uid, --user:                                                     \n\
-	           Use this comma seperated list of uids or user names      \n\
+	           Use this comma separated list of uids or user names      \n\
                    to select jobs to display.  By default, the running      \n\
                    user's uid is used.                                      \n\
      --usage:      Display brief usage message.                             \n\
@@ -481,7 +481,7 @@ sacct [<OPTION>]                                                            \n\
 	           HH:MM[:SS] [AM|PM]                                       \n\
 	           MMDD[YY] or MM/DD[/YY] or MM.DD[.YY]                     \n\
 	           MM/DD[/YY]-HH:MM[:SS]                                    \n\
-	           YYYY-MM-DD[THH[:MM[:SS]]]                                \n\
+	           YYYY-MM-DD[THH:MM[:SS]]                                  \n\
 \n");
 
 	return;
@@ -601,6 +601,7 @@ void parse_command_line(int argc, char **argv)
 
 	static struct option long_options[] = {
 		{"allusers", 0,0, 'a'},
+		{"allclusters", 0,0, 'L'},
 		{"accounts", 1, 0, 'A'},
 		{"allocations", 0, &params.opt_allocs,  1},
 		{"brief", 0, 0, 'b'},
@@ -646,7 +647,7 @@ void parse_command_line(int argc, char **argv)
 
 	while (1) {		/* now cycle through the command line */
 		c = getopt_long(argc, argv,
-				"aA:bcC:deE:f:g:hj:lnN:o:OpPr:s:S:tu:vVW:X",
+				"aA:bcC:dDeE:f:g:hj:lLnN:o:OpPr:s:S:Ttu:vVW:X",
 				long_options, &optionIndex);
 		if (c == -1)
 			break;
diff --git a/src/sacct/print.c b/src/sacct/print.c
index b3ff938bc..29781f40a 100644
--- a/src/sacct/print.c
+++ b/src/sacct/print.c
@@ -138,7 +138,7 @@ void print_fields(type_t type, void *object)
 	while((field = list_next(print_fields_itr))) {
 		char *tmp_char = NULL;
 		int tmp_int = NO_VAL, tmp_int2 = NO_VAL;
-
+		memset(&outbuf, 0, sizeof(outbuf));
 		switch(field->type) {
 		case PRINT_ALLOC_CPUS:
 			switch(type) {
@@ -672,7 +672,7 @@ void print_fields(type_t type, void *object)
 			default:
 				tmp_int = NO_VAL;
 				break;
-			}
+			}			
 			if(tmp_int != NO_VAL)
 				convert_num_unit((float)tmp_int,
 						 outbuf, sizeof(outbuf),
diff --git a/src/sacctmgr/account_functions.c b/src/sacctmgr/account_functions.c
index 427bf1e36..5bd53da03 100644
--- a/src/sacctmgr/account_functions.c
+++ b/src/sacctmgr/account_functions.c
@@ -909,7 +909,7 @@ extern int sacctmgr_list_account(int argc, char *argv[])
 	acct_account_cond_t *acct_cond =
 		xmalloc(sizeof(acct_account_cond_t));
  	List acct_list;
-	int i=0, set=0;
+	int i=0, cond_set=0, prev_set=0;
 	ListIterator itr = NULL;
 	ListIterator itr2 = NULL;
 	acct_account_rec_t *acct = NULL;
@@ -959,7 +959,8 @@ extern int sacctmgr_list_account(int argc, char *argv[])
 		if (!strncasecmp (argv[i], "Where", MAX(command_len, 5))
 		    || !strncasecmp (argv[i], "Set", MAX(command_len, 3))) 
 			i++;		
-		set += _set_cond(&i, argc, argv, acct_cond, format_list);
+		prev_set = _set_cond(&i, argc, argv, acct_cond, format_list);
+		cond_set = MAX(cond_set, prev_set);
 	}
 
 	if(exit_code) {
@@ -978,7 +979,7 @@ extern int sacctmgr_list_account(int argc, char *argv[])
 			
 	}
 	
-	if(!acct_cond->with_assocs && set > 1) {
+	if(!acct_cond->with_assocs && cond_set > 1) {
 		if(!commit_check("You requested options that are only vaild "
 				 "when querying with the withassoc option.\n"
 				 "Are you sure you want to continue?")) {
@@ -1483,7 +1484,7 @@ extern int sacctmgr_modify_account(int argc, char *argv[])
 	acct_association_rec_t *assoc = xmalloc(sizeof(acct_association_rec_t));
 	
 	int i=0;
-	int cond_set = 0, rec_set = 0, set = 0;
+	int cond_set = 0, prev_set = 0, rec_set = 0, set = 0;
 	List ret_list = NULL;
 
 	init_acct_association_rec(assoc);
@@ -1492,13 +1493,16 @@ extern int sacctmgr_modify_account(int argc, char *argv[])
 		int command_len = strlen(argv[i]);
 		if (!strncasecmp (argv[i], "Where", MAX(command_len, 5))) {
 			i++;
-			cond_set += _set_cond(&i, argc, argv, acct_cond, NULL);
+			prev_set = _set_cond(&i, argc, argv, acct_cond, NULL);
+			cond_set = MAX(cond_set, prev_set);			
 		} else if (!strncasecmp (argv[i], "Set", MAX(command_len, 3))) {
 			i++;
-			rec_set += _set_rec(&i, argc, argv, NULL, NULL, 
+			prev_set = _set_rec(&i, argc, argv, NULL, NULL, 
 					   acct, assoc);
+			rec_set = MAX(rec_set, prev_set);
 		} else {
-			cond_set += _set_cond(&i, argc, argv, acct_cond, NULL);
+			prev_set = _set_cond(&i, argc, argv, acct_cond, NULL);
+			cond_set = MAX(cond_set, prev_set);
 		}
 	}
 
@@ -1620,17 +1624,18 @@ extern int sacctmgr_delete_account(int argc, char *argv[])
 	int i=0;
 	List ret_list = NULL;
 	ListIterator itr = NULL;
-	int set = 0;
+	int cond_set = 0, prev_set = 0;
 	
 	for (i=0; i<argc; i++) {
 		int command_len = strlen(argv[i]);
 		if (!strncasecmp (argv[i], "Where", MAX(command_len, 5))
 		    || !strncasecmp (argv[i], "Set", MAX(command_len, 3))) 
 			i++;		
-		set += _set_cond(&i, argc, argv, acct_cond, NULL);
+		prev_set = _set_cond(&i, argc, argv, acct_cond, NULL);
+		cond_set = MAX(cond_set, prev_set);
 	}
 
-	if(!set) {
+	if(!cond_set) {
 		exit_code=1;
 		fprintf(stderr, 
 			" No conditions given to remove, not executing.\n");
@@ -1666,10 +1671,10 @@ extern int sacctmgr_delete_account(int argc, char *argv[])
 	}
 
 	notice_thread_init();
-	if(set == 1) {
+	if(cond_set == 1) {
 		ret_list = acct_storage_g_remove_accounts(
 			db_conn, my_uid, acct_cond);		
-	} else if(set == 2 || set == 3) {
+	} else if(cond_set == 2 || cond_set == 3) {
 		ret_list = acct_storage_g_remove_associations(
 			db_conn, my_uid, acct_cond->assoc_cond);
 	}
@@ -1695,9 +1700,9 @@ extern int sacctmgr_delete_account(int argc, char *argv[])
 			return SLURM_ERROR;	
 		}
 		itr = list_iterator_create(ret_list);
-		if(set == 1) {
+		if(cond_set == 1) {
 			printf(" Deleting accounts...\n");
-		} else if(set == 2 || set == 3) {
+		} else if(cond_set == 2 || cond_set == 3) {
 			printf(" Deleting account associations...\n");
 		}
 		while((object = list_next(itr))) {
diff --git a/src/sacctmgr/sacctmgr.c b/src/sacctmgr/sacctmgr.c
index cd52913ee..7b896ab2b 100644
--- a/src/sacctmgr/sacctmgr.c
+++ b/src/sacctmgr/sacctmgr.c
@@ -235,8 +235,7 @@ main (int argc, char *argv[])
 /*
  * Alternative to readline if readline is not available
  */
-static char *
-getline(const char *prompt)
+static char *_getline(const char *prompt)
 {
 	char buf[4096];
 	char *line;
@@ -274,7 +273,7 @@ _get_command (int *argc, char **argv)
 #if HAVE_READLINE
 	in_line = readline ("sacctmgr: ");
 #else
-	in_line = getline("sacctmgr: ");
+	in_line = _getline("sacctmgr: ");
 #endif
 	if (in_line == NULL)
 		return 0;
diff --git a/src/sacctmgr/user_functions.c b/src/sacctmgr/user_functions.c
index 19d9d7611..2332a115f 100644
--- a/src/sacctmgr/user_functions.c
+++ b/src/sacctmgr/user_functions.c
@@ -1384,7 +1384,7 @@ extern int sacctmgr_add_coord(int argc, char *argv[])
 {
 	int rc = SLURM_SUCCESS;
 	int i=0;
-	int cond_set = 0;
+	int cond_set = 0, prev_set = 0;
 	acct_user_cond_t *user_cond = xmalloc(sizeof(acct_user_cond_t));
 	char *name = NULL;
 	char *user_str = NULL;
@@ -1396,7 +1396,8 @@ extern int sacctmgr_add_coord(int argc, char *argv[])
 		if (!strncasecmp (argv[i], "Where", MAX(command_len, 5))
 		    || !strncasecmp (argv[i], "Set", MAX(command_len, 3))) 
 			i++;		
-		cond_set += _set_cond(&i, argc, argv, user_cond, NULL);
+		prev_set = _set_cond(&i, argc, argv, user_cond, NULL);
+		cond_set = MAX(cond_set, prev_set);
 	}
 
 	if(exit_code) {
@@ -1459,7 +1460,7 @@ extern int sacctmgr_list_user(int argc, char *argv[])
 	int rc = SLURM_SUCCESS;
 	acct_user_cond_t *user_cond = xmalloc(sizeof(acct_user_cond_t));
 	List user_list;
-	int i=0, set=0;
+	int i=0, cond_set=0, prev_set=0;
 	ListIterator itr = NULL;
 	ListIterator itr2 = NULL;
 	acct_user_rec_t *user = NULL;
@@ -1509,7 +1510,8 @@ extern int sacctmgr_list_user(int argc, char *argv[])
 		if (!strncasecmp (argv[i], "Where", MAX(command_len, 5))
 		    || !strncasecmp (argv[i], "Set", MAX(command_len, 3))) 
 			i++;		
-		set += _set_cond(&i, argc, argv, user_cond, format_list);
+		prev_set = _set_cond(&i, argc, argv, user_cond, format_list);
+		cond_set = MAX(cond_set, prev_set);
 	}
 
 	if(exit_code) {
@@ -1532,7 +1534,7 @@ extern int sacctmgr_list_user(int argc, char *argv[])
 			slurm_addto_char_list(format_list, "Coord");
 	}
 
-	if(!user_cond->with_assocs && set > 1) {
+	if(!user_cond->with_assocs && cond_set > 1) {
 		if(!commit_check("You requested options that are only vaild "
 				 "when querying with the withassoc option.\n"
 				 "Are you sure you want to continue?")) {
@@ -2068,7 +2070,7 @@ extern int sacctmgr_modify_user(int argc, char *argv[])
 	acct_user_rec_t *user = xmalloc(sizeof(acct_user_rec_t));
 	acct_association_rec_t *assoc = xmalloc(sizeof(acct_association_rec_t));
 	int i=0;
-	int cond_set = 0, rec_set = 0, set = 0;
+	int cond_set = 0, prev_set = 0, rec_set = 0, set = 0;
 	List ret_list = NULL;
 
 	init_acct_association_rec(assoc);
@@ -2077,13 +2079,15 @@ extern int sacctmgr_modify_user(int argc, char *argv[])
 		int command_len = strlen(argv[i]);
 		if (!strncasecmp (argv[i], "Where", MAX(command_len, 5))) {
 			i++;
-			cond_set += _set_cond(&i, argc, argv, user_cond, NULL);
-			      
+			prev_set = _set_cond(&i, argc, argv, user_cond, NULL);
+			cond_set = MAX(cond_set, prev_set);
 		} else if (!strncasecmp (argv[i], "Set", MAX(command_len, 3))) {
 			i++;
-			rec_set += _set_rec(&i, argc, argv, user, assoc);
+			prev_set = _set_rec(&i, argc, argv, user, assoc);
+			rec_set = MAX(rec_set, prev_set);
 		} else {
-			cond_set += _set_cond(&i, argc, argv, user_cond, NULL);
+			prev_set = _set_cond(&i, argc, argv, user_cond, NULL);
+			cond_set = MAX(cond_set, prev_set);
 		}
 	}
 
@@ -2221,17 +2225,18 @@ extern int sacctmgr_delete_user(int argc, char *argv[])
 	acct_user_cond_t *user_cond = xmalloc(sizeof(acct_user_cond_t));
 	int i=0;
 	List ret_list = NULL;
-	int set = 0;
+	int cond_set = 0, prev_set = 0;
 
 	for (i=0; i<argc; i++) {
 		int command_len = strlen(argv[i]);
 		if (!strncasecmp (argv[i], "Where", MAX(command_len, 5))
 		    || !strncasecmp (argv[i], "Set", MAX(command_len, 3))) 
 			i++;		
-		set += _set_cond(&i, argc, argv, user_cond, NULL);
+		prev_set = _set_cond(&i, argc, argv, user_cond, NULL);
+		cond_set = MAX(cond_set, prev_set);
 	}
 
-	if(!set) {
+	if(!cond_set) {
 		exit_code=1;
 		fprintf(stderr, 
 			" No conditions given to remove, not executing.\n");
@@ -2245,10 +2250,10 @@ extern int sacctmgr_delete_user(int argc, char *argv[])
 	} 
 
 	notice_thread_init();
-	if(set == 1) {
+	if(cond_set == 1) {
 		ret_list = acct_storage_g_remove_users(
 			db_conn, my_uid, user_cond);		
-	} else if(set == 2 || set == 3) {
+	} else if(cond_set == 2 || cond_set == 3) {
 		ret_list = acct_storage_g_remove_associations(
 			db_conn, my_uid, user_cond->assoc_cond);
 	}
@@ -2259,9 +2264,9 @@ extern int sacctmgr_delete_user(int argc, char *argv[])
 	if(ret_list && list_count(ret_list)) {
 		char *object = NULL;
 		ListIterator itr = list_iterator_create(ret_list);
-		if(set == 1) {
+		if(cond_set == 1) {
 			printf(" Deleting users...\n");
-		} else if(set == 2 || set == 3) {
+		} else if(cond_set == 2 || cond_set == 3) {
 			printf(" Deleting user associations...\n");
 		}
 		while((object = list_next(itr))) {
@@ -2293,7 +2298,7 @@ extern int sacctmgr_delete_coord(int argc, char *argv[])
 {
 	int rc = SLURM_SUCCESS;
 	int i=0, set=0;
-	int cond_set = 0;
+	int cond_set = 0, prev_set = 0;
 	acct_user_cond_t *user_cond = xmalloc(sizeof(acct_user_cond_t));
 	char *name = NULL;
 	char *user_str = NULL;
@@ -2307,7 +2312,8 @@ extern int sacctmgr_delete_coord(int argc, char *argv[])
 		if (!strncasecmp (argv[i], "Where", MAX(command_len, 5))
 		    || !strncasecmp (argv[i], "Set", MAX(command_len, 3))) 
 			i++;		
-		cond_set += _set_cond(&i, argc, argv, user_cond, NULL);
+		prev_set = _set_cond(&i, argc, argv, user_cond, NULL);
+		cond_set = MAX(cond_set, prev_set);
 	}
 
 	if(exit_code) {
diff --git a/src/scontrol/scontrol.c b/src/scontrol/scontrol.c
index c7028b370..2c28c5cb3 100644
--- a/src/scontrol/scontrol.c
+++ b/src/scontrol/scontrol.c
@@ -189,8 +189,7 @@ static void _print_version(void)
 /*
  * Alternative to readline if readline is not available
  */
-static char *
-getline(const char *prompt)
+static char *_getline(const char *prompt)
 {
 	char buf[4096];
 	char *line;
@@ -230,7 +229,7 @@ _get_command (int *argc, char **argv)
 #if HAVE_READLINE
 	in_line = readline ("scontrol: ");
 #else
-	in_line = getline("scontrol: ");
+	in_line = _getline("scontrol: ");
 #endif
 	if (in_line == NULL)
 		return 0;
diff --git a/src/sinfo/opts.c b/src/sinfo/opts.c
index e3b71d7fe..8c7f3982e 100644
--- a/src/sinfo/opts.c
+++ b/src/sinfo/opts.c
@@ -779,7 +779,7 @@ Usage: sinfo [OPTIONS]\n\
   -r, --responding           report only responding nodes\n\
   -R, --list-reasons         list reason nodes are down or drained\n\
   -s, --summarize            report state summary only\n\
-  -S, --sort=fields          comma seperated list of fields to sort on\n\
+  -S, --sort=fields          comma separated list of fields to sort on\n\
   -t, --states=node_state    specify the what states of nodes to view\n\
   -v, --verbose              verbosity level\n\
   -V, --version              output version information and exit\n\
diff --git a/src/slurmctld/controller.c b/src/slurmctld/controller.c
index 7ba260336..71bb3adf0 100644
--- a/src/slurmctld/controller.c
+++ b/src/slurmctld/controller.c
@@ -254,12 +254,10 @@ int main(int argc, char *argv[])
 	if (license_init(slurmctld_conf.licenses) != SLURM_SUCCESS)
 		fatal("Invalid Licenses value: %s", slurmctld_conf.licenses);
 
-#ifndef NDEBUG
 #  ifdef PR_SET_DUMPABLE
 	if (prctl(PR_SET_DUMPABLE, 1) < 0)
 		debug ("Unable to set dumpable to 1");
 #  endif /* PR_SET_DUMPABLE */
-#endif   /* !NDEBUG         */
 
 	/* 
 	 * Create StateSaveLocation directory if necessary.
diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c
index 367287468..33a21ddf5 100644
--- a/src/slurmctld/job_mgr.c
+++ b/src/slurmctld/job_mgr.c
@@ -461,7 +461,7 @@ extern int load_all_job_state(void)
 	debug3("Version string in job_state header is %s", ver_str);
 	if ((!ver_str) || (strcmp(ver_str, JOB_STATE_VERSION) != 0)) {
 		error("***********************************************");
-		error("Can not recover job state, incompatable version");
+		error("Can not recover job state, incompatible version");
 		error("***********************************************");
 		xfree(ver_str);
 		free_buf(buffer);
@@ -551,7 +551,7 @@ extern int load_last_job_id( void )
 	debug3("Version string in job_state header is %s", ver_str);
 	if ((!ver_str) || (strcmp(ver_str, JOB_STATE_VERSION) != 0)) {
 		debug("*************************************************");
-		debug("Can not recover last job ID, incompatable version");
+		debug("Can not recover last job ID, incompatible version");
 		debug("*************************************************");
 		xfree(ver_str);
 		free_buf(buffer);
@@ -2513,7 +2513,7 @@ static int _job_create(job_desc_msg_t * job_desc, int allocate, int will_run,
 	if ((part_ptr->state_up) &&  (job_desc->min_nodes > total_nodes)) {
 		info("Job requested too many nodes (%u) of partition %s(%u)", 
 		     job_desc->min_nodes, part_ptr->name, 
-		     part_ptr->total_nodes);
+		     total_nodes);
 		error_code = ESLURM_TOO_MANY_REQUESTED_NODES;
 		goto cleanup_fail;
 	}
@@ -2595,13 +2595,14 @@ static int _job_create(job_desc_msg_t * job_desc, int allocate, int will_run,
 	fail_reason= WAIT_NO_REASON;
 	if (job_desc->min_nodes > part_ptr->max_nodes) {
 		info("Job %u requested too many nodes (%u) of "
-		     "partition %s(%u)", 
+		     "partition %s(MaxNodes %u)", 
 		     job_ptr->job_id, job_desc->min_nodes, 
 		     part_ptr->name, part_ptr->max_nodes);
 		fail_reason = WAIT_PART_NODE_LIMIT;
 	} else if ((job_desc->max_nodes != 0) &&    /* no max_nodes for job */
 		   (job_desc->max_nodes < part_ptr->min_nodes)) {
-		info("Job %u requested too few nodes (%u) of partition %s(%u)",
+		info("Job %u requested too few nodes (%u) of "
+		     "partition %s(MinNodes %u)",
 		     job_ptr->job_id, job_desc->max_nodes, 
 		     part_ptr->name, part_ptr->min_nodes);
 		fail_reason = WAIT_PART_NODE_LIMIT;
@@ -6564,7 +6565,7 @@ static bool _validate_acct_policy(job_desc_msg_t *job_desc,
 		    (assoc_ptr->used_submit_jobs 
 		     >= assoc_ptr->grp_submit_jobs)) {
 			info("job submit for user %s(%u): "
-			     "group max submit job limit exceded %u "
+			     "group max submit job limit exceeded %u "
 			     "for account '%s'",
 			     user_name,
 			     job_desc->user_id, 
@@ -6636,7 +6637,7 @@ static bool _validate_acct_policy(job_desc_msg_t *job_desc,
 		    (assoc_ptr->used_submit_jobs 
 		     >= assoc_ptr->max_submit_jobs)) {
 			info("job submit for user %s(%u): "
-			     "account max submit job limit exceded %u",
+			     "account max submit job limit exceeded %u",
 			     user_name,
 			     job_desc->user_id, 
 			     assoc_ptr->max_submit_jobs);
@@ -7323,7 +7324,7 @@ extern int job_restart(checkpoint_msg_t *ckpt_ptr, uid_t uid, slurm_fd conn_fd)
 	debug3("Version string in job_ckpt header is %s", ver_str);
 	if ((!ver_str) || (strcmp(ver_str, JOB_CKPT_VERSION) != 0)) {
 		error("***************************************************");
-		error("Can not restart from job ckpt, incompatable version");
+		error("Can not restart from job ckpt, incompatible version");
 		error("***************************************************");
 		rc = EINVAL;
 		goto unpack_error;
diff --git a/src/slurmctld/node_mgr.c b/src/slurmctld/node_mgr.c
index ee553d578..9d12b37c0 100644
--- a/src/slurmctld/node_mgr.c
+++ b/src/slurmctld/node_mgr.c
@@ -476,7 +476,7 @@ extern int load_all_node_state ( bool state_only )
 	debug3("Version string in node_state header is %s", ver_str);
 	if ((!ver_str) || (strcmp(ver_str, NODE_STATE_VERSION) != 0)) {
 		error("*****************************************************");
-		error("Can not recover node state, data version incompatable");
+		error("Can not recover node state, data version incompatible");
 		error("*****************************************************");
 		xfree(ver_str);
 		free_buf(buffer);
diff --git a/src/slurmctld/partition_mgr.c b/src/slurmctld/partition_mgr.c
index 20b4fb7c7..1e09f4999 100644
--- a/src/slurmctld/partition_mgr.c
+++ b/src/slurmctld/partition_mgr.c
@@ -2,7 +2,7 @@
  *  partition_mgr.c - manage the partition information of slurm
  *	Note: there is a global partition list (part_list) and
  *	time stamp (last_part_update)
- *  $Id: partition_mgr.c 18102 2009-07-09 20:45:13Z jette $
+ *  $Id: partition_mgr.c 19082 2009-12-01 20:15:57Z da $
  *****************************************************************************
  *  Copyright (C) 2002-2007 The Regents of the University of California.
  *  Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
@@ -468,7 +468,7 @@ int load_all_part_state(void)
 	debug3("Version string in part_state header is %s", ver_str);
 	if ((!ver_str) || (strcmp(ver_str, PART_STATE_VERSION) != 0)) {
 		error("**********************************************************");
-		error("Can not recover partition state, data version incompatable");
+		error("Can not recover partition state, data version incompatible");
 		error("**********************************************************");
 		xfree(ver_str);
 		free_buf(buffer);
diff --git a/src/slurmctld/reservation.c b/src/slurmctld/reservation.c
index 24f876de8..739f9b910 100644
--- a/src/slurmctld/reservation.c
+++ b/src/slurmctld/reservation.c
@@ -1950,7 +1950,7 @@ extern int load_all_resv_state(int recover)
 	debug3("Version string in resv_state header is %s", ver_str);
 	if ((!ver_str) || (strcmp(ver_str, RESV_STATE_VERSION) != 0)) {
 		error("************************************************************");
-		error("Can not recover reservation state, data version incompatable");
+		error("Can not recover reservation state, data version incompatible");
 		error("************************************************************");
 		xfree(ver_str);
 		free_buf(buffer);
diff --git a/src/slurmctld/trigger_mgr.c b/src/slurmctld/trigger_mgr.c
index 6092c00d3..a21c9cd86 100644
--- a/src/slurmctld/trigger_mgr.c
+++ b/src/slurmctld/trigger_mgr.c
@@ -648,7 +648,7 @@ extern int trigger_state_restore(void)
 	buffer = create_buf(data, data_size);
 	safe_unpackstr_xmalloc(&ver_str, &ver_str_len, buffer);
 	if (strcmp(ver_str, TRIGGER_STATE_VERSION) != 0) {
-		error("Can't recover trigger state, data version incompatable");
+		error("Can't recover trigger state, data version incompatible");
 		xfree(ver_str);
 		free_buf(buffer);
 		return EFAULT;
diff --git a/src/slurmd/slurmd/slurmd.c b/src/slurmd/slurmd/slurmd.c
index e002a1739..e8b24283f 100644
--- a/src/slurmd/slurmd/slurmd.c
+++ b/src/slurmd/slurmd/slurmd.c
@@ -1,6 +1,6 @@
 /*****************************************************************************\
  *  src/slurmd/slurmd/slurmd.c - main slurm node server daemon
- *  $Id: slurmd.c 18662 2009-09-09 23:09:09Z jette $
+ *  $Id: slurmd.c 19082 2009-12-01 20:15:57Z da $
  *****************************************************************************
  *  Copyright (C) 2002-2007 The Regents of the University of California.
  *  Copyright (C) 2008-2009 Lawrence Livermore National Security.
@@ -955,7 +955,7 @@ _create_msg_socket()
 
 	conf->lfd = ld;
 
-	debug3("succesfully opened slurm listen port %s:%d",
+	debug3("successfully opened slurm listen port %s:%d",
 	       node_addr, conf->port);
 
 	return;
diff --git a/src/slurmd/slurmstepd/mgr.c b/src/slurmd/slurmstepd/mgr.c
index 772f07718..753422ea8 100644
--- a/src/slurmd/slurmstepd/mgr.c
+++ b/src/slurmd/slurmstepd/mgr.c
@@ -1,6 +1,6 @@
 /*****************************************************************************\
  *  src/slurmd/slurmstepd/mgr.c - job manager functions for slurmstepd
- *  $Id: mgr.c 18638 2009-09-08 21:54:27Z jette $
+ *  $Id: mgr.c 19082 2009-12-01 20:15:57Z da $
  *****************************************************************************
  *  Copyright (C) 2002-2007 The Regents of the University of California.
  *  Copyright (C) 2008-2009 Lawrence Livermore National Security.
@@ -1327,7 +1327,7 @@ _log_task_exit(unsigned long taskid, unsigned long pid, int status)
  * If waitflag is false, do repeated non-blocking waits until
  * there are no more processes to reap (waitpid returns 0).
  *
- * Returns the number of tasks for which a wait3() was succesfully
+ * Returns the number of tasks for which a wait3() was successfully
  * performed, or -1 if there are no child tasks.
  */
 static int
diff --git a/src/slurmd/slurmstepd/req.c b/src/slurmd/slurmstepd/req.c
index 38e7c62f5..51f81f0b1 100644
--- a/src/slurmd/slurmstepd/req.c
+++ b/src/slurmd/slurmstepd/req.c
@@ -1071,7 +1071,7 @@ _handle_suspend(int fd, slurmd_job_t *job, uid_t uid)
 		goto done;
 	}
 
-	if (cont_id == 0) {
+	if (job->cont_id == 0) {
 		debug ("step %u.%u invalid container [cont_id:%u]",
 			job->jobid, job->stepid, job->cont_id);
 		rc = -1;
diff --git a/src/slurmd/slurmstepd/task.c b/src/slurmd/slurmstepd/task.c
index 0ac6d6c44..1436f72e1 100644
--- a/src/slurmd/slurmstepd/task.c
+++ b/src/slurmd/slurmstepd/task.c
@@ -511,7 +511,7 @@ _make_tmpdir(slurmd_job_t *job)
 /*
  * Return a string representation of an array of uint32_t elements.
  * Each value in the array is printed in decimal notation and elements
- * are seperated by a comma.  
+ * are separated by a comma.  
  * 
  * Returns an xmalloc'ed string.  Free with xfree().
  */
diff --git a/src/slurmdbd/proc_req.c b/src/slurmdbd/proc_req.c
index ef372ec98..19f0df03f 100644
--- a/src/slurmdbd/proc_req.c
+++ b/src/slurmdbd/proc_req.c
@@ -1542,8 +1542,8 @@ static int _init_conn(slurmdbd_conn_t *slurmdbd_conn,
 	}
 	if ((init_msg->version < SLURMDBD_VERSION_MIN) ||
 	    (init_msg->version > SLURMDBD_VERSION)) {
-		comment = "Incompatable RPC version";
-		error("Incompatable RPC version received "
+		comment = "Incompatible RPC version";
+		error("Incompatible RPC version received "
 		      "(%u not between %d and %d)",
 		      init_msg->version, 
 		      SLURMDBD_VERSION_MIN, SLURMDBD_VERSION);
diff --git a/src/squeue/opts.c b/src/squeue/opts.c
index c31b8089a..c5bfdaf0f 100644
--- a/src/squeue/opts.c
+++ b/src/squeue/opts.c
@@ -1,7 +1,7 @@
 /****************************************************************************\
  *  opts.c - srun command line option parsing
  *
- *  $Id: opts.c 18308 2009-08-04 16:31:06Z jette $
+ *  $Id: opts.c 19082 2009-12-01 20:15:57Z da $
  *****************************************************************************
  *  Copyright (C) 2002-2007 The Regents of the University of California.
  *  Copyright (C) 2008-2009 Lawrence Livermore National Security
@@ -242,7 +242,7 @@ parse_command_line( int argc, char* argv[] )
 	}
 
 	if ( params.job_flag && params.step_flag) {
-		error("Incompatable options --jobs and --steps\n");
+		error("Incompatible options --jobs and --steps\n");
 		exit(1);
 	}
 
@@ -1060,8 +1060,8 @@ Usage: squeue [OPTIONS]\n\
                                   to view, default is all partitions\n\
   -s, --steps                     comma separated list of job steps\n\
                                   to view, default is all\n\
-  -S, --sort=fields               comma seperated list of fields to sort on\n\
-  -t, --states=states             comma seperated list of states to view,\n\
+  -S, --sort=fields               comma separated list of fields to sort on\n\
+  -t, --states=states             comma separated list of states to view,\n\
                                   default is pending and running,\n\
                                   '--states=all' reports all states\n\
   -u, --user=user_name            comma separated list of users to view\n\
diff --git a/src/squeue/print.c b/src/squeue/print.c
index 22832d5c2..94791bf63 100644
--- a/src/squeue/print.c
+++ b/src/squeue/print.c
@@ -594,9 +594,6 @@ int _print_job_nodes(job_info_t * job, int width, bool right, char* suffix)
 int _print_job_reason_list(job_info_t * job, int width, bool right, 
 		char* suffix)
 {
-	char *ionodes = NULL;
-	char tmp_char[16];
-	
 	if (job == NULL) {	/* Print the Header instead */
 #ifdef HAVE_BG
 		_print_str("BP_LIST(REASON)", width, right, false);
@@ -614,22 +611,21 @@ int _print_job_reason_list(job_info_t * job, int width, bool right,
 		snprintf(id, FORMAT_STRING_SIZE, "(%s)", reason);
 		_print_str(id, width, right, true);
 	} else {
-#ifdef HAVE_BG
+		char *nodes = xstrdup(job->nodes);
+		char *ionodes = NULL;
 		select_g_get_jobinfo(job->select_jobinfo, 
 				     SELECT_DATA_IONODES, 
 				     &ionodes);
-#endif
-		
-		_print_nodes(job->nodes, width, right, false);
 		if(ionodes) {
-			snprintf(tmp_char, sizeof(tmp_char), "[%s]", 
-				 ionodes);
-			_print_str(tmp_char, width, right, false);
-		}
+			xstrfmtcat(nodes, "[%s]", ionodes);
+			xfree(ionodes);
+			_print_str(nodes, width, right, false);
+		} else	
+			_print_nodes(nodes, width, right, false);
+		xfree(nodes);
 	}
 	if (suffix)
 		printf("%s", suffix);
-	xfree(ionodes);
 	return SLURM_SUCCESS;
 }
 
diff --git a/src/sreport/sreport.c b/src/sreport/sreport.c
index 6abcbc044..e92f57273 100644
--- a/src/sreport/sreport.c
+++ b/src/sreport/sreport.c
@@ -201,8 +201,7 @@ main (int argc, char *argv[])
 /*
  * Alternative to readline if readline is not available
  */
-static char *
-getline(const char *prompt)
+static char *_getline(const char *prompt)
 {
 	char buf[4096];
 	char *line;
@@ -367,7 +366,7 @@ _get_command (int *argc, char **argv)
 #if HAVE_READLINE
 	in_line = readline ("sreport: ");
 #else
-	in_line = getline("sreport: ");
+	in_line = _getline("sreport: ");
 #endif
 	if (in_line == NULL)
 		return 0;
@@ -781,7 +780,7 @@ sreport [<OPTION>] [<COMMAND>]                                             \n\
        HH:MM[:SS] [AM|PM]                                                  \n\
        MMDD[YY] or MM/DD[/YY] or MM.DD[.YY]                                \n\
        MM/DD[/YY]-HH:MM[:SS]                                               \n\
-       YYYY-MM-DD[THH[:MM[:SS]]]                                           \n\
+       YYYY-MM-DD[THH:MM[:SS]]                                             \n\
                                                                            \n\
                                                                            \n\
   All commands and options are case-insensitive.                         \n\n");
diff --git a/src/srun/opt.c b/src/srun/opt.c
index 4dfea92c5..ef901c340 100644
--- a/src/srun/opt.c
+++ b/src/srun/opt.c
@@ -870,7 +870,7 @@ static void set_options(const int argc, char **argv)
 			break;
 		case (int)'e':
 			if (opt.pty) {
-				fatal("--error incompatable with --pty "
+				fatal("--error incompatible with --pty "
 				      "option");
 			}
 			xfree(opt.efname);
@@ -891,7 +891,7 @@ static void set_options(const int argc, char **argv)
 			break;
 		case (int)'i':
 			if (opt.pty) {
-				fatal("--input incompatable with "
+				fatal("--input incompatible with "
 				      "--pty option");
 			}
 			xfree(opt.ifname);
@@ -956,7 +956,7 @@ static void set_options(const int argc, char **argv)
 			break;
 		case (int)'o':
 			if (opt.pty)
-				fatal("--output incompatable with --pty option");
+				fatal("--output incompatible with --pty option");
 			xfree(opt.ofname);
 			if (strncasecmp(optarg, "none", (size_t) 4) == 0)
 				opt.ofname = xstrdup("/dev/null");
@@ -1301,11 +1301,11 @@ static void set_options(const int argc, char **argv)
 			opt.pty = true;
 			opt.unbuffered = true;	/* implicit */
 			if (opt.ifname)
-				fatal("--input incompatable with --pty option");
+				fatal("--input incompatible with --pty option");
 			if (opt.ofname)
-				fatal("--output incompatable with --pty option");
+				fatal("--output incompatible with --pty option");
 			if (opt.efname)
-				fatal("--error incompatable with --pty option");
+				fatal("--error incompatible with --pty option");
 #else
 			error("--pty not currently supported on this system type");
 #endif
diff --git a/src/srun/srun.c b/src/srun/srun.c
index 6f2b0eaaa..d7ac41b93 100644
--- a/src/srun/srun.c
+++ b/src/srun/srun.c
@@ -524,7 +524,7 @@ static int _slurm_debug_env_val (void)
 /*
  * Return a string representation of an array of uint32_t elements.
  * Each value in the array is printed in decimal notation and elements
- * are seperated by a comma.  If sequential elements in the array
+ * are separated by a comma.  If sequential elements in the array
  * contain the same value, the value is written out just once followed
  * by "(xN)", where "N" is the number of times the value is repeated.
  *
diff --git a/src/sstat/options.c b/src/sstat/options.c
index 9b116545d..fdfbc5c73 100644
--- a/src/sstat/options.c
+++ b/src/sstat/options.c
@@ -79,13 +79,13 @@ sstat [<OPTION>] -j <job(.stepid)>                                          \n\
                    or comma-separated list of job steps. This option is     \n\
                    required.  The step portion will default to step 0 if not\n\
                    specified, unless the --allsteps flag is set where not   \n\
-                   specifing a step will result in all running steps to be  \n\
+                   specifying a step will result in all running steps to be  \n\
                    displayed.                                               \n\
      -n, --noheader:                                                        \n\
 	           No header will be added to the beginning of output.      \n\
                    The default is to print a header.                        \n\
      -o, --format:                                                          \n\
-	           Comma seperated list of fields. (use \"--helpformat\"    \n\
+	           Comma separated list of fields. (use \"--helpformat\"    \n\
                    for a list of available fields).                         \n\
      -p, --parsable: output will be '|' delimited with a '|' at the end     \n\
      -P, --parsable2: output will be '|' delimited without a '|' at the end \n\
diff --git a/src/sview/job_info.c b/src/sview/job_info.c
index c76e6a05f..e47b1f8f9 100644
--- a/src/sview/job_info.c
+++ b/src/sview/job_info.c
@@ -1056,6 +1056,7 @@ static void _layout_job_record(GtkTreeView *treeview,
 	char *nodes = NULL, *reason = NULL, *uname = NULL;
 	char tmp_char[50];
 	time_t now_time = time(NULL);
+	int suspend_secs = 0;
 	job_info_t *job_ptr = sview_job_info_ptr->job_ptr;
 	struct group *group_info = NULL;
 	uint16_t term_sig = 0;
@@ -1076,12 +1077,16 @@ static void _layout_job_record(GtkTreeView *treeview,
 			if ((job_ptr->job_state != JOB_RUNNING)
 			    && (job_ptr->end_time != 0))
 				now_time = job_ptr->end_time;
-			if (job_ptr->suspend_time)
-				now_time = (difftime(now_time,
-						     job_ptr->suspend_time)
-					    + job_ptr->pre_sus_time);
-			now_time = difftime(now_time, job_ptr->start_time);
+			if (job_ptr->suspend_time) {
+				now_time = (time_t)
+					(difftime(now_time,
+						  job_ptr->suspend_time)
+					 + job_ptr->pre_sus_time);
+			} else 
+				now_time = (time_t)difftime(
+					now_time, job_ptr->start_time);
 		}
+		suspend_secs = (time(NULL) - job_ptr->start_time) - now_time;
 		secs2time_str(now_time, tmp_char, sizeof(tmp_char));
 		nodes = sview_job_info_ptr->nodes;	
 	}
@@ -1112,7 +1117,7 @@ static void _layout_job_record(GtkTreeView *treeview,
 				   find_col_name(display_data_job,
 						 SORTID_END_TIME), 
 				   tmp_char);
-	secs2time_str(job_ptr->suspend_time, tmp_char, sizeof(tmp_char));
+	secs2time_str(suspend_secs, tmp_char, sizeof(tmp_char));
 	add_display_treestore_line(update, treestore, &iter, 
 				   find_col_name(display_data_job,
 						 SORTID_SUSPEND_TIME), 
@@ -1476,6 +1481,7 @@ static void _update_job_record(sview_job_info_t *sview_job_info_ptr,
 	char *nodes = NULL, *reason = NULL, *uname = NULL;
 	char tmp_char[50];
 	time_t now_time = time(NULL);
+	int suspend_secs = 0;
 	GtkTreeIter step_iter;
 	int childern = 0;
 	job_info_t *job_ptr = sview_job_info_ptr->job_ptr;
@@ -1493,12 +1499,16 @@ static void _update_job_record(sview_job_info_t *sview_job_info_ptr,
 			if ((job_ptr->job_state != JOB_RUNNING)
 			    && (job_ptr->end_time != 0)) 
 				now_time = job_ptr->end_time;
-			if (job_ptr->suspend_time)
-				now_time = (difftime(now_time,
-						     job_ptr->suspend_time)
-					    + job_ptr->pre_sus_time);
-			now_time = difftime(now_time, job_ptr->start_time);
+			if (job_ptr->suspend_time) {
+				now_time = (time_t)
+					(difftime(now_time,
+						  job_ptr->suspend_time)
+					 + job_ptr->pre_sus_time);
+			} else 
+				now_time = (time_t)difftime(
+					now_time, job_ptr->start_time);
 		}
+		suspend_secs = (time(NULL) - job_ptr->start_time) - now_time;
 		secs2time_str(now_time, tmp_char, sizeof(tmp_char));
 		nodes = sview_job_info_ptr->nodes;	
 	}
@@ -1516,8 +1526,8 @@ static void _update_job_record(sview_job_info_t *sview_job_info_ptr,
 		slurm_make_time_str((time_t *)&job_ptr->end_time, tmp_char,
 				    sizeof(tmp_char));
 	gtk_tree_store_set(treestore, iter, SORTID_END_TIME, tmp_char, -1);
-	slurm_make_time_str((time_t *)&job_ptr->suspend_time, tmp_char,
-			    sizeof(tmp_char));
+
+	secs2time_str(suspend_secs, tmp_char, sizeof(tmp_char));
 	gtk_tree_store_set(treestore, iter, SORTID_SUSPEND_TIME, tmp_char, -1);
 
 	if (job_ptr->time_limit == NO_VAL)
diff --git a/src/sview/part_info.c b/src/sview/part_info.c
index cef05a735..fc546134e 100644
--- a/src/sview/part_info.c
+++ b/src/sview/part_info.c
@@ -111,7 +111,7 @@ static display_data_t display_data_part[] = {
 	 EDIT_MODEL, refresh_part, create_model_part, admin_edit_part},
 	{G_TYPE_STRING, SORTID_HIDDEN, "Hidden", FALSE,
 	 EDIT_MODEL, refresh_part, create_model_part, admin_edit_part},
-	{G_TYPE_STRING, SORTID_AVAIL, "Availablity", TRUE,
+	{G_TYPE_STRING, SORTID_AVAIL, "Availability", TRUE,
 	 EDIT_MODEL, refresh_part, create_model_part, admin_edit_part},
 	{G_TYPE_STRING, SORTID_TIMELIMIT, "Time Limit", 
 	 TRUE, EDIT_TEXTBOX, refresh_part, create_model_part, admin_edit_part},
@@ -183,7 +183,7 @@ static display_data_t options_data_part[] = {
 	{G_TYPE_STRING, PART_PAGE, "Make Nodes Idle", TRUE, ADMIN_PAGE},
 	{G_TYPE_STRING, PART_PAGE, "Update Node Features", TRUE, ADMIN_PAGE},
 #endif
-	{G_TYPE_STRING, PART_PAGE, "Change Availablity Up/Down",
+	{G_TYPE_STRING, PART_PAGE, "Change Availability Up/Down",
 	 TRUE, ADMIN_PAGE},
 	{G_TYPE_STRING, PART_PAGE, "Edit Part", TRUE, ADMIN_PAGE},
 	{G_TYPE_STRING, JOB_PAGE, "Jobs", TRUE, PART_PAGE},
@@ -2419,7 +2419,7 @@ extern void admin_part(GtkTreeModel *model, GtkTreeIter *iter, char *type)
 	
 	part_msg->name = xstrdup(partid);
 		
-	if(!strcasecmp("Change Availablity Up/Down", type)) {
+	if(!strcasecmp("Change Availability Up/Down", type)) {
 		label = gtk_dialog_add_button(GTK_DIALOG(popup),
 					      GTK_STOCK_YES, GTK_RESPONSE_OK);
 		gtk_window_set_default(GTK_WINDOW(popup), label);
diff --git a/testsuite/expect/regression.py b/testsuite/expect/regression.py
index 2d138708c..5d1675ba2 100755
--- a/testsuite/expect/regression.py
+++ b/testsuite/expect/regression.py
@@ -54,10 +54,10 @@ def main(argv=None):
                       dest='time_individual', default=False)
     parser.add_option('-e', '--exclude', type='string', dest='exclude_tests',
                       action='callback', callback=test_parser,
-                      help='comma or space seperated string of tests to skip')
+                      help='comma or space separated string of tests to skip')
     parser.add_option('-i', '--include', type='string', dest='include_tests',
                       action='callback', callback=test_parser,
-                      help='comma or space seperated string of tests to include')
+                      help='comma or space separated string of tests to include')
     parser.add_option('-k', '--keep-logs', action='store_true', default=False)
     (options, args) = parser.parse_args(args=argv)
 
diff --git a/testsuite/expect/test1.1 b/testsuite/expect/test1.1
index f388711ae..68bda71f0 100755
--- a/testsuite/expect/test1.1
+++ b/testsuite/expect/test1.1
@@ -42,7 +42,7 @@ set got_login_grps       0
 print_header $test_id
 
 if {[test_front_end] != 0 && [test_super_user] == 0} {
-	send_user "\nWARNING: This test is incompatable with front-end systems\n"
+	send_user "\nWARNING: This test is incompatible with front-end systems\n"
 	exit $exit_code
 }
 
diff --git a/testsuite/expect/test1.14 b/testsuite/expect/test1.14
index c720bfb4c..d49d6916f 100755
--- a/testsuite/expect/test1.14
+++ b/testsuite/expect/test1.14
@@ -42,7 +42,7 @@ set sleep_secs       10
 print_header $test_id
 
 if {[test_bluegene]} {
-        send_user "\nWARNING: This test is incompatable with bluegene systems\n"
+        send_user "\nWARNING: This test is incompatible with bluegene systems\n"
         exit $exit_code
 }
 
diff --git a/testsuite/expect/test1.26 b/testsuite/expect/test1.26
index 7b9104338..cb27e48a2 100755
--- a/testsuite/expect/test1.26
+++ b/testsuite/expect/test1.26
@@ -47,7 +47,7 @@ if {[is_super_user] == 0} {
 }
 
 if {[test_bluegene] == 1} {
-	send_user "\nWARNING: This test is incompatable with BlueGene systems\n"
+	send_user "\nWARNING: This test is incompatible with BlueGene systems\n"
 	exit 0
 }
 
diff --git a/testsuite/expect/test1.29 b/testsuite/expect/test1.29
index d0c054525..399d71a33 100755
--- a/testsuite/expect/test1.29
+++ b/testsuite/expect/test1.29
@@ -52,7 +52,7 @@ set matches          0
 print_header $test_id
 
 if {[test_front_end] != 0 && [test_super_user] == 0} {
-	send_user "\nWARNING: This test is incompatable with front-end systems\n"
+	send_user "\nWARNING: This test is incompatible with front-end systems\n"
 	exit $exit_code
 }
 
diff --git a/testsuite/expect/test1.30 b/testsuite/expect/test1.30
index 1379e67d8..b84b5751b 100755
--- a/testsuite/expect/test1.30
+++ b/testsuite/expect/test1.30
@@ -39,7 +39,7 @@ set error 0
 print_header $test_id
 
 if { [test_xcpu] } {
-	send_user "\nWARNING: This test is incompatable with XCPU systems\n"
+	send_user "\nWARNING: This test is incompatible with XCPU systems\n"
 	exit 0
 }
 
diff --git a/testsuite/expect/test1.32 b/testsuite/expect/test1.32
index d93c34d48..4bf36b9b2 100755
--- a/testsuite/expect/test1.32
+++ b/testsuite/expect/test1.32
@@ -46,7 +46,7 @@ set usr2cnt     0
 print_header $test_id
 
 if { [test_xcpu] } {
-	send_user "\nWARNING: This test is incompatable with XCPU systems\n"
+	send_user "\nWARNING: This test is incompatible with XCPU systems\n"
 	exit $exit_code
 }
 
diff --git a/testsuite/expect/test1.34 b/testsuite/expect/test1.34
index 6d98138d3..2ce7be808 100755
--- a/testsuite/expect/test1.34
+++ b/testsuite/expect/test1.34
@@ -40,7 +40,7 @@ set test_prog      "test$test_id.prog"
 print_header $test_id
 
 if {[test_front_end] != 0} {
-	send_user "\nWARNING: This test is incompatable with front-end systems\n"
+	send_user "\nWARNING: This test is incompatible with front-end systems\n"
 	exit 0
 }
 
diff --git a/testsuite/expect/test1.37 b/testsuite/expect/test1.37
index 4b15449ba..47e84a5e2 100755
--- a/testsuite/expect/test1.37
+++ b/testsuite/expect/test1.37
@@ -38,7 +38,7 @@ set exit_code    0
 print_header $test_id
 
 if { [test_bluegene] } {
-	send_user "\nWARNING: This test is incompatable with bluegene systems\n"
+	send_user "\nWARNING: This test is incompatible with bluegene systems\n"
 	exit $exit_code
 }
 
diff --git a/testsuite/expect/test1.38 b/testsuite/expect/test1.38
index a1c4ef2d2..a544736fa 100755
--- a/testsuite/expect/test1.38
+++ b/testsuite/expect/test1.38
@@ -41,7 +41,7 @@ set file_in     "test$test_id.input"
 print_header $test_id
 
 if { [test_xcpu] } {
-	send_user "\nWARNING: This test is incompatable with XCPU systems\n"
+	send_user "\nWARNING: This test is incompatible with XCPU systems\n"
 	exit 0
 }
 
diff --git a/testsuite/expect/test1.45 b/testsuite/expect/test1.45
index dc6f745a6..bd86ae315 100755
--- a/testsuite/expect/test1.45
+++ b/testsuite/expect/test1.45
@@ -52,7 +52,7 @@ set num_procs_test3  ""
 print_header $test_id
 
 if { [test_xcpu] } {
-	send_user "\nWARNING: This test is incompatable with XCPU systems\n"
+	send_user "\nWARNING: This test is incompatible with XCPU systems\n"
 	exit 0
 }
 
diff --git a/testsuite/expect/test1.48 b/testsuite/expect/test1.48
index 7ce701132..0101d55b1 100755
--- a/testsuite/expect/test1.48
+++ b/testsuite/expect/test1.48
@@ -40,7 +40,7 @@ set got_login_grps       0
 print_header $test_id
 
 if {[test_front_end] != 0 && [test_super_user] == 0} {
-	send_user "\nWARNING: This test is incompatable with front-end systems\n"
+	send_user "\nWARNING: This test is incompatible with front-end systems\n"
 	exit $exit_code
 }
 
diff --git a/testsuite/expect/test1.50 b/testsuite/expect/test1.50
index 6cd180d42..504cdeecd 100755
--- a/testsuite/expect/test1.50
+++ b/testsuite/expect/test1.50
@@ -38,7 +38,7 @@ set exit_code            0
 print_header $test_id
 
 if {[test_front_end] != 0 && [test_super_user] == 0} {
-	send_user "\nWARNING: This test is incompatable with front-end systems\n"
+	send_user "\nWARNING: This test is incompatible with front-end systems\n"
 	exit $exit_code
 }
 
diff --git a/testsuite/expect/test1.51 b/testsuite/expect/test1.51
index 4c7cf67ac..be4e6adbf 100755
--- a/testsuite/expect/test1.51
+++ b/testsuite/expect/test1.51
@@ -41,7 +41,7 @@ set file_script  "test$test_id.script"
 print_header $test_id
 
 if {[test_front_end] != 0} {
-	send_user "\nWARNING: This test is incompatable with front-end systems\n"
+	send_user "\nWARNING: This test is incompatible with front-end systems\n"
 	exit $exit_code
 }
 
diff --git a/testsuite/expect/test1.52 b/testsuite/expect/test1.52
index 0eb3184ee..73d383aa4 100755
--- a/testsuite/expect/test1.52
+++ b/testsuite/expect/test1.52
@@ -46,7 +46,7 @@ print_header $test_id
 
 exec $bin_rm -f $hostfile
 if { [test_front_end] } {
-	send_user "\nWARNING: This test incompatable with front-end Systems\n"
+	send_user "\nWARNING: This test incompatible with front-end Systems\n"
 	exit $exit_code
 }
 
diff --git a/testsuite/expect/test1.54 b/testsuite/expect/test1.54
index fd48d26f1..595cbefef 100755
--- a/testsuite/expect/test1.54
+++ b/testsuite/expect/test1.54
@@ -40,7 +40,7 @@ set exit_code   0
 print_header $test_id
 
 if {[test_front_end] != 0} {
-        send_user "\nThis test is incompatable with front-end systems\n"
+        send_user "\nThis test is incompatible with front-end systems\n"
 	exit 0
 }
 
diff --git a/testsuite/expect/test1.59 b/testsuite/expect/test1.59
index 6ad5da113..fed6407be 100755
--- a/testsuite/expect/test1.59
+++ b/testsuite/expect/test1.59
@@ -46,11 +46,11 @@ print_header $test_id
 
 exec $bin_rm -f $hostfile
 if { [test_front_end] } {
-	send_user "\nWARNING: This test incompatable with front-end systems\n"
+	send_user "\nWARNING: This test incompatible with front-end systems\n"
 	exit $exit_code
 }
 if {[string compare [switch_type] "elan"] == 0} {
-	send_user "\nWARNING: This test incompatable with Elan switch\n"
+	send_user "\nWARNING: This test incompatible with Elan switch\n"
 	exit $exit_code
 } 
 #find out if we have enough nodes to test functionality
diff --git a/testsuite/expect/test1.60 b/testsuite/expect/test1.60
index e3d23acd5..05bf81e0e 100755
--- a/testsuite/expect/test1.60
+++ b/testsuite/expect/test1.60
@@ -49,7 +49,7 @@ set file_out_n_glob  ""
 print_header $test_id
 
 if {[test_bluegene] != 0} {
-	send_user "\nWARNING: This test is incompatable with bluegene systems\n"
+	send_user "\nWARNING: This test is incompatible with bluegene systems\n"
 	exit 0
 }
 
diff --git a/testsuite/expect/test1.80 b/testsuite/expect/test1.80
index 25ede9de7..2240f1447 100755
--- a/testsuite/expect/test1.80
+++ b/testsuite/expect/test1.80
@@ -41,7 +41,7 @@ set exit_code   0
 print_header $test_id
 
 if { [test_front_end] } {
-	send_user "\nWARNING: This test is incompatable with front end systems\n"
+	send_user "\nWARNING: This test is incompatible with front end systems\n"
 	exit 0
 }
 
@@ -88,7 +88,7 @@ if {[string compare $expected_layout $tested_layout] != 0} {
 }
 
 if {[test_front_end] != 0} {
-	send_user "\nWARNING: Additional testing is incompatable with front-end systems\n"
+	send_user "\nWARNING: Additional testing is incompatible with front-end systems\n"
 	exit $exit_code
 }
 
diff --git a/testsuite/expect/test1.81 b/testsuite/expect/test1.81
index 2edd0304d..d7c4f64f8 100755
--- a/testsuite/expect/test1.81
+++ b/testsuite/expect/test1.81
@@ -53,7 +53,7 @@ expect {
 	-re "(Task count specification invalid|configuration is not available)" {
 		if { [test_front_end] } {
 			set can_not_run 1
-			send_user "\nWARNING: error expected, Testing is incompatable with front-end systems\n"
+			send_user "\nWARNING: error expected, Testing is incompatible with front-end systems\n"
 #	
 		}
 		exp_continue
@@ -152,7 +152,7 @@ if {[string compare $host_1 ""] != 0} {
 	send_user "\nFAILURE: Started two tasks instead of one\n"
 }
 if {[test_front_end] != 0} {
-	send_user "\nWARNING: Additional testing is incompatable with front-end systems\n"
+	send_user "\nWARNING: Additional testing is incompatible with front-end systems\n"
 	exit $exit_code
 }
 
diff --git a/testsuite/expect/test1.82 b/testsuite/expect/test1.82
index ef05b750d..a3ce30b6b 100755
--- a/testsuite/expect/test1.82
+++ b/testsuite/expect/test1.82
@@ -41,7 +41,7 @@ set exit_code   0
 print_header $test_id
 
 if { [test_xcpu] } {
-	send_user "\nWARNING: This test is incompatable with XCPU systems\n"
+	send_user "\nWARNING: This test is incompatible with XCPU systems\n"
 	exit 0
 }
 
@@ -118,7 +118,7 @@ if {[string compare $host_2 ""] == 0} {
 	set exit_code   1	
 }
 if {[test_front_end] != 0} {
-	send_user "\nWARNING: Additional testing is incompatable with front-end systems\n"
+	send_user "\nWARNING: Additional testing is incompatible with front-end systems\n"
 #	On blue gene we could get extra tasks
 	exit $exit_code
 }
diff --git a/testsuite/expect/test1.83 b/testsuite/expect/test1.83
index 65aa240c4..94f54a66b 100755
--- a/testsuite/expect/test1.83
+++ b/testsuite/expect/test1.83
@@ -50,11 +50,11 @@ if {[test_wiki_sched] == 1} {
 	exit $exit_code
 }
 if {[test_front_end] != 0} {
-	send_user "\nWARNING: This test is incompatable with front-end systems\n"
+	send_user "\nWARNING: This test is incompatible with front-end systems\n"
 	exit 0
 }
 if {[test_topology] != 0} {
-	send_user "\nWARNING: This test is incompatable topology configured systems\n"
+	send_user "\nWARNING: This test is incompatible topology configured systems\n"
 	exit 0
 }
 
@@ -114,7 +114,7 @@ expect {
 # Verify node count
 #
 if {[test_front_end] != 0} {
-	send_user "\nWARNING: Additional testing is incompatable "
+	send_user "\nWARNING: Additional testing is incompatible "
 	send_user "with front-end systems\n"
 	exit $exit_code
 }
diff --git a/testsuite/expect/test1.84 b/testsuite/expect/test1.84
index b301a6570..aa09c011f 100755
--- a/testsuite/expect/test1.84
+++ b/testsuite/expect/test1.84
@@ -45,11 +45,11 @@ set file_in     "test$test_id.input"
 print_header $test_id
 
 if { [test_front_end] } {
-	send_user "\nWARNING: This test is incompatable with FRONT_END systems\n"
+	send_user "\nWARNING: This test is incompatible with FRONT_END systems\n"
 	exit 0
 }
 if {[test_multiple_slurmd] != 0} {
-	send_user "\nWARNING: This test is incompatable with multiple slurmd systems\n"
+	send_user "\nWARNING: This test is incompatible with multiple slurmd systems\n"
 	exit 0
 }
 
diff --git a/testsuite/expect/test1.86 b/testsuite/expect/test1.86
index a15aed75f..6cb1c8dd6 100755
--- a/testsuite/expect/test1.86
+++ b/testsuite/expect/test1.86
@@ -43,12 +43,12 @@ set prompt      "PROMPT: "
 print_header $test_id
 
 if {[test_front_end] != 0} {
-	send_user "\nWARNING: This test is incompatable with front-end systems\n"
+	send_user "\nWARNING: This test is incompatible with front-end systems\n"
 	exit 0
 }
 
 if {[test_multiple_slurmd] != 0} {
-	send_user "\nWARNING: This test is incompatable with multiple slurmd systems\n"
+	send_user "\nWARNING: This test is incompatible with multiple slurmd systems\n"
 	exit 0
 }
 
diff --git a/testsuite/expect/test1.87 b/testsuite/expect/test1.87
index 4890f1b04..eca2ec4f1 100755
--- a/testsuite/expect/test1.87
+++ b/testsuite/expect/test1.87
@@ -43,7 +43,7 @@ set prompt      "QA_PROMPT: "
 print_header $test_id
 
 if {[test_front_end] != 0} {
-	send_user "\nWARNING: This test is incompatable with front-end systems\n"
+	send_user "\nWARNING: This test is incompatible with front-end systems\n"
 	exit 0
 }
 
diff --git a/testsuite/expect/test1.88 b/testsuite/expect/test1.88
index 159765ae0..494a52ea4 100755
--- a/testsuite/expect/test1.88
+++ b/testsuite/expect/test1.88
@@ -55,7 +55,7 @@ if {[file executable $mpicc] == 0} {
 	exit 0
 }
 if {[test_front_end] != 0} {
-        send_user "\nWARNING: This test is incompatable with front-end systems\n"
+        send_user "\nWARNING: This test is incompatible with front-end systems\n"
         exit 0
 }
 if {[test_aix] == 1} {
diff --git a/testsuite/expect/test1.93 b/testsuite/expect/test1.93
index 7da5ae592..e1acf0e17 100755
--- a/testsuite/expect/test1.93
+++ b/testsuite/expect/test1.93
@@ -41,7 +41,7 @@ set prompt      "PROMPT: "
 print_header $test_id
 
 if {[test_front_end] != 0} {
-	send_user "\nWARNING: This test is incompatable with front-end systems\n"
+	send_user "\nWARNING: This test is incompatible with front-end systems\n"
 	exit 0
 }
 
diff --git a/testsuite/expect/test12.2 b/testsuite/expect/test12.2
index f6e2a0fb4..993c9a849 100755
--- a/testsuite/expect/test12.2
+++ b/testsuite/expect/test12.2
@@ -50,7 +50,7 @@ set ret_code    42
 print_header $test_id
 
 if {[test_bluegene] != 0} {
-	send_user "\nWARNING: This test is incompatable with bluegene systems\n"
+	send_user "\nWARNING: This test is incompatible with bluegene systems\n"
 	exit 0
 }
 
diff --git a/testsuite/expect/test14.4 b/testsuite/expect/test14.4
index d97be47b1..5ce4397d2 100755
--- a/testsuite/expect/test14.4
+++ b/testsuite/expect/test14.4
@@ -46,15 +46,15 @@ set job_id               0
 print_header $test_id
 
 if {[test_front_end] != 0} {
-	send_user "\nWARNING: This test is incompatable with front-end systems\n"
+	send_user "\nWARNING: This test is incompatible with front-end systems\n"
 	exit 0
 }
 if {[test_multiple_slurmd] != 0} {
-	send_user "\nWARNING: This test is incompatable with multiple slurmd systems\n"
+	send_user "\nWARNING: This test is incompatible with multiple slurmd systems\n"
 	exit 0
 }
 if {[slurmd_user_root] == 0} {
-	send_user "\nWARNING: This test is incompatable with SlurmdUser != root\n"
+	send_user "\nWARNING: This test is incompatible with SlurmdUser != root\n"
 	exit 0
 }
 
diff --git a/testsuite/expect/test14.5 b/testsuite/expect/test14.5
index fca739154..838265dfc 100755
--- a/testsuite/expect/test14.5
+++ b/testsuite/expect/test14.5
@@ -43,11 +43,11 @@ set job_id               0
 print_header $test_id
 
 if {[test_front_end] != 0} {
-	send_user "\nWARNING: This test is incompatable with front-end systems\n"
+	send_user "\nWARNING: This test is incompatible with front-end systems\n"
 	exit 0
 }
 if {[slurmd_user_root] == 0} {
-	send_user "\nWARNING: This test is incompatable with SlurmdUser != root\n"
+	send_user "\nWARNING: This test is incompatible with SlurmdUser != root\n"
 	exit 0
 }
 
diff --git a/testsuite/expect/test14.6 b/testsuite/expect/test14.6
index 05ee6e8dc..92aac336e 100755
--- a/testsuite/expect/test14.6
+++ b/testsuite/expect/test14.6
@@ -43,7 +43,7 @@ set job_id               0
 print_header $test_id
 
 if {[test_front_end] != 0} {
-	send_user "\nWARNING: This test is incompatable with front-end systems\n"
+	send_user "\nWARNING: This test is incompatible with front-end systems\n"
 	exit 0
 }
 
diff --git a/testsuite/expect/test14.7 b/testsuite/expect/test14.7
index ab8a325f4..e464c6d8f 100755
--- a/testsuite/expect/test14.7
+++ b/testsuite/expect/test14.7
@@ -43,7 +43,7 @@ set job_id               0
 print_header $test_id
 
 if {[test_front_end] != 0} {
-	send_user "\nWARNING: This test is incompatable with front-end systems\n"
+	send_user "\nWARNING: This test is incompatible with front-end systems\n"
 	exit 0
 }
 
diff --git a/testsuite/expect/test14.8 b/testsuite/expect/test14.8
index a895df083..937dae232 100755
--- a/testsuite/expect/test14.8
+++ b/testsuite/expect/test14.8
@@ -46,15 +46,15 @@ set job_id               0
 print_header $test_id
 
 if {[test_front_end] != 0} {
-	send_user "\nWARNING: This test is incompatable with front-end systems\n"
+	send_user "\nWARNING: This test is incompatible with front-end systems\n"
 	exit 0
 }
 if {[test_multiple_slurmd] != 0} {
-	send_user "\nWARNING: This test is incompatable with multiple slurmd systems\n"
+	send_user "\nWARNING: This test is incompatible with multiple slurmd systems\n"
 	exit 0
 }
 if {[slurmd_user_root] == 0} {
-	send_user "\nWARNING: This test is incompatable with SlurmdUser != root\n"
+	send_user "\nWARNING: This test is incompatible with SlurmdUser != root\n"
 	exit 0
 }
 
diff --git a/testsuite/expect/test15.18 b/testsuite/expect/test15.18
index 068d1d954..515d4a128 100755
--- a/testsuite/expect/test15.18
+++ b/testsuite/expect/test15.18
@@ -38,7 +38,7 @@ set exit_code            0
 print_header $test_id
 
 if {[test_front_end] != 0 && [test_super_user] == 0} {
-	send_user "\nWARNING: This test is incompatable with front-end systems\n"
+	send_user "\nWARNING: This test is incompatible with front-end systems\n"
 	exit $exit_code
 }
 
diff --git a/testsuite/expect/test15.19 b/testsuite/expect/test15.19
index c1ebebc49..fd0b53e33 100755
--- a/testsuite/expect/test15.19
+++ b/testsuite/expect/test15.19
@@ -57,7 +57,7 @@ expect {
 	-re "(Task count specification invalid|configuration is not available)" {
 		if { [test_front_end] } {
 			set can_not_run 1
-			send_user "\nWARNING: error expected, Testing is incompatable with front-end systems\n"
+			send_user "\nWARNING: error expected, Testing is incompatible with front-end systems\n"
 		}
 		exp_continue
 	}
@@ -174,7 +174,7 @@ if {[string compare $host_1 ""] != 0} {
 	send_user "\nFAILURE: Started two tasks instead of one\n"
 }
 if {[test_front_end] != 0} {
-	send_user "\nWARNING: Additional testing is incompatable with front-end systems\n"
+	send_user "\nWARNING: Additional testing is incompatible with front-end systems\n"
 	exit $exit_code
 }
 
diff --git a/testsuite/expect/test15.20 b/testsuite/expect/test15.20
index 5f1cd3d76..2279c50c9 100755
--- a/testsuite/expect/test15.20
+++ b/testsuite/expect/test15.20
@@ -41,7 +41,7 @@ set exit_code   0
 print_header $test_id
 
 if { [test_xcpu] } {
-	send_user "\nWARNING: This test is incompatable with XCPU systems\n"
+	send_user "\nWARNING: This test is incompatible with XCPU systems\n"
 	exit 0
 }
 
@@ -130,7 +130,7 @@ if {[string compare $host_2 ""] == 0} {
 	set exit_code   1	
 }
 if {[test_front_end] != 0} {
-	send_user "\nWARNING: Additional testing is incompatable with front-end systems\n"
+	send_user "\nWARNING: Additional testing is incompatible with front-end systems\n"
 #	On blue gene we could get extra tasks
 	exit $exit_code
 }
diff --git a/testsuite/expect/test15.21 b/testsuite/expect/test15.21
index 554c0e7ee..ac8e6ba30 100755
--- a/testsuite/expect/test15.21
+++ b/testsuite/expect/test15.21
@@ -44,11 +44,11 @@ set exit_code   0
 print_header $test_id
 
 if {[test_front_end] != 0} {
-	send_user "\nWARNING: This test is incompatable with front-end systems\n"
+	send_user "\nWARNING: This test is incompatible with front-end systems\n"
 	exit 0
 }
 if {[test_topology] != 0} {
-	send_user "\nWARNING: This test is incompatable topology configured systems\n"
+	send_user "\nWARNING: This test is incompatible topology configured systems\n"
 	exit 0
 }
 
@@ -125,7 +125,7 @@ expect {
 # Verify node count
 #
 if {[test_front_end] != 0} {
-	send_user "\nWARNING: Additional testing is incompatable with front-end systems\n"
+	send_user "\nWARNING: Additional testing is incompatible with front-end systems\n"
 	exit $exit_code
 }
 
diff --git a/testsuite/expect/test15.4 b/testsuite/expect/test15.4
index ab9a518d8..863e54868 100755
--- a/testsuite/expect/test15.4
+++ b/testsuite/expect/test15.4
@@ -42,7 +42,7 @@ set got_login_grps       0
 print_header $test_id
 
 if {[test_front_end] != 0 && [test_super_user] == 0} {
-	send_user "\nWARNING: This test is incompatable with front-end systems\n"
+	send_user "\nWARNING: This test is incompatible with front-end systems\n"
 	exit $exit_code
 }
 
diff --git a/testsuite/expect/test16.4 b/testsuite/expect/test16.4
index b6b61e6a3..201aeba43 100755
--- a/testsuite/expect/test16.4
+++ b/testsuite/expect/test16.4
@@ -42,7 +42,7 @@ set matches     0
 print_header $test_id
 
 if { [test_xcpu] } {
-	send_user "\nWARNING: This test is incompatable with XCPU systems\n"
+	send_user "\nWARNING: This test is incompatible with XCPU systems\n"
 	exit 0
 }
 
diff --git a/testsuite/expect/test17.17 b/testsuite/expect/test17.17
index f78cfbef0..5473c3c92 100755
--- a/testsuite/expect/test17.17
+++ b/testsuite/expect/test17.17
@@ -73,7 +73,7 @@ if {[string compare $nodelist_name ""] == 0} {
 	exit 1
 }
 if {[test_front_end] != 0} {
-	send_user "\nWARNING: Additional testing is incompatable with front-end systems\n"
+	send_user "\nWARNING: Additional testing is incompatible with front-end systems\n"
 	exit $exit_code
 }
 
@@ -136,7 +136,7 @@ if {$waited == 0} {
 	spawn $scontrol show partition
 	expect {
 		-re "Shared=FORCE" {
-			send_user "\nWARNING: Test incompatable with Shared=FORCE\n"
+			send_user "\nWARNING: Test incompatible with Shared=FORCE\n"
 			set waited 1
 			exp_continue
 		}
diff --git a/testsuite/expect/test17.20 b/testsuite/expect/test17.20
index 83e5cf2ae..7a352b07a 100755
--- a/testsuite/expect/test17.20
+++ b/testsuite/expect/test17.20
@@ -42,7 +42,7 @@ set got_login_grps       0
 print_header $test_id
 
 if {[test_front_end] != 0 && [test_super_user] == 0} {
-	send_user "\nWARNING: This test is incompatable with front-end systems\n"
+	send_user "\nWARNING: This test is incompatible with front-end systems\n"
 	exit $exit_code
 }
 
diff --git a/testsuite/expect/test17.27 b/testsuite/expect/test17.27
index e60a3a70a..062912f61 100755
--- a/testsuite/expect/test17.27
+++ b/testsuite/expect/test17.27
@@ -43,7 +43,7 @@ set job_id           0
 print_header $test_id
 
 if { [test_xcpu] } {
-	send_user "\nWARNING: This test is incompatable with XCPU systems\n"
+	send_user "\nWARNING: This test is incompatible with XCPU systems\n"
 	exit 0
 }
 
@@ -147,7 +147,7 @@ if {[string compare $host_2 ""] == 0} {
 	set exit_code   1	
 }
 if {[test_front_end] != 0} {
-	send_user "\nWARNING: Additional testing is incompatable with front-end systems\n"
+	send_user "\nWARNING: Additional testing is incompatible with front-end systems\n"
 #	On blue gene we could get extra tasks
 	exit $exit_code
 }
diff --git a/testsuite/expect/test7.3 b/testsuite/expect/test7.3
index 76a3492bc..2328a1a26 100755
--- a/testsuite/expect/test7.3
+++ b/testsuite/expect/test7.3
@@ -42,7 +42,7 @@ set test_prog   "test$test_id.prog"
 print_header $test_id
 
 if {[test_front_end] != 0} {
-        send_user "\nWARNING: This test is incompatable with front-end systems\n"
+        send_user "\nWARNING: This test is incompatible with front-end systems\n"
         exit 0
 }
 
diff --git a/testsuite/expect/test7.4 b/testsuite/expect/test7.4
index 4461137f7..62cbab166 100755
--- a/testsuite/expect/test7.4
+++ b/testsuite/expect/test7.4
@@ -82,7 +82,7 @@ if {[file executable $totalviewcli] == 0} {
 	exit 0
 }
 if {[test_front_end] != 0} {
-        send_user "\nWARNING: This test is incompatable with front-end systems\n"
+        send_user "\nWARNING: This test is incompatible with front-end systems\n"
         exit 0
 }
 
diff --git a/testsuite/expect/test7.6 b/testsuite/expect/test7.6
index 855e4fa5c..80ba25097 100755
--- a/testsuite/expect/test7.6
+++ b/testsuite/expect/test7.6
@@ -75,7 +75,7 @@ if {[file executable $totalviewcli] == 0} {
 	exit 0
 }
 if {[test_front_end] != 0} {
-        send_user "\nWARNING: This test is incompatable with front-end systems\n"
+        send_user "\nWARNING: This test is incompatible with front-end systems\n"
         exit 0
 }
 if {[test_aix] == 1} {
-- 
GitLab