save works

This commit is contained in:
Rongsong Shen 2026-02-28 17:55:50 +08:00
parent b1faeb94b6
commit b748e30d20
35 changed files with 1247 additions and 2149 deletions

View file

@ -0,0 +1,11 @@
#if !defined(_CONFIGOBJ_H_)
#define _CONFIGOBJ_H_ 1
#include <rtti.h>
#include "xce/types.h"
extern xce_config_t *makeConfig(xce_config_t *);
#endif

View file

@ -2,6 +2,8 @@
#define _GROUP_H_ 1
#include <rtti.h>
#include "kvmgr.h"
#include "xce/types.h"
#include "xlist.h"
@ -11,15 +13,16 @@ typedef struct {
kvmgr_t groups;
} groupmgr_t;
extern int groupmgr_init(groupmgr_t*, int, int);
extern void groupmgr_fini(groupmgr_t*);
extern int groupmgr_add(groupmgr_t*, xce_group_t*);
extern xce_group_t* groupmgr_lock(groupmgr_t*, char*, int);
extern void groupmgr_del(groupmgr_t*, xce_group_t*);
extern int groupmgr_iter(groupmgr_t*, xlist_t*, void*);
extern xce_group_t* build_group(groupmgr_t*, xce_group_config_t*, char*);
extern xce_group_t* makeGroup(var, xce_group_config_t*, char*);
extern int groupmgr_init(var*, int, int);
extern void groupmgr_fini(var);
extern int groupmgr_add(var, xce_group_t*);
extern xce_group_t* groupmgr_lock(var, char*, int);
extern void groupmgr_del(var, xce_group_t*);
extern int groupmgr_iter(var, xlist_t*, void*);
extern xce_group_t* build_group(var, xce_group_config_t*, char*);
extern int is_in_group(xce_group_t*, char*);
extern xce_group_t* get_group(groupmgr_t*, char*);
extern xce_group_t* get_group(var, char*);
extern int fmt_group(char*, int, xce_group_t*);
extern int is_group_all(xce_group_t*);

View file

@ -0,0 +1,11 @@
#if !defined(_RESOBH_H_)
#define _RESOBJ_H_ 1
#include <rtti.h>
#include "xce/types.h"
extern xce_resource_t* makeResource(xce_resource_t*);
#endif

View file

@ -127,9 +127,9 @@ extern int parse_resreq_primary(xce_primary_resreq_t*, char*, char**);
extern int parse_resreq(xce_resreq_t*, char*, char**);
extern void kill_resreq(xce_resreq_t*);
extern int format_resreq(char**, xce_resreq_t*);
extern int calc_wanted_global_resvals(xvec_idval_t*, resmgr_t*, xlist_t*,
extern int calc_wanted_global_resvals(xvec_idval_t*, var, xlist_t*,
rusage_per_type_t, int, int);
extern int calc_wanted_host_resvals(xvec_idval_t*, resmgr_t*, xlist_t*,
extern int calc_wanted_host_resvals(xvec_idval_t*, var, xlist_t*,
rusage_per_type_t, int, int);
#endif

View file

@ -4,6 +4,7 @@
#include "config.h"
#include <pthread.h>
#include <rtti.h>
#include <stdint.h>
#include "delay.h"
@ -105,11 +106,11 @@ typedef struct {
int ncontrollers;
delaymgr_t delaymgr;
scheduler_t sched;
jobmgr_t jobmgr;
resmgr_t resmgr;
workermgr_t workermgr;
qmgr_t qmgr;
kvmgr_t configmgr;
var jobmgr;
var resmgr;
var workermgr;
var qmgr;
var configmgr;
kvmgr_t ugmgr;
kvmgr_t hgmgr;
vtaskmgr_t vtaskmgr;

View file

@ -274,11 +274,11 @@ typedef struct {
} xce_res_account_t;
typedef struct {
xce_worker_t host;
char hostkey[XCE_MAXKEY_LEN];
endpoint_t* ep;
int idx;
zarray_t usages;
xce_worker_t* host;
char hostkey[XCE_MAXKEY_LEN];
endpoint_t* ep;
int idx;
zarray_t usages;
} worker_t;
typedef struct {
@ -470,7 +470,7 @@ typedef struct {
} xce_job_t;
typedef struct {
xce_job_t job;
xce_job_t* job;
} job_t;
typedef struct {
@ -517,7 +517,7 @@ typedef struct {
} xce_queue_t;
typedef struct {
xce_queue_t queue;
xce_queue_t* queue;
} queue_t;
typedef struct {

View file

@ -2,6 +2,7 @@
#define _XCELIMIT_H_ 1
#include <rtti.h>
#include <stdarg.h>
#include <stdint.h>
#include <stdlib.h>
@ -17,13 +18,13 @@ extern int build_limit(xce_limit_t**, groupmgr_t*, groupmgr_t*, groupmgr_t*,
groupmgr_t*, xce_limit_config_t*);
extern int match_limit(xce_limit_t*, int, ...);
extern int build_vres_name(char**, xce_limit_t*, char*, char*, char*);
extern int is_host_based_limit(resmgr_t*, xce_limit_t*);
extern int is_host_based_limit(var, xce_limit_t*);
extern int fmt_consumer(char*, int, xce_consumer_t*);
extern int fmt_limit(char*, int, xce_limit_t*);
extern void kill_limit(xce_limit_t*);
extern int instantiate_limit(xce_vres_t**, resmgr_t*, xce_limit_t*, char*,
char*, char*);
extern int instantiate_limit(xce_vres_t**, var, xce_limit_t*, char*, char*,
char*);
extern void kill_vres(xce_vres_t*);
extern int add_vres(xce_resource_t**, resmgr_t*, char*, int);
extern int add_vres(xce_resource_t**, var, char*, int);
#endif