From 7889b176f0b132c071b02f1d43d7e019db8416df Mon Sep 17 00:00:00 2001 From: Danny Auble <da@schedmd.com> Date: Thu, 20 Feb 2014 16:27:07 -0800 Subject: [PATCH] Change structures their definitions and packing --- slurm/slurmdb.h | 187 ++++++--------- src/common/slurmdb_defs.c | 240 +++++++++----------- src/common/slurmdb_defs.h | 17 +- src/common/slurmdb_pack.c | 452 ++++++++++++++++--------------------- src/common/slurmdb_pack.h | 20 +- src/common/slurmdbd_defs.c | 203 +++++------------ src/common/slurmdbd_defs.h | 18 +- 7 files changed, 452 insertions(+), 685 deletions(-) diff --git a/slurm/slurmdb.h b/slurm/slurmdb.h index 1e4c2688a8d..58cbf92ff11 100644 --- a/slurm/slurmdb.h +++ b/slurm/slurmdb.h @@ -135,15 +135,13 @@ typedef enum { SLURMDB_ADD_CLUSTER, SLURMDB_REMOVE_CLUSTER, SLURMDB_REMOVE_ASSOC_USAGE, - SLURMDB_ADD_CLUS_RES, - SLURMDB_REMOVE_CLUS_RES, - SLURMDB_MODIFY_CLUS_RES, - SLURMDB_ADD_SER_RES, - SLURMDB_REMOVE_SER_RES, - SLURMDB_MODIFY_SER_RES, + SLURMDB_ADD_RES, + SLURMDB_REMOVE_RES, + SLURMDB_MODIFY_RES, } slurmdb_update_type_t; /* Define QOS flags */ +#define QOS_FLAG_BASE 0x0fffffff #define QOS_FLAG_NOTSET 0x10000000 #define QOS_FLAG_ADD 0x20000000 #define QOS_FLAG_REMOVE 0x40000000 @@ -157,9 +155,13 @@ typedef enum { #define QOS_FLAG_DENY_LIMIT 0x00000040 /* Define Server Resource flags */ -#define SER_RES_FLAG_NOTSET 0x10000000 -#define SER_RES_FLAG_ADD 0x20000000 -#define SER_RES_FLAG_REMOVE 0x40000000 +#define SLURMDB_RES_FLAG_BASE 0x0fffffff /* apply to get real flags */ +#define SLURMDB_RES_FLAG_NOTSET 0x10000000 +#define SLURMDB_RES_FLAG_ADD 0x20000000 +#define SLURMDB_RES_FLAG_REMOVE 0x40000000 + +/* flags and types of resources */ +/* when we come up with some */ /* Archive / Purge time flags */ #define SLURMDB_PURGE_BASE 0x0000ffff /* Apply to get the number @@ -202,7 +204,7 @@ typedef enum { #ifndef __assoc_mgr_association_usage_t_defined # define __assoc_mgr_association_usage_t_defined /* opaque data type */ - typedef struct assoc_mgr_association_usage assoc_mgr_association_usage_t; +typedef struct assoc_mgr_association_usage assoc_mgr_association_usage_t; #endif /* Define assoc_mgr_qos_usage_t below to avoid including @@ -210,7 +212,7 @@ typedef enum { #ifndef __assoc_mgr_qos_usage_t_defined # define __assoc_mgr_qos_usage_t_defined /* opaque data type */ - typedef struct assoc_mgr_qos_usage assoc_mgr_qos_usage_t; +typedef struct assoc_mgr_qos_usage assoc_mgr_qos_usage_t; #endif /********************************************/ @@ -335,21 +337,6 @@ typedef struct { uint32_t vsize_max_taskid; /* contains which task number it was on */ } slurmdb_stats_t; -/* slurmdb_ser_res_rec_t needs to be defined before - * slurmdb_clus_res_rec_t. - */ -typedef struct { - char *description; - uint32_t id; - char *name; - uint32_t count; /* count of resources managed - * on the server */ - uint32_t flags; /* resource attribute flags */ - uint32_t type; /* type of resource represented by this record */ - char *manager; /* resource manager name */ - char *server; /* resource server name */ -} slurmdb_ser_res_rec_t; - /************** alphabetical order of structures **************/ typedef struct { @@ -493,23 +480,6 @@ typedef struct { char *user; /* user associated to association */ } slurmdb_association_rec_t; -typedef struct { - slurmdb_ser_res_rec_t *res_ptr; /* pointer to server resource */ - char *cluster; /* name of cluster */ - uint32_t percent_allowed; /* percentage of total resources - * allowed for this cluster */ -} slurmdb_clus_res_rec_t; - -typedef struct { - List name_list; /* list of char * */ - List description_list; /* list of char * */ - List format_list; /* list of char * */ - List manager_list; /* list of char * */ - List server_list; /* list of char * */ - List cluster_list; /* list of char * */ - uint16_t with_deleted; -} slurmdb_clus_res_cond_t; - typedef struct { uint16_t classification; /* how this machine is classified */ List cluster_list; /* list of char * */ @@ -541,8 +511,7 @@ typedef struct { uint32_t plugin_id_select; /* id of the select plugin */ slurmdb_association_rec_t *root_assoc; /* root association for * cluster */ - List resource_list; /* list of slurmdb_clus_res_rec_t - * for this cluster */ + List res_list; /* list of slurmdb_res_rec_t's for this cluster */ uint16_t rpc_version; /* version of rpc this cluter is running */ } slurmdb_cluster_rec_t; @@ -558,6 +527,12 @@ typedef struct { uint64_t resv_secs; /* number of cpu seconds reserved */ } slurmdb_cluster_accounting_rec_t; +typedef struct { + char *cluster; /* name of cluster */ + uint16_t percent_allowed; /* percentage of total resources + * allowed for this cluster */ +} slurmdb_clus_res_rec_t; + typedef struct { char *name; uint16_t direct; @@ -674,8 +649,8 @@ typedef struct { uint64_t max_cpu_mins_pj; /* max number of cpu mins a job can * use with this qos */ uint64_t max_cpu_run_mins_pu; /* max number of cpu mins a user can - * allocate at a given time when - * using this qos (Not yet valid option) */ + * allocate at a given time when + * using this qos (Not yet valid option) */ uint32_t max_cpus_pj; /* max number of cpus a job can * allocate with this qos */ uint32_t max_cpus_pu; /* max number of cpus a user can @@ -777,17 +752,35 @@ typedef struct { } slurmdb_step_rec_t; /* slurmdb_stats_t defined above alphabetical */ + typedef struct { - List name_list; /* list of char * */ + List cluster_list; /* list of char * */ List description_list; /* list of char * */ - List format_list; /* list of char * */ + uint32_t flags; List id_list; /* list of char * */ List manager_list; /* list of char * */ + List name_list; /* list of char * */ + List percent_list; /* list of char * */ List server_list; /* list of char * */ + List type_list; /* list of char * */ uint16_t with_deleted; -} slurmdb_ser_res_cond_t; + uint16_t with_clusters; +} slurmdb_res_cond_t; -/* slurmdb_ser_res_rec_t defined above alphabetical */ +typedef struct { + List clus_res_list; /* list of slurmdb_clus_res_rec_t *'s */ + slurmdb_clus_res_rec_t *clus_res_rec; /* if only one cluster + being represented */ + uint32_t count; /* count of resources managed on the server */ + char *description; + uint32_t flags; /* resource attribute flags */ + uint32_t id; + char *manager; /* resource manager name */ + char *name; + uint16_t percent_used; + char *server; /* resource server name */ + uint32_t type; /* resource type */ +} slurmdb_res_rec_t; typedef struct { List acct_list; /* list of char * */ @@ -1116,7 +1109,7 @@ extern List slurmdb_clusters_remove(void *db_conn, * note List needs to be freed with slurm_list_destroy() when called */ extern List slurmdb_report_cluster_account_by_user(void *db_conn, - slurmdb_association_cond_t *assoc_cond); + slurmdb_association_cond_t *assoc_cond); /* report for clusters of users per account * IN: slurmdb_association_cond_t *assoc_cond @@ -1124,7 +1117,7 @@ extern List slurmdb_report_cluster_account_by_user(void *db_conn, * note List needs to be freed with slurm_list_destroy() when called */ extern List slurmdb_report_cluster_user_by_account(void *db_conn, - slurmdb_association_cond_t *assoc_cond); + slurmdb_association_cond_t *assoc_cond); /* report for clusters of wckey per user * IN: slurmdb_wckey_cond_t *wckey_cond @@ -1132,7 +1125,7 @@ extern List slurmdb_report_cluster_user_by_account(void *db_conn, * note List needs to be freed with slurm_list_destroy() when called */ extern List slurmdb_report_cluster_wckey_by_user(void *db_conn, - slurmdb_wckey_cond_t *wckey_cond); + slurmdb_wckey_cond_t *wckey_cond); /* report for clusters of users per wckey * IN: slurmdb_wckey_cond_t *wckey_cond @@ -1140,14 +1133,14 @@ extern List slurmdb_report_cluster_wckey_by_user(void *db_conn, * note List needs to be freed with slurm_list_destroy() when called */ extern List slurmdb_report_cluster_user_by_wckey(void *db_conn, - slurmdb_wckey_cond_t *wckey_cond); + slurmdb_wckey_cond_t *wckey_cond); extern List slurmdb_report_job_sizes_grouped_by_top_account(void *db_conn, - slurmdb_job_cond_t *job_cond, List grouping_list, bool flat_view); + slurmdb_job_cond_t *job_cond, List grouping_list, bool flat_view); extern List slurmdb_report_job_sizes_grouped_by_wckey(void *db_conn, - slurmdb_job_cond_t *job_cond, List grouping_list); + slurmdb_job_cond_t *job_cond, List grouping_list); extern List slurmdb_report_job_sizes_grouped_by_top_account_then_wckey( void *db_conn, slurmdb_job_cond_t *job_cond, @@ -1260,21 +1253,19 @@ extern List slurmdb_txn_get(void *db_conn, slurmdb_txn_cond_t *txn_cond); extern void slurmdb_init_association_rec(slurmdb_association_rec_t *assoc, bool free_it); extern void slurmdb_init_clus_res_rec(slurmdb_clus_res_rec_t *clus_res, - bool free_it); + bool free_it); extern void slurmdb_init_cluster_rec(slurmdb_cluster_rec_t *cluster, bool free_it); extern void slurmdb_init_qos_rec(slurmdb_qos_rec_t *qos, bool free_it); -extern void slurmdb_init_ser_res_rec(slurmdb_ser_res_rec_t *ser_res, +extern void slurmdb_init_res_rec(slurmdb_res_rec_t *res, bool free_it); extern void slurmdb_init_wckey_rec(slurmdb_wckey_rec_t *wckey, bool free_it); -extern void slurmdb_init_clus_res_cond(slurmdb_clus_res_cond_t *cluster, - bool free_it); extern void slurmdb_init_cluster_cond(slurmdb_cluster_cond_t *cluster, bool free_it); -extern void slurmdb_init_ser_res_cond(slurmdb_ser_res_cond_t *cluster, - bool free_it); +extern void slurmdb_init_res_cond(slurmdb_res_cond_t *cluster, + bool free_it); /* The next two functions have pointers to assoc_list so do not * destroy assoc_list before using the list returned from this function. */ @@ -1289,78 +1280,38 @@ extern char *slurmdb_tree_name_get(char *name, char *parent, List tree_list); /************** resource functions **************/ /* - * add clus_res's to accounting system - * IN: clus_res_list List of char * - * RET: SLURM_SUCCESS on success SLURM_ERROR else - */ -extern int slurmdb_clus_res_add(void *db_conn, uint32_t uid, - List clus_res_list); - -/* - * get info from the storage - * IN: slurmdb_clus_res_cond_t * - * RET: List of slurmdb_clus_res_rec_t * - * note List needs to be freed with slurm_list_destroy() when called - */ -extern List slurmdb_clus_res_get(void *db_conn, - slurmdb_clus_res_cond_t *clus_res_cond); - -/* - * modify existing clus_res in the accounting system - * IN: slurmdb_clus_res_cond_t *clus_res_cond - * IN: slurmdb_clus_res_rec_t *clus_res - * RET: List containing (char *'s) else NULL on error - * note List needs to be freed with slurm_list_destroy() when called - */ -extern List slurmdb_clus_res_modify(void *db_conn, - slurmdb_clus_res_cond_t *clus_res_cond, - slurmdb_clus_res_rec_t *clus_res); - -/* - * remove clus_res from accounting system - * IN: slurmdb_clus_res_cond_t *clus_res - * RET: List containing (char *'s) else NULL on error - * note List needs to be freed with slurm_list_destroy() when called - */ -extern List slurmdb_clus_res_remove(void *db_conn, - slurmdb_clus_res_cond_t *clus_res_cond); - - /* - * add ser_res's to accounting system - * IN: ser_res_list List of char * + * add resource's to accounting system + * IN: res_list List of char * * RET: SLURM_SUCCESS on success SLURM_ERROR else */ -extern int slurmdb_ser_res_add(void *db_conn, uint32_t uid, - List ser_res_list); +extern int slurmdb_res_add(void *db_conn, uint32_t uid, List res_list); /* * get info from the storage - * IN: slurmdb_ser_res_cond_t * - * RET: List of slurmdb_ser_res_rec_t * + * IN: slurmdb_res_cond_t * + * RET: List of slurmdb_res_rec_t * * note List needs to be freed with slurm_list_destroy() when called */ -extern List slurmdb_ser_res_get(void *db_conn, - slurmdb_ser_res_cond_t *ser_res_cond); +extern List slurmdb_res_get(void *db_conn, slurmdb_res_cond_t *res_cond); /* - * modify existing ser_res in the accounting system - * IN: slurmdb_ser_res_cond_t *ser_res_cond - * IN: slurmdb_ser_res_rec_t *ser_res + * modify existing resource in the accounting system + * IN: slurmdb_res_cond_t *res_cond + * IN: slurmdb_res_rec_t *res * RET: List containing (char *'s) else NULL on error * note List needs to be freed with slurm_list_destroy() when called */ -extern List slurmdb_ser_res_modify(void *db_conn, - slurmdb_ser_res_cond_t *ser_res_cond, - slurmdb_ser_res_rec_t *ser_res); +extern List slurmdb_res_modify(void *db_conn, + slurmdb_res_cond_t *res_cond, + slurmdb_res_rec_t *res); /* - * remove ser_res from accounting system - * IN: slurmdb_ser_res_cond_t *ser_res + * remove resource from accounting system + * IN: slurmdb_res_cond_t *res * RET: List containing (char *'s) else NULL on error * note List needs to be freed with slurm_list_destroy() when called */ -extern List slurmdb_ser_res_remove(void *db_conn, - slurmdb_ser_res_cond_t *ser_res_cond); +extern List slurmdb_res_remove(void *db_conn, slurmdb_res_cond_t *res_cond); /************** qos functions **************/ diff --git a/src/common/slurmdb_defs.c b/src/common/slurmdb_defs.c index 3d3540578b9..d094b91588c 100644 --- a/src/common/slurmdb_defs.c +++ b/src/common/slurmdb_defs.c @@ -51,6 +51,9 @@ slurmdb_cluster_rec_t *working_cluster_rec = NULL; +static void _free_res_cond_members(slurmdb_res_cond_t *res_cond); +static void _free_res_rec_members(slurmdb_res_rec_t *res); + static void _free_assoc_rec_members(slurmdb_association_rec_t *assoc) { if (assoc) { @@ -71,8 +74,7 @@ static void _free_assoc_rec_members(slurmdb_association_rec_t *assoc) static void _free_clus_res_rec_members(slurmdb_clus_res_rec_t *clus_res) { if (clus_res) { - if (clus_res->res_ptr) - slurmdb_destroy_ser_res_rec(clus_res->res_ptr); + xfree(clus_res->cluster); } } @@ -101,7 +103,6 @@ static void _free_qos_rec_members(slurmdb_qos_rec_t *qos) } } - static void _free_wckey_rec_members(slurmdb_wckey_rec_t *wckey) { if (wckey) { @@ -113,24 +114,6 @@ static void _free_wckey_rec_members(slurmdb_wckey_rec_t *wckey) } } -static void _free_clus_res_cond_members(slurmdb_clus_res_cond_t *clus_res_cond) -{ - if (clus_res_cond) { - if (clus_res_cond->name_list) - list_destroy(clus_res_cond->name_list); - if (clus_res_cond->description_list) - list_destroy(clus_res_cond->description_list); - if (clus_res_cond->format_list) - list_destroy(clus_res_cond->format_list); - if (clus_res_cond->manager_list) - list_destroy(clus_res_cond->manager_list); - if (clus_res_cond->server_list) - list_destroy(clus_res_cond->server_list); - if (clus_res_cond->cluster_list) - list_destroy(clus_res_cond->cluster_list); - } -} - static void _free_cluster_cond_members(slurmdb_cluster_cond_t *cluster_cond) { if (cluster_cond) { @@ -139,24 +122,33 @@ static void _free_cluster_cond_members(slurmdb_cluster_cond_t *cluster_cond) } } -static void _free_ser_res_cond_members(slurmdb_ser_res_cond_t *ser_res_cond) +static void _free_res_cond_members(slurmdb_res_cond_t *res_cond) +{ + if (res_cond) { + FREE_NULL_LIST(res_cond->cluster_list); + FREE_NULL_LIST(res_cond->description_list); + FREE_NULL_LIST(res_cond->id_list); + FREE_NULL_LIST(res_cond->manager_list); + FREE_NULL_LIST(res_cond->name_list); + FREE_NULL_LIST(res_cond->percent_list); + FREE_NULL_LIST(res_cond->server_list); + FREE_NULL_LIST(res_cond->type_list); + } +} + +static void _free_res_rec_members(slurmdb_res_rec_t *res) { - if (ser_res_cond) { - if (ser_res_cond->name_list) - list_destroy(ser_res_cond->name_list); - if (ser_res_cond->description_list) - list_destroy(ser_res_cond->description_list); - if (ser_res_cond->format_list) - list_destroy(ser_res_cond->format_list); - if (ser_res_cond->id_list) - list_destroy(ser_res_cond->id_list); - if (ser_res_cond->manager_list) - list_destroy(ser_res_cond->manager_list); - if (ser_res_cond->server_list) - list_destroy(ser_res_cond->server_list); + if (res) { + FREE_NULL_LIST(res->clus_res_list); + slurmdb_destroy_clus_res_rec(res->clus_res_rec); + xfree(res->description); + xfree(res->manager); + xfree(res->name); + xfree(res->server); } } + /* * Comparator used for sorting immediate children of acct_hierarchical_recs * @@ -307,7 +299,7 @@ static int _setup_cluster_rec(slurmdb_cluster_rec_t *cluster_rec) } if ((plugin_id_select = select_get_plugin_id_pos( - cluster_rec->plugin_id_select)) == SLURM_ERROR) { + cluster_rec->plugin_id_select)) == SLURM_ERROR) { error("Cluster '%s' has an unknown select plugin_id %u", cluster_rec->name, cluster_rec->plugin_id_select); @@ -382,7 +374,7 @@ static uint32_t _str_2_qos_flags(char *flags) return 0; } -static uint32_t _str_2_ser_res_flags(char *flags) +static uint32_t _str_2_res_flags(char *flags) { return 0; } @@ -482,7 +474,6 @@ extern void slurmdb_destroy_clus_res_rec(void *object) if (slurmdb_clus_res) { _free_clus_res_rec_members(slurmdb_clus_res); - xfree(slurmdb_clus_res->cluster); xfree(slurmdb_clus_res); } } @@ -589,17 +580,14 @@ extern void slurmdb_destroy_step_rec(void *object) } } -extern void slurmdb_destroy_ser_res_rec(void *object) +extern void slurmdb_destroy_res_rec(void *object) { - slurmdb_ser_res_rec_t *slurmdb_ser_res = - (slurmdb_ser_res_rec_t *)object; + slurmdb_res_rec_t *slurmdb_res = + (slurmdb_res_rec_t *)object; - if (slurmdb_ser_res) { - xfree(slurmdb_ser_res->name); - xfree(slurmdb_ser_res->description); - xfree(slurmdb_ser_res->manager); - xfree(slurmdb_ser_res->server); - xfree(slurmdb_ser_res); + if (slurmdb_res) { + _free_res_rec_members(slurmdb_res); + xfree(slurmdb_res); } } @@ -709,16 +697,6 @@ extern void slurmdb_destroy_account_cond(void *object) } } -extern void slurmdb_destroy_clus_res_cond(void *object) -{ - slurmdb_clus_res_cond_t *slurmdb_clus_res = - (slurmdb_clus_res_cond_t *)object; - if (slurmdb_clus_res) { - _free_clus_res_cond_members(slurmdb_clus_res); - xfree(slurmdb_clus_res); - } -} - extern void slurmdb_destroy_cluster_cond(void *object) { slurmdb_cluster_cond_t *slurmdb_cluster = @@ -877,13 +855,13 @@ extern void slurmdb_destroy_qos_cond(void *object) } } -extern void slurmdb_destroy_ser_res_cond(void *object) +extern void slurmdb_destroy_res_cond(void *object) { - slurmdb_ser_res_cond_t *slurmdb_ser_res = - (slurmdb_ser_res_cond_t *)object; - if (slurmdb_ser_res) { - _free_ser_res_cond_members(slurmdb_ser_res); - xfree(slurmdb_ser_res); + slurmdb_res_cond_t *slurmdb_res = + (slurmdb_res_cond_t *)object; + if (slurmdb_res) { + _free_res_cond_members(slurmdb_res); + xfree(slurmdb_res); } } @@ -1170,7 +1148,7 @@ extern void slurmdb_init_association_rec(slurmdb_association_rec_t *assoc, } extern void slurmdb_init_clus_res_rec(slurmdb_clus_res_rec_t *clus_res, - bool free_it) + bool free_it) { if (!clus_res) return; @@ -1178,9 +1156,7 @@ extern void slurmdb_init_clus_res_rec(slurmdb_clus_res_rec_t *clus_res, if (free_it) _free_clus_res_rec_members(clus_res); memset(clus_res, 0, sizeof(slurmdb_clus_res_rec_t)); - clus_res->res_ptr = NULL; - clus_res->cluster = NULL; - clus_res->percent_allowed = NO_VAL; + clus_res->percent_allowed = (uint16_t)NO_VAL; } extern void slurmdb_init_cluster_rec(slurmdb_cluster_rec_t *cluster, @@ -1233,23 +1209,20 @@ extern void slurmdb_init_qos_rec(slurmdb_qos_rec_t *qos, bool free_it) qos->usage_thres = (double)NO_VAL; } -extern void slurmdb_init_ser_res_rec(slurmdb_ser_res_rec_t *ser_res, - bool free_it) +extern void slurmdb_init_res_rec(slurmdb_res_rec_t *res, + bool free_it) { - if (!ser_res) + if (!res) return; if (free_it) - slurmdb_destroy_ser_res_rec(ser_res); - memset(ser_res, 0, sizeof(slurmdb_ser_res_rec_t)); - ser_res->description = NULL; - ser_res->id = NO_VAL; - ser_res->name = NULL; - ser_res->count = NO_VAL; - ser_res->flags = SER_RES_FLAG_NOTSET; - ser_res->type = NO_VAL; - ser_res->manager = NULL; - ser_res->server = NULL; + _free_res_rec_members(res); + memset(res, 0, sizeof(slurmdb_res_rec_t)); + res->count = NO_VAL; + res->flags = SLURMDB_RES_FLAG_NOTSET; + res->id = NO_VAL; + res->percent_used = (uint16_t)NO_VAL; + res->type = SLURMDB_RESOURCE_NOTSET; } extern void slurmdb_init_wckey_rec(slurmdb_wckey_rec_t *wckey, bool free_it) @@ -1263,18 +1236,6 @@ extern void slurmdb_init_wckey_rec(slurmdb_wckey_rec_t *wckey, bool free_it) wckey->is_def = (uint16_t)NO_VAL; } -extern void slurmdb_init_clus_res_cond(slurmdb_clus_res_cond_t *clus_res, - bool free_it) -{ - if (!clus_res) - return; - - if (free_it) - _free_clus_res_cond_members(clus_res); - memset(clus_res, 0, sizeof(slurmdb_clus_res_cond_t)); - clus_res->with_deleted = 0; -} - extern void slurmdb_init_cluster_cond(slurmdb_cluster_cond_t *cluster, bool free_it) { @@ -1287,15 +1248,16 @@ extern void slurmdb_init_cluster_cond(slurmdb_cluster_cond_t *cluster, cluster->flags = NO_VAL; } -extern void slurmdb_init_ser_res_cond(slurmdb_ser_res_cond_t *ser_res, - bool free_it) +extern void slurmdb_init_res_cond(slurmdb_res_cond_t *res, + bool free_it) { - if (!ser_res) + if (!res) return; if (free_it) - _free_ser_res_cond_members(ser_res); - memset(ser_res, 0, sizeof(slurmdb_ser_res_cond_t)); + _free_res_cond_members(res); + memset(res, 0, sizeof(slurmdb_res_cond_t)); + res->flags = SLURMDB_RES_FLAG_NOTSET; } extern char *slurmdb_qos_str(List qos_list, uint32_t level) @@ -1397,7 +1359,7 @@ extern uint32_t str_2_qos_flags(char *flags, int option) /* clear them all */ qos_flags = INFINITE; qos_flags &= (~QOS_FLAG_NOTSET & - ~QOS_FLAG_ADD); + ~QOS_FLAG_ADD); return qos_flags; } @@ -1420,57 +1382,73 @@ extern uint32_t str_2_qos_flags(char *flags, int option) return qos_flags; } -extern char *slurmdb_ser_res_flags_str(uint32_t flags) +extern char *slurmdb_res_flags_str(uint32_t flags) { - char *ser_res_flags = NULL; + char *res_flags = NULL; - if (flags & SER_RES_FLAG_NOTSET) + if (flags & SLURMDB_RES_FLAG_NOTSET) return xstrdup("NotSet"); - if (flags & SER_RES_FLAG_ADD) - xstrcat(ser_res_flags, "Add,"); - if (flags & SER_RES_FLAG_REMOVE) - xstrcat(ser_res_flags, "Remove,"); + if (flags & SLURMDB_RES_FLAG_ADD) + xstrcat(res_flags, "Add,"); + if (flags & SLURMDB_RES_FLAG_REMOVE) + xstrcat(res_flags, "Remove,"); - if (ser_res_flags) - ser_res_flags[strlen(ser_res_flags)-1] = '\0'; + if (res_flags) + res_flags[strlen(res_flags)-1] = '\0'; - return ser_res_flags; + return res_flags; } -extern uint32_t str_2_ser_res_flags(char *flags, int option) +extern uint32_t str_2_res_flags(char *flags, int option) { - uint32_t ser_res_flags = 0; + uint32_t res_flags = 0; char *token, *my_flags, *last = NULL; if (!flags) { error("We need a server resource flags string to translate"); - return SER_RES_FLAG_NOTSET; + return SLURMDB_RES_FLAG_NOTSET; } else if (atoi(flags) == -1) { /* clear them all */ - ser_res_flags = INFINITE; - ser_res_flags &= (~SER_RES_FLAG_NOTSET & - ~SER_RES_FLAG_ADD); - return ser_res_flags; + res_flags = INFINITE; + res_flags &= (SLURMDB_RES_FLAG_NOTSET & + ~SLURMDB_RES_FLAG_ADD); + return res_flags; } my_flags = xstrdup(flags); token = strtok_r(my_flags, ",", &last); while (token) { - ser_res_flags |= _str_2_ser_res_flags(token); + res_flags |= _str_2_res_flags(token); token = strtok_r(NULL, ",", &last); } xfree(my_flags); - if (!ser_res_flags) - ser_res_flags = SER_RES_FLAG_NOTSET; + if (!res_flags) + res_flags = SLURMDB_RES_FLAG_NOTSET; else if (option == '+') - ser_res_flags |= SER_RES_FLAG_ADD; + res_flags |= SLURMDB_RES_FLAG_ADD; else if (option == '-') - ser_res_flags |= SER_RES_FLAG_REMOVE; + res_flags |= SLURMDB_RES_FLAG_REMOVE; + + return res_flags; +} - return ser_res_flags; +extern char *slurmdb_res_type_str(slurmdb_resource_type_t type) +{ + switch (type) { + case SLURMDB_RESOURCE_NOTSET: + return "Not Set"; + break; + case SLURMDB_RESOURCE_LICENSE: + return "License"; + break; + default: + return "Unknown"; + break; + } + return "Unknown"; } extern char *slurmdb_admin_level_str(slurmdb_admin_level_t level) @@ -1504,7 +1482,7 @@ extern slurmdb_admin_level_t str_2_slurmdb_admin_level(char *level) } else if (!strncasecmp(level, "Operator", 1)) { return SLURMDB_ADMIN_OPERATOR; } else if (!strncasecmp(level, "SuperUser", 1) - || !strncasecmp(level, "Admin", 1)) { + || !strncasecmp(level, "Admin", 1)) { return SLURMDB_ADMIN_SUPER_USER; } else { return SLURMDB_ADMIN_NOTSET; @@ -1589,19 +1567,19 @@ extern List slurmdb_get_acct_hierarchical_rec_list(List assoc_list) arch_rec->sort_name = assoc->acct; if (last_parent && assoc->parent_id == last_parent->assoc->id - && !strcmp(assoc->cluster, last_parent->assoc->cluster)) { + && !strcmp(assoc->cluster, last_parent->assoc->cluster)) { par_arch_rec = last_parent; } else if (last_acct_parent - && (assoc->parent_id == last_acct_parent->assoc->id) - && !strcmp(assoc->cluster, - last_acct_parent->assoc->cluster)) { + && (assoc->parent_id == last_acct_parent->assoc->id) + && !strcmp(assoc->cluster, + last_acct_parent->assoc->cluster)) { par_arch_rec = last_acct_parent; } else { list_iterator_reset(itr2); while((par_arch_rec = list_next(itr2))) { if (assoc->parent_id == par_arch_rec->assoc->id - && !strcmp(assoc->cluster, - par_arch_rec->assoc->cluster)) { + && !strcmp(assoc->cluster, + par_arch_rec->assoc->cluster)) { if (assoc->user) last_parent = par_arch_rec; else @@ -1725,7 +1703,7 @@ extern char *get_qos_complete_str_bitstr(List qos_list, bitstr_t *valid_qos) int i = 0; if (!qos_list || !list_count(qos_list) - || !valid_qos || (bit_ffs(valid_qos) == -1)) + || !valid_qos || (bit_ffs(valid_qos) == -1)) return xstrdup(""); temp_list = list_create(NULL); @@ -1762,7 +1740,7 @@ extern char *get_qos_complete_str(List qos_list, List num_qos_list) int option = 0; if (!qos_list || !list_count(qos_list) - || !num_qos_list || !list_count(num_qos_list)) + || !num_qos_list || !list_count(num_qos_list)) return xstrdup(""); temp_list = list_create(slurm_destroy_char); @@ -2242,7 +2220,7 @@ extern int slurmdb_addto_qos_char_list(List char_list, List qos_list, if ((i-start) > 0) { int tmp_option = option; if (names[start] == '+' - || names[start] == '-') { + || names[start] == '-') { tmp_option = names[start]; start++; } diff --git a/src/common/slurmdb_defs.h b/src/common/slurmdb_defs.h index 1fe2c9f685f..565b5ea5c8f 100644 --- a/src/common/slurmdb_defs.h +++ b/src/common/slurmdb_defs.h @@ -69,7 +69,7 @@ extern void slurmdb_destroy_job_rec(void *object); extern void slurmdb_destroy_qos_rec(void *object); extern void slurmdb_destroy_reservation_rec(void *object); extern void slurmdb_destroy_step_rec(void *object); -extern void slurmdb_destroy_ser_res_rec(void *object); +extern void slurmdb_destroy_res_rec(void *object); extern void slurmdb_destroy_txn_rec(void *object); extern void slurmdb_destroy_wckey_rec(void *object); extern void slurmdb_destroy_archive_rec(void *object); @@ -79,7 +79,6 @@ extern void slurmdb_destroy_report_cluster_rec(void *object); extern void slurmdb_destroy_user_cond(void *object); extern void slurmdb_destroy_account_cond(void *object); -extern void slurmdb_destroy_clus_res_cond(void *object); extern void slurmdb_destroy_cluster_cond(void *object); extern void slurmdb_destroy_association_cond(void *object); extern void slurmdb_destroy_event_cond(void *object); @@ -87,7 +86,7 @@ extern void slurmdb_destroy_job_cond(void *object); extern void slurmdb_destroy_job_modify_cond(void *object); extern void slurmdb_destroy_qos_cond(void *object); extern void slurmdb_destroy_reservation_cond(void *object); -extern void slurmdb_destroy_ser_res_cond(void *object); +extern void slurmdb_destroy_res_cond(void *object); extern void slurmdb_destroy_txn_cond(void *object); extern void slurmdb_destroy_wckey_cond(void *object); extern void slurmdb_destroy_archive_cond(void *object); @@ -111,7 +110,7 @@ extern void slurmdb_init_cluster_rec(slurmdb_cluster_rec_t *cluster, bool free_it); extern void slurmdb_init_qos_rec(slurmdb_qos_rec_t *qos, bool free_it); -extern void slurmdb_init_ser_res_rec(slurmdb_ser_res_rec_t *ser_res, +extern void slurmdb_init_res_rec(slurmdb_res_rec_t *res, bool free_it); extern void slurmdb_init_wckey_rec(slurmdb_wckey_rec_t *wckey, bool free_it); @@ -124,8 +123,10 @@ extern char *slurmdb_qos_str(List qos_list, uint32_t level); extern uint32_t str_2_slurmdb_qos(List qos_list, char *level); extern char *slurmdb_qos_flags_str(uint32_t flags); extern uint32_t str_2_qos_flags(char *flags, int option); -extern char *slurmdb_ser_res_flags_str(uint32_t flags); -extern uint32_t str_2_ser_res_flags(char *flags, int option); +extern char *slurmdb_res_flags_str(uint32_t flags); +extern uint32_t str_2_res_flags(char *flags, int option); +extern char *slurmdb_res_type_str(slurmdb_resource_type_t type); + extern char *slurmdb_admin_level_str(slurmdb_admin_level_t level); extern slurmdb_admin_level_t str_2_slurmdb_admin_level(char *level); @@ -160,12 +161,8 @@ extern int slurmdb_report_set_start_end_time(time_t *start, time_t *end); extern uint32_t slurmdb_parse_purge(char *string); extern char *slurmdb_purge_string(uint32_t purge, char *string, int len, bool with_archive); -extern int slurmdb_addto_clus_res_char_list(List char_list, List clus_res_list, - char *names, int option); extern int slurmdb_addto_qos_char_list(List char_list, List qos_list, char *names, int option); -extern int slurmdb_addto_ser_res_char_list(List char_list, List ser_res_list, - char *names, int option); extern int slurmdb_send_accounting_update(List update_list, char *cluster, char *host, uint16_t port, uint16_t rpc_version); diff --git a/src/common/slurmdb_pack.c b/src/common/slurmdb_pack.c index 045bf918e85..ffa9fcaf296 100644 --- a/src/common/slurmdb_pack.c +++ b/src/common/slurmdb_pack.c @@ -820,14 +820,12 @@ extern void slurmdb_pack_clus_res_rec(void *in, uint16_t rpc_version, slurmdb_clus_res_rec_t *object = (slurmdb_clus_res_rec_t *)in; if (!object) { - slurmdb_pack_ser_res_rec(NULL, rpc_version, buffer); packnull(buffer); pack32(NO_VAL, buffer); return; } - slurmdb_pack_ser_res_rec(object->res_ptr, rpc_version, buffer); packstr(object->cluster, buffer); - pack32(object->percent_allowed, buffer); + pack16(object->percent_allowed, buffer); } extern int slurmdb_unpack_clus_res_rec(void **object, uint16_t rpc_version, @@ -840,12 +838,8 @@ extern int slurmdb_unpack_clus_res_rec(void **object, uint16_t rpc_version, *object = object_ptr; slurmdb_init_clus_res_rec(object_ptr, 0); - if (slurmdb_unpack_ser_res_rec( - &object_ptr->res_ptr, rpc_version, buffer) - == SLURM_ERROR) - goto unpack_error; safe_unpackstr_xmalloc(&object_ptr->cluster, &uint32_tmp, buffer); - safe_unpack32(&object_ptr->percent_allowed, buffer); + safe_unpack16(&object_ptr->percent_allowed, buffer); return SLURM_SUCCESS; @@ -2321,55 +2315,108 @@ unpack_error: } -extern void slurmdb_pack_ser_res_rec(void *in, uint16_t rpc_version, - Buf buffer) +extern void slurmdb_pack_res_rec(void *in, uint16_t rpc_version, Buf buffer) { - slurmdb_ser_res_rec_t *object = (slurmdb_ser_res_rec_t *)in; + slurmdb_res_rec_t *object = (slurmdb_res_rec_t *)in; + uint32_t count = NO_VAL; + slurmdb_clus_res_rec_t *clus_res; + ListIterator itr; if (!object) { - packnull(buffer); - pack32(NO_VAL, buffer); - packnull(buffer); - pack32(NO_VAL, buffer); - pack32(SER_RES_FLAG_NOTSET, buffer); - pack32(NO_VAL, buffer); - packnull(buffer); - packnull(buffer); + pack32(NO_VAL, buffer); // clus_res_list + pack32(NO_VAL, buffer); // clus_res_rec + pack32(NO_VAL, buffer); // count + packnull(buffer); // description + pack32(SLURMDB_RES_FLAG_NOTSET, buffer); // flags + pack32(NO_VAL, buffer); // id + packnull(buffer); // manager + packnull(buffer); // name + pack16(0, buffer); // percent_used + packnull(buffer); // server + pack32(SLURMDB_RESOURCE_NOTSET, buffer); // type + return; } - packstr(object->description, buffer); - pack32(object->id, buffer); - packstr(object->name, buffer); + if (object->clus_res_list) + count = list_count(object->clus_res_list); + + pack32(count, buffer); + + if (count && count != NO_VAL) { + itr = list_iterator_create(object->clus_res_list); + while((clus_res = list_next(itr))) + slurmdb_pack_clus_res_rec( + clus_res, rpc_version, buffer); + list_iterator_destroy(itr); + } + count = NO_VAL; + if (object->clus_res_rec) { + pack32(0, buffer); /* anything not NO_VAL */ + slurmdb_pack_clus_res_rec( + object->clus_res_rec, rpc_version, buffer); + } else + pack32(NO_VAL, buffer); + pack32(object->count, buffer); + packstr(object->description, buffer); pack32(object->flags, buffer); - pack32(object->type, buffer); + pack32(object->id, buffer); packstr(object->manager, buffer); + packstr(object->name, buffer); + pack16(object->percent_used, buffer); packstr(object->server, buffer); + pack32(object->type, buffer); } -extern int slurmdb_unpack_ser_res_rec(void **object, uint16_t rpc_version, - Buf buffer) +extern int slurmdb_unpack_res_rec(void **object, uint16_t rpc_version, + Buf buffer) { uint32_t uint32_tmp; - slurmdb_ser_res_rec_t *object_ptr = - xmalloc(sizeof(slurmdb_ser_res_rec_t)); + uint32_t count; + int i; + slurmdb_res_rec_t *object_ptr = + xmalloc(sizeof(slurmdb_res_rec_t)); + slurmdb_clus_res_rec_t *clus_res; *object = object_ptr; - slurmdb_init_ser_res_rec(object_ptr, 0); - safe_unpackstr_xmalloc(&object_ptr->description, &uint32_tmp, buffer); - safe_unpack32(&object_ptr->id, buffer); - safe_unpackstr_xmalloc(&object_ptr->name, &uint32_tmp, buffer); + slurmdb_init_res_rec(object_ptr, 0); + + safe_unpack32(&count, buffer); + if (count != NO_VAL) { + object_ptr->clus_res_list = + list_create(slurmdb_destroy_clus_res_rec); + for (i=0; i<count; i++) { + if (slurmdb_unpack_clus_res_rec( + (void **)&clus_res, rpc_version, buffer) + != SLURM_SUCCESS) + goto unpack_error; + list_append(object_ptr->clus_res_list, clus_res); + } + } + + safe_unpack32(&count, buffer); + if (count != NO_VAL) { + if (slurmdb_unpack_clus_res_rec( + (void **)&object_ptr->clus_res_rec, + rpc_version, buffer) != SLURM_SUCCESS) + goto unpack_error; + } + safe_unpack32(&object_ptr->count, buffer); + safe_unpackstr_xmalloc(&object_ptr->description, &uint32_tmp, buffer); safe_unpack32(&object_ptr->flags, buffer); - safe_unpack32(&object_ptr->type, buffer); + safe_unpack32(&object_ptr->id, buffer); safe_unpackstr_xmalloc(&object_ptr->manager, &uint32_tmp, buffer); + safe_unpackstr_xmalloc(&object_ptr->name, &uint32_tmp, buffer); + safe_unpack16(&object_ptr->percent_used, buffer); safe_unpackstr_xmalloc(&object_ptr->server, &uint32_tmp, buffer); + safe_unpack32(&object_ptr->type, buffer); return SLURM_SUCCESS; unpack_error: - slurmdb_destroy_ser_res_rec(object_ptr); + slurmdb_destroy_res_rec(object_ptr); *object = NULL; return SLURM_ERROR; } @@ -2875,185 +2922,6 @@ unpack_error: return SLURM_ERROR; } -extern void slurmdb_pack_clus_res_cond(void *in, uint16_t rpc_version, - Buf buffer) -{ - char *tmp_info = NULL; - ListIterator itr = NULL; - slurmdb_clus_res_cond_t *object = (slurmdb_clus_res_cond_t *)in; - uint32_t count = NO_VAL; - if (!object) { - pack32(NO_VAL, buffer); - pack32(NO_VAL, buffer); - pack32(NO_VAL, buffer); - pack32(NO_VAL, buffer); - pack32(NO_VAL, buffer); - pack32(NO_VAL, buffer); - pack16(0,buffer); - return; - } - if (object->name_list) - count = list_count(object->name_list); - - pack32(count, buffer); - - if (count && count != NO_VAL) { - itr = list_iterator_create(object->name_list); - while((tmp_info = list_next(itr))) { - packstr(tmp_info, buffer); - } - list_iterator_destroy(itr); - } - count = NO_VAL; - if (object->description_list) - count = list_count(object->description_list); - - pack32(count, buffer); - - if (count && count != NO_VAL) { - itr = list_iterator_create(object->description_list); - while((tmp_info = list_next(itr))) { - packstr(tmp_info, buffer); - } - list_iterator_destroy(itr); - } - count = NO_VAL; - if (object->format_list) - count = list_count(object->format_list); - - pack32(count, buffer); - - if (count && count != NO_VAL) { - itr = list_iterator_create(object->format_list); - while((tmp_info = list_next(itr))) { - packstr(tmp_info, buffer); - } - list_iterator_destroy(itr); - } - count = NO_VAL; - if (object->manager_list) - count = list_count(object->manager_list); - - pack32(count, buffer); - - if (count && count != NO_VAL) { - itr = list_iterator_create(object->manager_list); - while((tmp_info = list_next(itr))) { - packstr(tmp_info, buffer); - } - list_iterator_destroy(itr); - } - count = NO_VAL; - if (object->server_list) - count = list_count(object->server_list); - - pack32(count, buffer); - - if (count && count != NO_VAL) { - itr = list_iterator_create(object->server_list); - while((tmp_info = list_next(itr))) { - packstr(tmp_info, buffer); - } - list_iterator_destroy(itr); - } - count = NO_VAL; - if (object->cluster_list) - count = list_count(object->cluster_list); - - pack32(count, buffer); - - if (count && count != NO_VAL) { - itr = list_iterator_create(object->cluster_list); - while((tmp_info = list_next(itr))) { - packstr(tmp_info, buffer); - } - list_iterator_destroy(itr); - } - count = NO_VAL; - pack16(object->with_deleted, buffer); -} - -extern int slurmdb_unpack_clus_res_cond(void **object, uint16_t rpc_version, - Buf buffer) -{ - uint32_t uint32_tmp; - int i; - uint32_t count; - slurmdb_clus_res_cond_t *object_ptr = - xmalloc(sizeof(slurmdb_clus_res_cond_t)); - char *tmp_info = NULL; - - *object = object_ptr; - - safe_unpack32(&count, buffer); - if (count && count != NO_VAL) { - object_ptr->name_list = - list_create(slurm_destroy_char); - for(i=0; i<count; i++) { - safe_unpackstr_xmalloc(&tmp_info, - &uint32_tmp, buffer); - list_append(object_ptr->name_list, tmp_info); - } - } - safe_unpack32(&count, buffer); - if (count && count != NO_VAL) { - object_ptr->description_list = - list_create(slurm_destroy_char); - for(i=0; i<count; i++) { - safe_unpackstr_xmalloc(&tmp_info, - &uint32_tmp, buffer); - list_append(object_ptr->description_list, tmp_info); - } - } - safe_unpack32(&count, buffer); - if (count && count != NO_VAL) { - object_ptr->format_list = - list_create(slurm_destroy_char); - for(i=0; i<count; i++) { - safe_unpackstr_xmalloc(&tmp_info, - &uint32_tmp, buffer); - list_append(object_ptr->format_list, tmp_info); - } - } - safe_unpack32(&count, buffer); - if (count && count != NO_VAL) { - object_ptr->manager_list = - list_create(slurm_destroy_char); - for(i=0; i<count; i++) { - safe_unpackstr_xmalloc(&tmp_info, - &uint32_tmp, buffer); - list_append(object_ptr->manager_list, tmp_info); - } - } - safe_unpack32(&count, buffer); - if (count && count != NO_VAL) { - object_ptr->server_list = - list_create(slurm_destroy_char); - for(i=0; i<count; i++) { - safe_unpackstr_xmalloc(&tmp_info, - &uint32_tmp, buffer); - list_append(object_ptr->server_list, tmp_info); - } - } - safe_unpack32(&count, buffer); - if (count && count != NO_VAL) { - object_ptr->cluster_list = - list_create(slurm_destroy_char); - for(i=0; i<count; i++) { - safe_unpackstr_xmalloc(&tmp_info, - &uint32_tmp, buffer); - list_append(object_ptr->cluster_list, tmp_info); - } - } - safe_unpack16(&object_ptr->with_deleted, buffer); - return SLURM_SUCCESS; - -unpack_error: - slurmdb_destroy_clus_res_cond(object_ptr); - *object = NULL; - return SLURM_ERROR; -} - extern void slurmdb_pack_cluster_cond(void *in, uint16_t rpc_version, Buf buffer) { @@ -7150,14 +7018,17 @@ unpack_error: return SLURM_ERROR; } -extern void slurmdb_pack_ser_res_cond(void *in, uint16_t rpc_version, - Buf buffer) +extern void slurmdb_pack_res_cond(void *in, uint16_t rpc_version, Buf buffer) { char *tmp_info = NULL; ListIterator itr = NULL; - slurmdb_ser_res_cond_t *object = (slurmdb_ser_res_cond_t *)in; + slurmdb_res_cond_t *object = (slurmdb_res_cond_t *)in; uint32_t count = NO_VAL; + if (!object) { + pack32(NO_VAL, buffer); + pack32(NO_VAL, buffer); + pack32(SLURMDB_RES_FLAG_NOTSET, buffer); pack32(NO_VAL, buffer); pack32(NO_VAL, buffer); pack32(NO_VAL, buffer); @@ -7165,21 +7036,24 @@ extern void slurmdb_pack_ser_res_cond(void *in, uint16_t rpc_version, pack32(NO_VAL, buffer); pack32(NO_VAL, buffer); pack16(0, buffer); + pack16(0, buffer); + return; } - if (object->name_list) - count = list_count(object->name_list); + if (object->cluster_list) + count = list_count(object->cluster_list); pack32(count, buffer); if (count && count != NO_VAL) { - itr = list_iterator_create(object->name_list); + itr = list_iterator_create(object->cluster_list); while((tmp_info = list_next(itr))) { packstr(tmp_info, buffer); } list_iterator_destroy(itr); } count = NO_VAL; + if (object->description_list) count = list_count(object->description_list); @@ -7193,45 +7067,65 @@ extern void slurmdb_pack_ser_res_cond(void *in, uint16_t rpc_version, list_iterator_destroy(itr); } count = NO_VAL; - if (object->format_list) - count = list_count(object->format_list); + + pack32(object->flags, buffer); + + if (object->id_list) + count = list_count(object->id_list); pack32(count, buffer); if (count && count != NO_VAL) { - itr = list_iterator_create(object->format_list); + itr = list_iterator_create(object->id_list); while((tmp_info = list_next(itr))) { packstr(tmp_info, buffer); } list_iterator_destroy(itr); } count = NO_VAL; - if (object->id_list) - count = list_count(object->id_list); + + if (object->manager_list) + count = list_count(object->manager_list); pack32(count, buffer); if (count && count != NO_VAL) { - itr = list_iterator_create(object->id_list); + itr = list_iterator_create(object->manager_list); while((tmp_info = list_next(itr))) { packstr(tmp_info, buffer); } list_iterator_destroy(itr); } count = NO_VAL; - if (object->manager_list) - count = list_count(object->manager_list); + + if (object->name_list) + count = list_count(object->name_list); pack32(count, buffer); if (count && count != NO_VAL) { - itr = list_iterator_create(object->manager_list); + itr = list_iterator_create(object->name_list); + while((tmp_info = list_next(itr))) { + packstr(tmp_info, buffer); + } + list_iterator_destroy(itr); + } + count = NO_VAL; + + if (object->percent_list) + count = list_count(object->percent_list); + + pack32(count, buffer); + + if (count && count != NO_VAL) { + itr = list_iterator_create(object->percent_list); while((tmp_info = list_next(itr))) { packstr(tmp_info, buffer); } list_iterator_destroy(itr); } count = NO_VAL; + if (object->server_list) count = list_count(object->server_list); @@ -7245,32 +7139,50 @@ extern void slurmdb_pack_ser_res_cond(void *in, uint16_t rpc_version, list_iterator_destroy(itr); } count = NO_VAL; + + if (object->type_list) + count = list_count(object->type_list); + + pack32(count, buffer); + + if (count && count != NO_VAL) { + itr = list_iterator_create(object->type_list); + while((tmp_info = list_next(itr))) { + packstr(tmp_info, buffer); + } + list_iterator_destroy(itr); + } + count = NO_VAL; + pack16(object->with_deleted, buffer); + pack16(object->with_clusters, buffer); } -extern int slurmdb_unpack_ser_res_cond(void **object, uint16_t rpc_version, +extern int slurmdb_unpack_res_cond(void **object, uint16_t rpc_version, Buf buffer) { uint32_t uint32_tmp; int i; uint32_t count; - slurmdb_ser_res_cond_t *object_ptr = - xmalloc(sizeof(slurmdb_ser_res_cond_t)); + slurmdb_res_cond_t *object_ptr = + xmalloc(sizeof(slurmdb_res_cond_t)); char *tmp_info = NULL; *object = object_ptr; - slurmdb_init_ser_res_cond(object_ptr, 0); + slurmdb_init_res_cond(object_ptr, 0); + safe_unpack32(&count, buffer); if (count && count != NO_VAL) { - object_ptr->name_list = + object_ptr->cluster_list = list_create(slurm_destroy_char); for(i=0; i<count; i++) { safe_unpackstr_xmalloc(&tmp_info, &uint32_tmp, buffer); - list_append(object_ptr->name_list, tmp_info); + list_append(object_ptr->cluster_list, tmp_info); } } + safe_unpack32(&count, buffer); if (count && count != NO_VAL) { object_ptr->description_list = @@ -7281,36 +7193,53 @@ extern int slurmdb_unpack_ser_res_cond(void **object, uint16_t rpc_version, list_append(object_ptr->description_list, tmp_info); } } + + safe_unpack32(&object_ptr->flags, buffer); + safe_unpack32(&count, buffer); if (count && count != NO_VAL) { - object_ptr->format_list = + object_ptr->id_list = list_create(slurm_destroy_char); for(i=0; i<count; i++) { safe_unpackstr_xmalloc(&tmp_info, &uint32_tmp, buffer); - list_append(object_ptr->format_list, tmp_info); + list_append(object_ptr->id_list, tmp_info); } } + safe_unpack32(&count, buffer); if (count && count != NO_VAL) { - object_ptr->id_list = + object_ptr->manager_list = list_create(slurm_destroy_char); for(i=0; i<count; i++) { safe_unpackstr_xmalloc(&tmp_info, &uint32_tmp, buffer); - list_append(object_ptr->id_list, tmp_info); + list_append(object_ptr->manager_list, tmp_info); } } + safe_unpack32(&count, buffer); if (count && count != NO_VAL) { - object_ptr->manager_list = + object_ptr->name_list = list_create(slurm_destroy_char); for(i=0; i<count; i++) { safe_unpackstr_xmalloc(&tmp_info, &uint32_tmp, buffer); - list_append(object_ptr->manager_list, tmp_info); + list_append(object_ptr->name_list, tmp_info); + } + } + + safe_unpack32(&count, buffer); + if (count && count != NO_VAL) { + object_ptr->percent_list = + list_create(slurm_destroy_char); + for(i=0; i<count; i++) { + safe_unpackstr_xmalloc(&tmp_info, + &uint32_tmp, buffer); + list_append(object_ptr->percent_list, tmp_info); } } + safe_unpack32(&count, buffer); if (count && count != NO_VAL) { object_ptr->server_list = @@ -7321,11 +7250,25 @@ extern int slurmdb_unpack_ser_res_cond(void **object, uint16_t rpc_version, list_append(object_ptr->server_list, tmp_info); } } + + safe_unpack32(&count, buffer); + if (count && count != NO_VAL) { + object_ptr->type_list = + list_create(slurm_destroy_char); + for(i=0; i<count; i++) { + safe_unpackstr_xmalloc(&tmp_info, + &uint32_tmp, buffer); + list_append(object_ptr->type_list, tmp_info); + } + } + safe_unpack16(&object_ptr->with_deleted, buffer); + safe_unpack16(&object_ptr->with_clusters, buffer); + return SLURM_SUCCESS; unpack_error: - slurmdb_destroy_ser_res_cond(object_ptr); + slurmdb_destroy_res_cond(object_ptr); *object = NULL; return SLURM_ERROR; } @@ -8021,19 +7964,14 @@ extern void slurmdb_pack_update_object(slurmdb_update_object_t *object, case SLURMDB_REMOVE_WCKEY: my_function = slurmdb_pack_wckey_rec; break; - case SLURMDB_ADD_CLUS_RES: - case SLURMDB_MODIFY_CLUS_RES: - case SLURMDB_REMOVE_CLUS_RES: - my_function = slurmdb_pack_clus_res_rec; - break; case SLURMDB_ADD_CLUSTER: case SLURMDB_REMOVE_CLUSTER: pack16(object->type, buffer); return; - case SLURMDB_ADD_SER_RES: - case SLURMDB_MODIFY_SER_RES: - case SLURMDB_REMOVE_SER_RES: - my_function = slurmdb_pack_ser_res_rec; + case SLURMDB_ADD_RES: + case SLURMDB_MODIFY_RES: + case SLURMDB_REMOVE_RES: + my_function = slurmdb_pack_res_rec; break; case SLURMDB_UPDATE_NOTSET: default: @@ -8098,21 +8036,15 @@ extern int slurmdb_unpack_update_object(slurmdb_update_object_t **object, my_function = slurmdb_unpack_wckey_rec; my_destroy = slurmdb_destroy_wckey_rec; break; - case SLURMDB_ADD_CLUS_RES: - case SLURMDB_MODIFY_CLUS_RES: - case SLURMDB_REMOVE_CLUS_RES: - my_function = slurmdb_unpack_clus_res_rec; - my_destroy = slurmdb_destroy_clus_res_rec; - break; case SLURMDB_ADD_CLUSTER: case SLURMDB_REMOVE_CLUSTER: /* we don't pack anything on these */ return SLURM_SUCCESS; - case SLURMDB_ADD_SER_RES: - case SLURMDB_MODIFY_SER_RES: - case SLURMDB_REMOVE_SER_RES: - my_function = slurmdb_unpack_ser_res_rec; - my_destroy = slurmdb_destroy_ser_res_rec; + case SLURMDB_ADD_RES: + case SLURMDB_MODIFY_RES: + case SLURMDB_REMOVE_RES: + my_function = slurmdb_unpack_res_rec; + my_destroy = slurmdb_destroy_res_rec; break; case SLURMDB_UPDATE_NOTSET: default: diff --git a/src/common/slurmdb_pack.h b/src/common/slurmdb_pack.h index baa83fbb771..48e3868fca5 100644 --- a/src/common/slurmdb_pack.h +++ b/src/common/slurmdb_pack.h @@ -66,7 +66,7 @@ extern int unpack_cluster_accounting_rec(void **object, uint16_t rpc_version, extern void slurmdb_pack_clus_res_rec(void *in, uint16_t rpc_version, Buf buffer); extern int slurmdb_unpack_clus_res_rec(void **object, uint16_t rpc_version, - Buf buffer); + Buf buffer); extern void slurmdb_pack_cluster_rec(void *in, uint16_t rpc_version, Buf buffer); extern int slurmdb_unpack_cluster_rec(void **object, uint16_t rpc_version, @@ -94,10 +94,9 @@ extern void slurmdb_pack_reservation_rec(void *in, uint16_t rpc_version, Buf buffer); extern int slurmdb_unpack_reservation_rec(void **object, uint16_t rpc_version, Buf buffer); -extern void slurmdb_pack_ser_res_rec(void *in, - uint16_t rpc_version, Buf buffer); -extern int slurmdb_unpack_ser_res_rec(void **object, uint16_t rpc_version, - Buf buffer); +extern void slurmdb_pack_res_rec(void *in, uint16_t rpc_version, Buf buffer); +extern int slurmdb_unpack_res_rec(void **object, uint16_t rpc_version, + Buf buffer); extern void slurmdb_pack_txn_rec(void *in, uint16_t rpc_version, Buf buffer); extern int slurmdb_unpack_txn_rec(void **object, @@ -119,10 +118,6 @@ extern void slurmdb_pack_account_cond(void *in, uint16_t rpc_version, Buf buffer); extern int slurmdb_unpack_account_cond(void **object, uint16_t rpc_version, Buf buffer); -extern void slurmdb_pack_clus_res_cond(void *in, - uint16_t rpc_version, Buf buffer); -extern int slurmdb_unpack_clus_res_cond(void **object, uint16_t rpc_version, - Buf buffer); extern void slurmdb_pack_cluster_cond(void *in, uint16_t rpc_version, Buf buffer); extern int slurmdb_unpack_cluster_cond(void **object, uint16_t rpc_version, @@ -164,10 +159,9 @@ extern void slurmdb_pack_step_rec(slurmdb_step_rec_t *step, uint16_t rpc_version, Buf buffer); extern int slurmdb_unpack_step_rec(slurmdb_step_rec_t **step, uint16_t rpc_version, Buf buffer); -extern void slurmdb_pack_ser_res_cond(void *in, - uint16_t rpc_version, Buf buffer); -extern int slurmdb_unpack_ser_res_cond(void **object, uint16_t rpc_version, - Buf buffer); +extern void slurmdb_pack_res_cond(void *in, uint16_t rpc_version, Buf buffer); +extern int slurmdb_unpack_res_cond(void **object, uint16_t rpc_version, + Buf buffer); extern void slurmdb_pack_txn_cond(void *in, uint16_t rpc_version, Buf buffer); extern int slurmdb_unpack_txn_cond(void **object, uint16_t rpc_version, diff --git a/src/common/slurmdbd_defs.c b/src/common/slurmdbd_defs.c index ea6926a665d..32015b985c2 100644 --- a/src/common/slurmdbd_defs.c +++ b/src/common/slurmdbd_defs.c @@ -508,19 +508,17 @@ extern Buf pack_slurmdbd_msg(slurmdbd_msg_t *req, uint16_t rpc_version) switch (req->msg_type) { case DBD_ADD_ACCOUNTS: case DBD_ADD_ASSOCS: - case DBD_ADD_CLUS_RES: case DBD_ADD_CLUSTERS: - case DBD_ADD_SER_RES: + case DBD_ADD_RES: case DBD_ADD_USERS: case DBD_GOT_ACCOUNTS: case DBD_GOT_ASSOCS: - case DBD_GOT_CLUS_RES: case DBD_GOT_CLUSTERS: case DBD_GOT_EVENTS: case DBD_GOT_JOBS: case DBD_GOT_LIST: - case DBD_GOT_SER_RES: case DBD_GOT_PROBS: + case DBD_GOT_RES: case DBD_ADD_QOS: case DBD_GOT_QOS: case DBD_GOT_RESVS: @@ -554,23 +552,21 @@ extern Buf pack_slurmdbd_msg(slurmdbd_msg_t *req, uint16_t rpc_version) break; case DBD_GET_ACCOUNTS: case DBD_GET_ASSOCS: - case DBD_GET_CLUS_RES: case DBD_GET_CLUSTERS: case DBD_GET_EVENTS: case DBD_GET_JOBS_COND: case DBD_GET_PROBS: case DBD_GET_QOS: case DBD_GET_RESVS: - case DBD_GET_SER_RES: + case DBD_GET_RES: case DBD_GET_TXN: case DBD_GET_USERS: case DBD_GET_WCKEYS: case DBD_REMOVE_ACCOUNTS: case DBD_REMOVE_ASSOCS: - case DBD_REMOVE_CLUS_RES: case DBD_REMOVE_CLUSTERS: case DBD_REMOVE_QOS: - case DBD_REMOVE_SER_RES: + case DBD_REMOVE_RES: case DBD_REMOVE_WCKEYS: case DBD_REMOVE_USERS: case DBD_ARCHIVE_DUMP: @@ -614,11 +610,10 @@ extern Buf pack_slurmdbd_msg(slurmdbd_msg_t *req, uint16_t rpc_version) break; case DBD_MODIFY_ACCOUNTS: case DBD_MODIFY_ASSOCS: - case DBD_MODIFY_CLUS_RES: case DBD_MODIFY_CLUSTERS: case DBD_MODIFY_JOB: case DBD_MODIFY_QOS: - case DBD_MODIFY_SER_RES: + case DBD_MODIFY_RES: case DBD_MODIFY_USERS: slurmdbd_pack_modify_msg( (dbd_modify_msg_t *)req->data, rpc_version, @@ -695,13 +690,11 @@ extern int unpack_slurmdbd_msg(slurmdbd_msg_t *resp, switch (resp->msg_type) { case DBD_ADD_ACCOUNTS: case DBD_ADD_ASSOCS: - case DBD_ADD_CLUS_RES: case DBD_ADD_CLUSTERS: - case DBD_ADD_SER_RES: + case DBD_ADD_RES: case DBD_ADD_USERS: case DBD_GOT_ACCOUNTS: case DBD_GOT_ASSOCS: - case DBD_GOT_CLUS_RES: case DBD_GOT_CLUSTERS: case DBD_GOT_EVENTS: case DBD_GOT_JOBS: @@ -710,7 +703,7 @@ extern int unpack_slurmdbd_msg(slurmdbd_msg_t *resp, case DBD_ADD_QOS: case DBD_GOT_QOS: case DBD_GOT_RESVS: - case DBD_GOT_SER_RES: + case DBD_GOT_RES: case DBD_ADD_WCKEYS: case DBD_GOT_WCKEYS: case DBD_GOT_TXN: @@ -742,23 +735,21 @@ extern int unpack_slurmdbd_msg(slurmdbd_msg_t *resp, break; case DBD_GET_ACCOUNTS: case DBD_GET_ASSOCS: - case DBD_GET_CLUS_RES: case DBD_GET_CLUSTERS: case DBD_GET_EVENTS: case DBD_GET_JOBS_COND: case DBD_GET_PROBS: case DBD_GET_QOS: case DBD_GET_RESVS: - case DBD_GET_SER_RES: + case DBD_GET_RES: case DBD_GET_TXN: case DBD_GET_USERS: case DBD_GET_WCKEYS: case DBD_REMOVE_ACCOUNTS: case DBD_REMOVE_ASSOCS: - case DBD_REMOVE_CLUS_RES: case DBD_REMOVE_CLUSTERS: case DBD_REMOVE_QOS: - case DBD_REMOVE_SER_RES: + case DBD_REMOVE_RES: case DBD_REMOVE_WCKEYS: case DBD_REMOVE_USERS: case DBD_ARCHIVE_DUMP: @@ -806,11 +797,10 @@ extern int unpack_slurmdbd_msg(slurmdbd_msg_t *resp, break; case DBD_MODIFY_ACCOUNTS: case DBD_MODIFY_ASSOCS: - case DBD_MODIFY_CLUS_RES: case DBD_MODIFY_CLUSTERS: case DBD_MODIFY_JOB: case DBD_MODIFY_QOS: - case DBD_MODIFY_SER_RES: + case DBD_MODIFY_RES: case DBD_MODIFY_USERS: rc = slurmdbd_unpack_modify_msg( (dbd_modify_msg_t **)&resp->data, @@ -886,12 +876,10 @@ extern slurmdbd_msg_type_t str_2_slurmdbd_msg_type(char *msg_type) return DBD_ADD_ACCOUNT_COORDS; } else if (!strcasecmp(msg_type, "Add Associations")) { return DBD_ADD_ASSOCS; - } else if (!strcasecmp(msg_type, "Add Cluster Resources")) { - return DBD_ADD_CLUS_RES; } else if (!strcasecmp(msg_type, "Add Clusters")) { return DBD_ADD_CLUSTERS; - } else if (!strcasecmp(msg_type, "Add Server Resources")) { - return DBD_ADD_SER_RES; + } else if (!strcasecmp(msg_type, "Add Resources")) { + return DBD_ADD_RES; } else if (!strcasecmp(msg_type, "Add Users")) { return DBD_ADD_USERS; } else if (!strcasecmp(msg_type, "Cluster Processors")) { @@ -904,8 +892,6 @@ extern slurmdbd_msg_type_t str_2_slurmdbd_msg_type(char *msg_type) return DBD_GET_ASSOCS; } else if (!strcasecmp(msg_type, "Get Association Usage")) { return DBD_GET_ASSOC_USAGE; - } else if (!strcasecmp(msg_type, "Get Cluster Resources")) { - return DBD_GET_CLUS_RES; } else if (!strcasecmp(msg_type, "Get Clusters")) { return DBD_GET_CLUSTERS; } else if (!strcasecmp(msg_type, "Get Cluster Usage")) { @@ -916,8 +902,8 @@ extern slurmdbd_msg_type_t str_2_slurmdbd_msg_type(char *msg_type) return DBD_GET_JOBS; } else if (!strcasecmp(msg_type, "Get Problems")) { return DBD_GET_PROBS; - } else if (!strcasecmp(msg_type, "Get Server Resources")) { - return DBD_GET_SER_RES; + } else if (!strcasecmp(msg_type, "Get Resources")) { + return DBD_GET_RES; } else if (!strcasecmp(msg_type, "Get Users")) { return DBD_GET_USERS; } else if (!strcasecmp(msg_type, "Got Accounts")) { @@ -926,8 +912,6 @@ extern slurmdbd_msg_type_t str_2_slurmdbd_msg_type(char *msg_type) return DBD_GOT_ASSOCS; } else if (!strcasecmp(msg_type, "Got Association Usage")) { return DBD_GOT_ASSOC_USAGE; - } else if (!strcasecmp(msg_type, "Got Cluster Resources")) { - return DBD_GOT_CLUS_RES; } else if (!strcasecmp(msg_type, "Got Clusters")) { return DBD_GOT_CLUSTERS; } else if (!strcasecmp(msg_type, "Got Cluster Usage")) { @@ -940,8 +924,8 @@ extern slurmdbd_msg_type_t str_2_slurmdbd_msg_type(char *msg_type) return DBD_GOT_LIST; } else if (!strcasecmp(msg_type, "Got Problems")) { return DBD_GOT_PROBS; - } else if (!strcasecmp(msg_type, "Got Server Resources")) { - return DBD_GOT_SER_RES; + } else if (!strcasecmp(msg_type, "Got Resources")) { + return DBD_GOT_RES; } else if (!strcasecmp(msg_type, "Got Users")) { return DBD_GOT_USERS; } else if (!strcasecmp(msg_type, "Job Complete")) { @@ -956,16 +940,14 @@ extern slurmdbd_msg_type_t str_2_slurmdbd_msg_type(char *msg_type) return DBD_MODIFY_ACCOUNTS; } else if (!strcasecmp(msg_type, "Modify Associations")) { return DBD_MODIFY_ASSOCS; - } else if (!strcasecmp(msg_type, "Modify Cluster Resources")) { - return DBD_MODIFY_CLUS_RES; } else if (!strcasecmp(msg_type, "Modify Clusters")) { return DBD_MODIFY_CLUSTERS; } else if (!strcasecmp(msg_type, "Modify Job")) { return DBD_MODIFY_JOB; } else if (!strcasecmp(msg_type, "Modify QOS")) { return DBD_MODIFY_QOS; - } else if (!strcasecmp(msg_type, "Modify Server Resources")) { - return DBD_MODIFY_SER_RES; + } else if (!strcasecmp(msg_type, "Modify Resources")) { + return DBD_MODIFY_RES; } else if (!strcasecmp(msg_type, "Modify Users")) { return DBD_MODIFY_USERS; } else if (!strcasecmp(msg_type, "Node State")) { @@ -984,12 +966,10 @@ extern slurmdbd_msg_type_t str_2_slurmdbd_msg_type(char *msg_type) return DBD_ARCHIVE_LOAD; } else if (!strcasecmp(msg_type, "Remove Associations")) { return DBD_REMOVE_ASSOCS; - } else if (!strcasecmp(msg_type, "Remove Cluster Resources")) { - return DBD_REMOVE_CLUS_RES; } else if (!strcasecmp(msg_type, "Remove Clusters")) { return DBD_REMOVE_CLUSTERS; - } else if (!strcasecmp(msg_type, "Remove Server Resources")) { - return DBD_REMOVE_SER_RES; + } else if (!strcasecmp(msg_type, "Remove Resources")) { + return DBD_REMOVE_RES; } else if (!strcasecmp(msg_type, "Remove Users")) { return DBD_REMOVE_USERS; } else if (!strcasecmp(msg_type, "Roll Usage")) { @@ -1086,23 +1066,17 @@ extern char *slurmdbd_msg_type_2_str(slurmdbd_msg_type_t msg_type, int get_enum) } else return "Add Associations"; break; - case DBD_ADD_CLUS_RES: - if (get_enum) { - return "DBD_ADD_CLUS_RES"; - } else - return "Add Cluster Resources"; - break; case DBD_ADD_CLUSTERS: if (get_enum) { return "DBD_ADD_CLUSTERS"; } else return "Add Clusters"; break; - case DBD_ADD_SER_RES: + case DBD_ADD_RES: if (get_enum) { - return "DBD_ADD_SER_RES"; + return "DBD_ADD_RES"; } else - return "Add Server Resources"; + return "Add Resources"; break; case DBD_ADD_USERS: if (get_enum) { @@ -1140,12 +1114,6 @@ extern char *slurmdbd_msg_type_2_str(slurmdbd_msg_type_t msg_type, int get_enum) } else return "Get Association Usage"; break; - case DBD_GET_CLUS_RES: - if (get_enum) { - return "DBD_GET_CLUS_RES"; - } else - return "Get Cluster Resources"; - break; case DBD_GET_CLUSTERS: if (get_enum) { return "DBD_GET_CLUSTERS"; @@ -1176,11 +1144,11 @@ extern char *slurmdbd_msg_type_2_str(slurmdbd_msg_type_t msg_type, int get_enum) } else return "Get Problems"; break; - case DBD_GET_SER_RES: + case DBD_GET_RES: if (get_enum) { - return "DBD_GET_SER_RES"; + return "DBD_GET_RES"; } else - return "Get Server Resources"; + return "Get Resources"; break; case DBD_GET_USERS: if (get_enum) { @@ -1206,12 +1174,6 @@ extern char *slurmdbd_msg_type_2_str(slurmdbd_msg_type_t msg_type, int get_enum) } else return "Got Association Usage"; break; - case DBD_GOT_CLUS_RES: - if (get_enum) { - return "DBD_GOT_CLUS_RES"; - } else - return "Got Cluster Resources"; - break; case DBD_GOT_CLUSTERS: if (get_enum) { return "DBD_GOT_CLUSTERS"; @@ -1248,11 +1210,11 @@ extern char *slurmdbd_msg_type_2_str(slurmdbd_msg_type_t msg_type, int get_enum) } else return "Got Problems"; break; - case DBD_GOT_SER_RES: + case DBD_GOT_RES: if (get_enum) { - return "DBD_GOT_SER_RES"; + return "DBD_GOT_RES"; } else - return "Got Server Resources"; + return "Got Resources"; break; case DBD_GOT_USERS: if (get_enum) { @@ -1296,12 +1258,6 @@ extern char *slurmdbd_msg_type_2_str(slurmdbd_msg_type_t msg_type, int get_enum) } else return "Modify Associations"; break; - case DBD_MODIFY_CLUS_RES: - if (get_enum) { - return "DBD_MODIFY_CLUS_RES"; - } else - return "Modify Cluster Resources"; - break; case DBD_MODIFY_CLUSTERS: if (get_enum) { return "DBD_MODIFY_CLUSTERS"; @@ -1320,11 +1276,11 @@ extern char *slurmdbd_msg_type_2_str(slurmdbd_msg_type_t msg_type, int get_enum) } else return "Modify QOS"; break; - case DBD_MODIFY_SER_RES: + case DBD_MODIFY_RES: if (get_enum) { - return "DBD_MODIFY_SER_RES"; + return "DBD_MODIFY_RES"; } else - return "Modify Server Resources"; + return "Modify Resources"; break; case DBD_MODIFY_USERS: if (get_enum) { @@ -1380,23 +1336,17 @@ extern char *slurmdbd_msg_type_2_str(slurmdbd_msg_type_t msg_type, int get_enum) } else return "Remove Associations"; break; - case DBD_REMOVE_CLUS_RES: - if (get_enum) { - return "DBD_REMOVE_CLUS_RES"; - } else - return "Remove Cluster Resources"; - break; case DBD_REMOVE_CLUSTERS: if (get_enum) { return "DBD_REMOVE_CLUSTERS"; } else return "Remove Clusters"; break; - case DBD_REMOVE_SER_RES: + case DBD_REMOVE_RES: if (get_enum) { - return "DBD_REMOVE_SER_RES"; + return "DBD_REMOVE_RES"; } else - return "Remove Server Resources"; + return "Remove Resources"; break; case DBD_REMOVE_USERS: if (get_enum) { @@ -2625,10 +2575,6 @@ extern void slurmdbd_free_cond_msg(dbd_cond_msg_t *msg, case DBD_REMOVE_ASSOCS: my_destroy = slurmdb_destroy_association_cond; break; - case DBD_GET_CLUS_RES: - case DBD_REMOVE_CLUS_RES: - my_destroy = slurmdb_destroy_clus_res_cond; - break; case DBD_GET_CLUSTERS: case DBD_REMOVE_CLUSTERS: my_destroy = slurmdb_destroy_cluster_cond; @@ -2640,9 +2586,9 @@ extern void slurmdbd_free_cond_msg(dbd_cond_msg_t *msg, case DBD_REMOVE_QOS: my_destroy = slurmdb_destroy_qos_cond; break; - case DBD_GET_SER_RES: - case DBD_REMOVE_SER_RES: - my_destroy = slurmdb_destroy_ser_res_cond; + case DBD_GET_RES: + case DBD_REMOVE_RES: + my_destroy = slurmdb_destroy_res_cond; break; case DBD_GET_WCKEYS: case DBD_REMOVE_WCKEYS: @@ -2750,10 +2696,6 @@ extern void slurmdbd_free_modify_msg(dbd_modify_msg_t *msg, destroy_cond = slurmdb_destroy_association_cond; destroy_rec = slurmdb_destroy_association_rec; break; - case DBD_MODIFY_CLUS_RES: - destroy_cond = slurmdb_destroy_clus_res_cond; - destroy_rec = slurmdb_destroy_clus_res_rec; - break; case DBD_MODIFY_CLUSTERS: destroy_cond = slurmdb_destroy_cluster_cond; destroy_rec = slurmdb_destroy_cluster_rec; @@ -2766,9 +2708,9 @@ extern void slurmdbd_free_modify_msg(dbd_modify_msg_t *msg, destroy_cond = slurmdb_destroy_qos_cond; destroy_rec = slurmdb_destroy_qos_rec; break; - case DBD_MODIFY_SER_RES: - destroy_cond = slurmdb_destroy_ser_res_cond; - destroy_rec = slurmdb_destroy_ser_res_rec; + case DBD_MODIFY_RES: + destroy_cond = slurmdb_destroy_res_cond; + destroy_rec = slurmdb_destroy_res_rec; break; case DBD_MODIFY_USERS: destroy_cond = slurmdb_destroy_user_cond; @@ -3023,10 +2965,6 @@ extern void slurmdbd_pack_cond_msg(dbd_cond_msg_t *msg, case DBD_REMOVE_ASSOCS: my_function = slurmdb_pack_association_cond; break; - case DBD_GET_CLUS_RES: - case DBD_REMOVE_CLUS_RES: - my_function = slurmdb_pack_clus_res_cond; - break; case DBD_GET_CLUSTERS: case DBD_REMOVE_CLUSTERS: my_function = slurmdb_pack_cluster_cond; @@ -3038,9 +2976,9 @@ extern void slurmdbd_pack_cond_msg(dbd_cond_msg_t *msg, case DBD_REMOVE_QOS: my_function = slurmdb_pack_qos_cond; break; - case DBD_GET_SER_RES: - case DBD_REMOVE_SER_RES: - my_function = slurmdb_pack_ser_res_cond; + case DBD_GET_RES: + case DBD_REMOVE_RES: + my_function = slurmdb_pack_res_cond; break; case DBD_GET_WCKEYS: case DBD_REMOVE_WCKEYS: @@ -3087,10 +3025,6 @@ extern int slurmdbd_unpack_cond_msg(dbd_cond_msg_t **msg, case DBD_REMOVE_ASSOCS: my_function = slurmdb_unpack_association_cond; break; - case DBD_GET_CLUS_RES: - case DBD_REMOVE_CLUS_RES: - my_function = slurmdb_unpack_clus_res_cond; - break; case DBD_GET_CLUSTERS: case DBD_REMOVE_CLUSTERS: my_function = slurmdb_unpack_cluster_cond; @@ -3102,9 +3036,9 @@ extern int slurmdbd_unpack_cond_msg(dbd_cond_msg_t **msg, case DBD_REMOVE_QOS: my_function = slurmdb_unpack_qos_cond; break; - case DBD_GET_SER_RES: - case DBD_REMOVE_SER_RES: - my_function = slurmdb_unpack_ser_res_cond; + case DBD_GET_RES: + case DBD_REMOVE_RES: + my_function = slurmdb_unpack_res_cond; break; case DBD_GET_WCKEYS: case DBD_REMOVE_WCKEYS: @@ -3527,10 +3461,6 @@ extern void slurmdbd_pack_list_msg(dbd_list_msg_t *msg, case DBD_GOT_PROBS: my_function = slurmdb_pack_association_rec; break; - case DBD_ADD_CLUS_RES: - case DBD_GOT_CLUS_RES: - my_function = slurmdb_pack_clus_res_rec; - break; case DBD_ADD_CLUSTERS: case DBD_GOT_CLUSTERS: my_function = slurmdb_pack_cluster_rec; @@ -3551,9 +3481,9 @@ extern void slurmdbd_pack_list_msg(dbd_list_msg_t *msg, case DBD_GOT_RESVS: my_function = slurmdb_pack_reservation_rec; break; - case DBD_ADD_SER_RES: - case DBD_GOT_SER_RES: - my_function = slurmdb_pack_ser_res_rec; + case DBD_ADD_RES: + case DBD_GOT_RES: + my_function = slurmdb_pack_res_rec; break; case DBD_ADD_WCKEYS: case DBD_GOT_WCKEYS: @@ -3625,11 +3555,6 @@ extern int slurmdbd_unpack_list_msg(dbd_list_msg_t **msg, uint16_t rpc_version, my_function = slurmdb_unpack_association_rec; my_destroy = slurmdb_destroy_association_rec; break; - case DBD_ADD_CLUS_RES: - case DBD_GOT_CLUS_RES: - my_function = slurmdb_unpack_clus_res_rec; - my_destroy = slurmdb_destroy_clus_res_rec; - break; case DBD_ADD_CLUSTERS: case DBD_GOT_CLUSTERS: my_function = slurmdb_unpack_cluster_rec; @@ -3656,10 +3581,10 @@ extern int slurmdbd_unpack_list_msg(dbd_list_msg_t **msg, uint16_t rpc_version, my_function = slurmdb_unpack_reservation_rec; my_destroy = slurmdb_destroy_reservation_rec; break; - case DBD_ADD_SER_RES: - case DBD_GOT_SER_RES: - my_function = slurmdb_unpack_ser_res_rec; - my_destroy = slurmdb_destroy_ser_res_rec; + case DBD_ADD_RES: + case DBD_GOT_RES: + my_function = slurmdb_unpack_res_rec; + my_destroy = slurmdb_destroy_res_rec; break; case DBD_ADD_WCKEYS: case DBD_GOT_WCKEYS: @@ -3743,10 +3668,6 @@ extern void slurmdbd_pack_modify_msg(dbd_modify_msg_t *msg, my_cond = slurmdb_pack_association_cond; my_rec = slurmdb_pack_association_rec; break; - case DBD_MODIFY_CLUS_RES: - my_cond = slurmdb_pack_clus_res_cond; - my_rec = slurmdb_pack_clus_res_rec; - break; case DBD_MODIFY_CLUSTERS: my_cond = slurmdb_pack_cluster_cond; my_rec = slurmdb_pack_cluster_rec; @@ -3759,9 +3680,9 @@ extern void slurmdbd_pack_modify_msg(dbd_modify_msg_t *msg, my_cond = slurmdb_pack_qos_cond; my_rec = slurmdb_pack_qos_rec; break; - case DBD_MODIFY_SER_RES: - my_cond = slurmdb_pack_ser_res_cond; - my_rec = slurmdb_pack_ser_res_rec; + case DBD_MODIFY_RES: + my_cond = slurmdb_pack_res_cond; + my_rec = slurmdb_pack_res_rec; break; case DBD_MODIFY_USERS: my_cond = slurmdb_pack_user_cond; @@ -3796,10 +3717,6 @@ extern int slurmdbd_unpack_modify_msg(dbd_modify_msg_t **msg, my_cond = slurmdb_unpack_association_cond; my_rec = slurmdb_unpack_association_rec; break; - case DBD_MODIFY_CLUS_RES: - my_cond = slurmdb_unpack_clus_res_cond; - my_rec = slurmdb_unpack_clus_res_rec; - break; case DBD_MODIFY_CLUSTERS: my_cond = slurmdb_unpack_cluster_cond; my_rec = slurmdb_unpack_cluster_rec; @@ -3812,9 +3729,9 @@ extern int slurmdbd_unpack_modify_msg(dbd_modify_msg_t **msg, my_cond = slurmdb_unpack_qos_cond; my_rec = slurmdb_unpack_qos_rec; break; - case DBD_MODIFY_SER_RES: - my_cond = slurmdb_unpack_ser_res_cond; - my_rec = slurmdb_unpack_ser_res_rec; + case DBD_MODIFY_RES: + my_cond = slurmdb_unpack_res_cond; + my_rec = slurmdb_unpack_res_rec; break; case DBD_MODIFY_USERS: my_cond = slurmdb_unpack_user_cond; diff --git a/src/common/slurmdbd_defs.h b/src/common/slurmdbd_defs.h index 738d9d7280f..5b3ebf30f0b 100644 --- a/src/common/slurmdbd_defs.h +++ b/src/common/slurmdbd_defs.h @@ -166,16 +166,14 @@ typedef enum { DBD_SEND_MULT_MSG, /* Send multiple message */ DBD_GOT_MULT_MSG, /* Get response to DBD_SEND_MULT_MSG */ DBD_MODIFY_JOB, /* Modify existing Job(s) */ - DBD_ADD_CLUS_RES, /* Add new cluster resource to the mix */ - DBD_GET_CLUS_RES, /* Get cluster resource information */ - DBD_GOT_CLUS_RES, /* Got cluster resource information */ - DBD_MODIFY_CLUS_RES, /* Modify existing cluster resource */ - DBD_REMOVE_CLUS_RES, /* Remove existing cluster resource */ - DBD_ADD_SER_RES, /* Add new system resource to the mix */ - DBD_GET_SER_RES, /* Get cluster resource information */ - DBD_GOT_SER_RES, /* Got system resource information */ - DBD_MODIFY_SER_RES, /* Modify existing system resource */ - DBD_REMOVE_SER_RES, /* Remove existing system resource */ + DBD_ADD_RES, /* Add new system resource to the mix */ + DBD_GET_RES, /* Get resource information */ + DBD_GOT_RES, /* Got resource information */ + DBD_REMOVE_RES, /* Remove existing resource */ + DBD_MODIFY_RES, /* Modify existing resource */ + DBD_ADD_CLUS_RES, /* Add cluster using a resource */ + DBD_REMOVE_CLUS_RES, /* Remove existing cluster resource */ + DBD_MODIFY_CLUS_RES, /* Modify existing cluster resource */ } slurmdbd_msg_type_t; /*****************************************************************************\ -- GitLab