From 82e84e2916b0ce2a829219dbd8ffa669d38943df Mon Sep 17 00:00:00 2001
From: Danny Auble <da@llnl.gov>
Date: Wed, 30 Jun 2010 20:09:53 +0000
Subject: [PATCH] fixes for some spots where the flags vars weren't read
 correctly

---
 .../accounting_storage/mysql/as_mysql_cluster.c        |  7 ++++---
 src/sacctmgr/account_functions.c                       |  2 +-
 src/sacctmgr/cluster_functions.c                       |  4 +++-
 src/sacctmgr/common.c                                  |  2 +-
 src/sacctmgr/file_functions.c                          | 10 ++++------
 src/sacctmgr/user_functions.c                          |  2 +-
 6 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/src/plugins/accounting_storage/mysql/as_mysql_cluster.c b/src/plugins/accounting_storage/mysql/as_mysql_cluster.c
index fbeb1d8db53..ae9c24923a0 100644
--- a/src/plugins/accounting_storage/mysql/as_mysql_cluster.c
+++ b/src/plugins/accounting_storage/mysql/as_mysql_cluster.c
@@ -108,7 +108,7 @@ static int _setup_cluster_cond_limits(slurmdb_cluster_cond_t *cluster_cond,
 			   cluster_cond->classification);
 	}
 
-	if(cluster_cond->flags) {
+	if(cluster_cond->flags != NO_VAL) {
 		xstrfmtcat(*extra, " && (flags & %u)",
 			   cluster_cond->flags);
 	}
@@ -158,7 +158,8 @@ extern int as_mysql_add_clusters(mysql_conn_t *mysql_conn, uint32_t uid,
 			   "name, classification) "
 			   "values (%d, %d, '%s', %u) "
 			   "on duplicate key update deleted=0, mod_time=%d, "
-			   "control_host='', control_port=0, classification=%u",
+			   "control_host='', control_port=0, "
+			   "classification=%u, flags=0",
 			   cluster_table,
 			   now, now, object->name, object->classification,
 			   now, object->classification);
@@ -1114,7 +1115,7 @@ extern int as_mysql_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, "
-		"dimensions=%d, flags=%d, plugin_id_select=%d where name='%s';",
+		"dimensions=%d, flags=%u, plugin_id_select=%d where name='%s';",
 		cluster_table, now, address, port, SLURMDBD_VERSION,
 		SYSTEM_DIMENSIONS, flags, select_get_plugin_id(), cluster);
 	xstrfmtcat(query,
diff --git a/src/sacctmgr/account_functions.c b/src/sacctmgr/account_functions.c
index a2bdbb0a639..515febcb686 100644
--- a/src/sacctmgr/account_functions.c
+++ b/src/sacctmgr/account_functions.c
@@ -673,7 +673,7 @@ extern int sacctmgr_add_account(int argc, char *argv[])
 		List temp_list = NULL;
 		slurmdb_cluster_cond_t cluster_cond;
 
-		memset(&cluster_cond, 0, sizeof(slurmdb_cluster_cond_t));
+		slurmdb_init_cluster_cond(&cluster_cond);
 		cluster_cond.cluster_list = cluster_list;
 
 		temp_list = acct_storage_g_get_clusters(db_conn, my_uid,
diff --git a/src/sacctmgr/cluster_functions.c b/src/sacctmgr/cluster_functions.c
index bf552d5cee9..b8eb9092428 100644
--- a/src/sacctmgr/cluster_functions.c
+++ b/src/sacctmgr/cluster_functions.c
@@ -382,6 +382,7 @@ extern int sacctmgr_add_cluster(int argc, char *argv[])
 			continue;
 		}
 		cluster = xmalloc(sizeof(slurmdb_cluster_rec_t));
+		slurmdb_init_cluster_rec(cluster);
 
 		list_append(cluster_list, cluster);
 		cluster->flags = NO_VAL;
@@ -506,7 +507,7 @@ extern int sacctmgr_list_cluster(int argc, char *argv[])
 		PRINT_SELECT,
 	};
 
-
+	slurmdb_init_cluster_cond(cluster_cond);
 	cluster_cond->cluster_list = list_create(slurm_destroy_char);
 	for (i=0; i<argc; i++) {
 		int command_len = strlen(argv[i]);
@@ -1080,6 +1081,7 @@ extern int sacctmgr_delete_cluster(int argc, char *argv[])
 	List ret_list = NULL;
 	int cond_set = 0, prev_set;
 
+	slurmdb_init_cluster_cond(cluster_cond);
 	cluster_cond->cluster_list = list_create(slurm_destroy_char);
 
 	for (i=0; i<argc; i++) {
diff --git a/src/sacctmgr/common.c b/src/sacctmgr/common.c
index ad07eb12bf4..65947454cb4 100644
--- a/src/sacctmgr/common.c
+++ b/src/sacctmgr/common.c
@@ -366,7 +366,7 @@ extern slurmdb_cluster_rec_t *sacctmgr_find_cluster(char *name)
 	if(!name)
 		return NULL;
 
-	memset(&cluster_cond, 0, sizeof(slurmdb_cluster_cond_t));
+	slurmdb_init_cluster_cond(&cluster_cond);
 	cluster_cond.cluster_list = list_create(NULL);
 	list_append(cluster_cond.cluster_list, name);
 
diff --git a/src/sacctmgr/file_functions.c b/src/sacctmgr/file_functions.c
index 9184d35029f..6d5061eae36 100644
--- a/src/sacctmgr/file_functions.c
+++ b/src/sacctmgr/file_functions.c
@@ -1192,10 +1192,8 @@ static int _mod_cluster(sacctmgr_file_opts_t *file_opts,
 	slurmdb_cluster_rec_t mod_cluster;
 	slurmdb_cluster_cond_t cluster_cond;
 
-	memset(&mod_cluster, 0, sizeof(slurmdb_cluster_rec_t));
-	memset(&cluster_cond, 0, sizeof(slurmdb_cluster_cond_t));
-
-	mod_cluster.flags = NO_VAL;
+	slurmdb_init_cluster_rec(&mod_cluster);
+	slurmdb_init_cluster_cond(&cluster_cond);
 
 	if(file_opts->classification
 	   && (file_opts->classification != cluster->classification)) {
@@ -2219,8 +2217,7 @@ extern void load_sacctmgr_cfg_file (int argc, char *argv[])
 					break;
 				}
 
-				memset(&cluster_cond, 0,
-				       sizeof(slurmdb_cluster_cond_t));
+				slurmdb_init_cluster_cond(&cluster_cond);
 				cluster_cond.cluster_list = list_create(NULL);
 				list_append(cluster_cond.cluster_list,
 					    cluster_name);
@@ -2256,6 +2253,7 @@ extern void load_sacctmgr_cfg_file (int argc, char *argv[])
 
 				cluster = xmalloc(
 					sizeof(slurmdb_cluster_rec_t));
+				slurmdb_init_cluster_rec(cluster);
 				list_append(cluster_list, cluster);
 				cluster->name = xstrdup(cluster_name);
 				if(file_opts->classification) {
diff --git a/src/sacctmgr/user_functions.c b/src/sacctmgr/user_functions.c
index a066e59101a..6da9af8bb91 100644
--- a/src/sacctmgr/user_functions.c
+++ b/src/sacctmgr/user_functions.c
@@ -956,7 +956,7 @@ extern int sacctmgr_add_user(int argc, char *argv[])
 		List temp_list = NULL;
 		slurmdb_cluster_cond_t cluster_cond;
 
-		memset(&cluster_cond, 0, sizeof(slurmdb_cluster_cond_t));
+		slurmdb_init_cluster_cond(&cluster_cond);
 		cluster_cond.cluster_list = assoc_cond->cluster_list;
 
 		temp_list = acct_storage_g_get_clusters(db_conn, my_uid,
-- 
GitLab