save works

This commit is contained in:
Rongsong Shen 2026-03-06 18:20:30 +08:00
parent 47fc32b02c
commit 43dc12a36c
19 changed files with 80 additions and 72 deletions

View file

@ -11,6 +11,7 @@
#include "utils.h"
#include "xcelimit.h"
#include "xlist.h"
#include "xstring.h"
typedef struct {
var limits;
@ -398,7 +399,7 @@ static int build_limit_vres_requests(xce_scheduler_t* sched,
continue;
}
rq->res = strdup(vres->vres->name);
rq->res = makeString(vres->vres->name);
rq->value = get_vres_value(ctx, vres);
xlist_store(requests, rq);

View file

@ -342,8 +342,8 @@ static int sched_update_res_accounts(xce_scheduler_t* sched, zarray_t* array,
for (i = 0; i < naccounts; i++) {
float val = accounts[i]->used + accounts[i]->reserved;
TRACE("%s resource %d old %f delta %f charge %d", __func__, vals[i],
val, charge);
TRACE("%s resource %d old %f delta %f charge %d", __func__, idxs[i],
vals[i], val, charge);
if (charge) {
vals[i] += val;
} else {

View file

@ -12,6 +12,7 @@
#include "xcealloc.h"
#include "xlist.h"
#include "xvec.h"
#include "xstring.h"
void kill_sched_job(void* arg)
{
@ -29,7 +30,7 @@ request_res_t* make_resource_request(char* res, float value)
return NULL;
}
req->res = strdup(res);
req->res = makeString(res);
req->value = value;
return req;
@ -111,9 +112,9 @@ static int make_sched_obj(xce_sched_obj_t* obj, xce_scheduler_t* sched,
{
int rc = 0;
obj->user = strdup(j->submit->user);
obj->queue = strdup(j->submit->queue);
obj->project = strdup(j->submit->project_name);
obj->user = makeString(j->submit->user);
obj->queue = makeString(j->submit->queue);
obj->project = makeString(j->submit->project_name);
xlist_init(&(obj->glimits), 8);
zarray_init(&(obj->hlimits), 32, NULL);
@ -218,7 +219,7 @@ xce_sched_queue_t* make_sched_queue(void* arg, xce_queue_t* q)
return NULL;
}
queue->name = strdup(q->queue);
queue->name = makeString(q->queue);
queue->attrs = q->attrs;
queue->status = q->status;
queue->priority = q->priority;
@ -259,7 +260,7 @@ xce_sched_worker_t* make_sched_worker(void* arg, xce_worker_t* w)
return NULL;
}
worker->name = strdup(w->name);
worker->name = makeString(w->name);
worker->status = w->status;
worker->idx = -1;
@ -288,7 +289,7 @@ void kill_sched_user(void* arg)
return;
}
FREEUP(user->name);
dereference(user->name);
FREEUP(user);
}
@ -302,7 +303,7 @@ xce_sched_user_t* make_sched_user(void* arg, char* name)
return NULL;
}
user->name = strdup(name);
user->name = makeString(name);
sched_add_user(sched, user);
@ -317,7 +318,7 @@ void kill_sched_project(void* arg)
return;
}
FREEUP(project->name);
dereference(project->name);
FREEUP(project);
}
@ -332,9 +333,9 @@ xce_sched_project_t* make_sched_project(void* arg, char* name)
}
if ((name == NULL) || (strlen(name) == 0)) {
project->name = strdup("default");
project->name = makeString("default");
} else {
project->name = strdup(name);
project->name = makeString(name);
}
sched_add_project(sched, project);

View file

@ -13,6 +13,7 @@
#include "misc.h"
#include "plugin.h"
#include "preason.h"
#include "resobj.h"
#include "scheduler.h"
#include "utils.h"
#include "xcealloc.h"
@ -465,11 +466,18 @@ static int sched_init_resources(xce_scheduler_t* sched)
xce_conf4sched_t* config = sched->config;
for (i = 0; i < config->n_resources; i++) {
xce_resource_t* r = config->resources[i];
xce_resource_t* r = config->resources[i];
xce_resource_t* r1 = NULL;
lock(sched->resmgr, RTTI_LOCK_WRITE);
key_add(sched->resmgr, (void*)r->name, (void*)r);
unlock(sched->resmgr);
if (r == NULL) {
continue;
}
r1 = makeResource(sched->resmgr, r);
if (r1 == NULL) {
ERROR("%s add resource %s failed", __func__, r->name);
}
}
return 0;
}