/** * @brief * Load a database scheduler object from the scheduler object in server * * @param[out] ps - Address of the scheduler in pbs server * @param[in] pdbsched - Address of the database scheduler object * */ static int db_to_svr_sched(struct pbs_sched *ps, pbs_db_sched_info_t *pdbsched) { /* since we dont need the sched_name and sched_sv_name free here */ if ((decode_attr_db(ps, &pdbsched->attr_list, sched_attr_def, ps->sch_attr, (int) SCHED_ATR_LAST, 0)) != 0) return -1; return 0; }
/** * @brief * Load a server queue object from a database queue object * * @param[out] pque - Address of the queue in the server * @param[in] pdbque - Address of the database queue object * *@return 0 Success *@return !=0 Failure */ static int db_to_svr_que(pbs_queue *pque, pbs_db_que_info_t *pdbque) { pque->qu_qs.qu_name[sizeof(pque->qu_qs.qu_name) - 1] = '\0'; strncpy(pque->qu_qs.qu_name, pdbque->qu_name, sizeof(pque->qu_qs.qu_name)); pque->qu_qs.qu_type = pdbque->qu_type; pque->qu_qs.qu_ctime = pdbque->qu_ctime; pque->qu_qs.qu_mtime = pdbque->qu_mtime; if ((decode_attr_db(pque, &pdbque->attr_list, que_attr_def, pque->qu_attr, (int) QA_ATR_LAST, 0)) != 0) return -1; return 0; }
/** * @brief * Load a server object in pbs_server from a database server object * * @param[out] ps - Address of the server in pbs server * @param[in] pdbsvr - Address of the database server object * * @return !=0 - Failure * @return 0 - Success */ int db_to_svr_svr(struct server *ps, pbs_db_svr_info_t *pdbsvr) { ps->sv_qs.sv_numjobs = pdbsvr->sv_numjobs; ps->sv_qs.sv_numque = pdbsvr->sv_numque; ps->sv_qs.sv_savetm = pdbsvr->sv_savetm; ps->sv_qs.sv_jobidnumber = pdbsvr->sv_jobidnumber; if ((decode_attr_db(ps, &pdbsvr->attr_list, svr_attr_def, ps->sv_attr, (int) SRV_ATR_LAST, 0)) != 0) return -1; return 0; }