Skip to content

Commit d9dea19

Browse files
jgabler-hpcernst-bablick
authored andcommitted
BF: CS-915 job is assigned to the defaultdepartment despite the user being member of an other department (#43)
1 parent 8467559 commit d9dea19

File tree

2 files changed

+16
-31
lines changed

2 files changed

+16
-31
lines changed

Diff for: source/daemons/qmaster/sge_userset_qmaster.cc

+6-2
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ job_is_valid_department(lListElem *job, lList **alpp, const char *dept_name, con
308308

309309
// Is the department name the default department then we can skip remaining tests.
310310
// The default department is always valid and the user or group(s) do not need to be part of it.
311-
if (!strcmp(dept_name, DEFAULT_DEPARTMENT)) {
311+
if (strcmp(dept_name, DEFAULT_DEPARTMENT) == 0) {
312312
DRETURN(true);
313313
}
314314

@@ -340,7 +340,11 @@ job_set_department(lListElem *job, lList **alpp, const lList *userset_list) {
340340
// Find the first department where the user is a member of
341341
const lListElem *dept;
342342
for_each_ep(dept, userset_list) {
343-
if (job_is_valid_department(job, nullptr, lGetString(dept, US_name), userset_list)) {
343+
const char *dept_name = lGetString(dept, US_name);
344+
if (strcmp(dept_name, DEFAULT_DEPARTMENT) == 0) {
345+
continue;
346+
}
347+
if (job_is_valid_department(job, nullptr, dept_name, userset_list)) {
344348
lSetString(job, JB_department, lGetString(dept, US_name));
345349
DRETURN(true);
346350
}

Diff for: source/libs/sched/sgeee.cc

+10-29
Original file line numberDiff line numberDiff line change
@@ -695,17 +695,11 @@ job_is_active( lListElem *job,
695695
/*--------------------------------------------------------------------
696696
* locate_department - locate the department object by name
697697
*--------------------------------------------------------------------*/
698-
699698
static lListElem *
700-
locate_department( lList *dept_list,
701-
const char *name )
702-
{
703-
if (!name)
699+
locate_department(lList *dept_list, const char *name) {
700+
if (name == nullptr) {
704701
return nullptr;
705-
706-
/*-------------------------------------------------------------
707-
* Look up the department object by name
708-
*-------------------------------------------------------------*/
702+
}
709703

710704
return lGetElemStrRW(dept_list, US_name, name);
711705
}
@@ -759,8 +753,7 @@ sge_set_job_refs( lListElem *job,
759753
* locate user object and save off reference
760754
*-------------------------------------------------------------*/
761755

762-
ref->user = user_list_locate(lists->user_list,
763-
lGetString(job, JB_owner));
756+
ref->user = user_list_locate(lists->user_list, lGetString(job, JB_owner));
764757
if (ref->user) {
765758
lSetUlong(ref->user, UU_job_cnt, 0);
766759
lSetUlong(ref->user, UU_pending_job_cnt, 0);
@@ -770,8 +763,7 @@ sge_set_job_refs( lListElem *job,
770763
* locate project object and save off reference
771764
*-------------------------------------------------------------*/
772765

773-
ref->project = prj_list_locate(lists->project_list,
774-
lGetString(job, JB_project));
766+
ref->project = prj_list_locate(lists->project_list, lGetString(job, JB_project));
775767
if (ref->project) {
776768
lSetUlong(ref->project, PR_job_cnt, 0);
777769
lSetUlong(ref->project, PR_pending_job_cnt, 0);
@@ -813,8 +805,7 @@ sge_set_job_refs( lListElem *job,
813805
* locate department object and save off reference in job entry
814806
*-------------------------------------------------------------*/
815807

816-
ref->dept = locate_department(lists->dept_list,
817-
lGetString(job, JB_department));
808+
ref->dept = locate_department(lists->dept_list, lGetString(job, JB_department));
818809
if (ref->dept) {
819810
lSetUlong(ref->dept, US_job_cnt, 0);
820811
lSetUlong(ref->dept, US_pending_job_cnt, 0);
@@ -827,9 +818,7 @@ sge_set_job_refs( lListElem *job,
827818
*--------------------------------------------------------------------*/
828819

829820
static void
830-
sge_set_job_cnts( sge_ref_t *ref,
831-
int queued )
832-
{
821+
sge_set_job_cnts(sge_ref_t *ref, int queued) {
833822
int prj_job_cnt_nm = queued ? PR_pending_job_cnt : PR_job_cnt;
834823
int user_job_cnt_nm = queued ? UU_pending_job_cnt : UU_job_cnt;
835824
int us_job_cnt_nm = queued ? US_pending_job_cnt : US_job_cnt;
@@ -842,8 +831,6 @@ sge_set_job_cnts( sge_ref_t *ref,
842831
if (ref->dept) {
843832
lAddUlong(ref->dept, us_job_cnt_nm, 1);
844833
}
845-
846-
return;
847834
}
848835

849836

@@ -852,9 +839,7 @@ sge_set_job_cnts( sge_ref_t *ref,
852839
*--------------------------------------------------------------------*/
853840

854841
static void
855-
sge_unset_job_cnts( sge_ref_t *ref,
856-
int queued )
857-
{
842+
sge_unset_job_cnts(sge_ref_t *ref, int queued) {
858843
int prj_job_cnt_nm = queued ? PR_pending_job_cnt : PR_job_cnt;
859844
int user_job_cnt_nm = queued ? UU_pending_job_cnt : UU_job_cnt;
860845
int us_job_cnt_nm = queued ? US_pending_job_cnt : US_job_cnt;
@@ -867,7 +852,6 @@ sge_unset_job_cnts( sge_ref_t *ref,
867852
if (ref->dept) {
868853
lAddUlong(ref->dept, us_job_cnt_nm, -1);
869854
}
870-
return;
871855
}
872856

873857

@@ -1609,10 +1593,7 @@ calc_job_share_tree_tickets_pass2( sge_ref_t *ref, double total_share_tree_ticke
16091593
* ???
16101594
*******************************************************************************/
16111595
static void copy_ftickets(sge_ref_list_t *source, sge_ref_list_t *dest){
1612-
if (source == nullptr || dest == nullptr) {
1613-
return;
1614-
}
1615-
else {
1596+
if (source != nullptr && dest != nullptr) {
16161597
sge_ref_t *dest_r = dest->ref;
16171598
sge_ref_t *source_r = source->ref;
16181599

@@ -2673,7 +2654,7 @@ sge_calc_tickets( scheduler_all_data_t *lists,
26732654
}
26742655

26752656
/*-----------------------------------------------------------------
2676-
* Note: use of the the job_ref_t array assumes that no jobs
2657+
* Note: use of the job_ref_t array assumes that no jobs
26772658
* will be removed from the job lists and the job list order will
26782659
* be maintained during the execution of sge_calc_tickets.
26792660
*-----------------------------------------------------------------*/

0 commit comments

Comments
 (0)