From fd7b407966dfc28f3defacf8f8c7e92aef71ebc9 Mon Sep 17 00:00:00 2001 From: Danny Auble <da@llnl.gov> Date: Thu, 18 Dec 2008 22:28:43 +0000 Subject: [PATCH] fix for new wckey var being sent to the dbd --- src/common/slurmdbd_defs.c | 45 ++++++++++++++++++- .../slurmdbd/accounting_storage_slurmdbd.c | 1 + src/slurmdbd/proc_req.c | 1 + 3 files changed, 45 insertions(+), 2 deletions(-) diff --git a/src/common/slurmdbd_defs.c b/src/common/slurmdbd_defs.c index f3ea5b23737..de26731daa3 100644 --- a/src/common/slurmdbd_defs.c +++ b/src/common/slurmdbd_defs.c @@ -2532,7 +2532,27 @@ void inline slurmdbd_pack_job_start_msg(uint16_t rpc_version, dbd_job_start_msg_t *msg, Buf buffer) { - if(rpc_version >= 3) { + if(rpc_version >= 5) { + packstr(msg->account, buffer); + pack32(msg->alloc_cpus, buffer); + pack32(msg->assoc_id, buffer); + packstr(msg->block_id, buffer); + packstr(msg->cluster, buffer); + pack32(msg->db_index, buffer); + pack_time(msg->eligible_time, buffer); + pack32(msg->gid, buffer); + pack32(msg->job_id, buffer); + pack16(msg->job_state, buffer); + packstr(msg->name, buffer); + packstr(msg->nodes, buffer); + packstr(msg->partition, buffer); + pack32(msg->priority, buffer); + pack32(msg->req_cpus, buffer); + pack_time(msg->start_time, buffer); + pack_time(msg->submit_time, buffer); + pack32(msg->uid, buffer); + packstr(msg->wckey, buffer); + } else if(rpc_version >= 3) { packstr(msg->account, buffer); pack32(msg->alloc_cpus, buffer); pack32(msg->assoc_id, buffer); @@ -2580,7 +2600,28 @@ slurmdbd_unpack_job_start_msg(uint16_t rpc_version, dbd_job_start_msg_t *msg_ptr = xmalloc(sizeof(dbd_job_start_msg_t)); *msg = msg_ptr; - if(rpc_version >= 3) { + if(rpc_version >= 5) { + safe_unpackstr_xmalloc(&msg_ptr->account, &uint32_tmp, buffer); + safe_unpack32(&msg_ptr->alloc_cpus, buffer); + safe_unpack32(&msg_ptr->assoc_id, buffer); + safe_unpackstr_xmalloc(&msg_ptr->block_id, &uint32_tmp, buffer); + safe_unpackstr_xmalloc(&msg_ptr->cluster, &uint32_tmp, buffer); + safe_unpack32(&msg_ptr->db_index, buffer); + safe_unpack_time(&msg_ptr->eligible_time, buffer); + safe_unpack32(&msg_ptr->gid, buffer); + safe_unpack32(&msg_ptr->job_id, buffer); + safe_unpack16(&msg_ptr->job_state, buffer); + safe_unpackstr_xmalloc(&msg_ptr->name, &uint32_tmp, buffer); + safe_unpackstr_xmalloc(&msg_ptr->nodes, &uint32_tmp, buffer); + safe_unpackstr_xmalloc(&msg_ptr->partition, + &uint32_tmp, buffer); + safe_unpack32(&msg_ptr->priority, buffer); + safe_unpack32(&msg_ptr->req_cpus, buffer); + safe_unpack_time(&msg_ptr->start_time, buffer); + safe_unpack_time(&msg_ptr->submit_time, buffer); + safe_unpack32(&msg_ptr->uid, buffer); + safe_unpackstr_xmalloc(&msg_ptr->wckey, &uint32_tmp, buffer); + } else if(rpc_version >= 3) { safe_unpackstr_xmalloc(&msg_ptr->account, &uint32_tmp, buffer); safe_unpack32(&msg_ptr->alloc_cpus, buffer); safe_unpack32(&msg_ptr->assoc_id, buffer); diff --git a/src/plugins/accounting_storage/slurmdbd/accounting_storage_slurmdbd.c b/src/plugins/accounting_storage/slurmdbd/accounting_storage_slurmdbd.c index 7ba7c741df8..664ee618a78 100644 --- a/src/plugins/accounting_storage/slurmdbd/accounting_storage_slurmdbd.c +++ b/src/plugins/accounting_storage/slurmdbd/accounting_storage_slurmdbd.c @@ -1398,6 +1398,7 @@ extern int jobacct_storage_p_job_start(void *db_conn, char *cluster_name, req.req_cpus = job_ptr->num_procs; req.priority = job_ptr->priority; req.start_time = job_ptr->start_time; + req.wckey = job_ptr->wckey; if (job_ptr->details) req.submit_time = job_ptr->details->submit_time; req.uid = job_ptr->user_id; diff --git a/src/slurmdbd/proc_req.c b/src/slurmdbd/proc_req.c index ea79d16d7fa..f39ec8b55f0 100644 --- a/src/slurmdbd/proc_req.c +++ b/src/slurmdbd/proc_req.c @@ -1429,6 +1429,7 @@ static int _job_start(slurmdbd_conn_t *slurmdbd_conn, job.num_procs = job_start_msg->req_cpus; job.priority = job_start_msg->priority; job.start_time = job_start_msg->start_time; + job.wckey = job_start_msg->wckey; details.submit_time = job_start_msg->submit_time; job.details = &details; -- GitLab