diff --git a/include/moab-proto.h b/include/moab-proto.h index 2eddcc3..3980da5 100644 --- a/include/moab-proto.h +++ b/include/moab-proto.h @@ -334,7 +334,7 @@ int MJobDestroy(mjob_t **); int MJobSelectPJobList(mjob_t *,int,int,mjob_t **,mnalloc_t *,mjob_t **,int *,int *,nodelist_t **); int MJobCheckDependency(mjob_t *,enum MJobDependEnum *,char *); int MJobSetDependency(mjob_t *,enum MJobDependEnum,char *); -int MJobSelectResourceSet(mjob_t *,int,int,char **,mnalloc_t *,int); +int MJobSelectResourceSet(mjob_t *,mreq_t *,int,int,char **,mnalloc_t *,int); int MJobCheckNRes(mjob_t *,mnode_t *,mreq_t *,long,int *,double,int *,char *,long *,int); int MJobGetEStartTime(mjob_t *,mpar_t **,int *,int *,mnodelist_t,long *); int MJobAddToNL(mjob_t *,nodelist_t); diff --git a/src/moab/MACL.c b/src/moab/MACL.c index f160096..eebae0b 100644 --- a/src/moab/MACL.c +++ b/src/moab/MACL.c @@ -201,8 +201,7 @@ char *MACLShow( case mcmpSNE: default: - sprintf(ACLString,"%s%s%s%s", - ACLString, + sprintf(&ACLString[strlen(ACLString)],"%s%s%s", MComp[cindex], ACL.Name, ModString); @@ -220,16 +219,14 @@ char *MACLShow( { /* human readable */ - sprintf(ACLString,"%s%s%s%s", - ACLString, + sprintf(&ACLString[strlen(ACLString)],"%s%s%s", MComp[cindex], MULToTString(ACL.Value), ModString); } else { - sprintf(ACLString,"%s%s%ld%s", - ACLString, + sprintf(&ACLString[strlen(ACLString)],"%s%ld%s", MComp[cindex], ACL.Value, ModString); diff --git a/src/moab/MAM.c b/src/moab/MAM.c index 3eeba2e..296dd5b 100644 --- a/src/moab/MAM.c +++ b/src/moab/MAM.c @@ -2216,8 +2216,7 @@ int MAMConfigShow( if (tmpVal[0] != '\0') { - sprintf(tmpLine,"%s %s=%s", - tmpLine, + sprintf(&tmpLine[strlen(tmpLine)]," %s=%s", MAMAttr[aindex], tmpVal); } diff --git a/src/moab/MBF.c b/src/moab/MBF.c index d36a8e6..1e112a9 100644 --- a/src/moab/MBF.c +++ b/src/moab/MBF.c @@ -836,15 +836,13 @@ int MBFGetWindow( { if ((N->State != mnsIdle) && (N->State != mnsActive)) { - sprintf(Msg,"%snode %s is unavailable (state '%s')\n", - Msg, + sprintf(&Msg[strlen(Msg)],"node %s is unavailable (state '%s')\n", N->Name, MNodeState[N->State]); } else { - sprintf(Msg,"%snode %s is unavailable (expected state '%s')\n", - Msg, + sprintf(&Msg[strlen(Msg)],"node %s is unavailable (expected state '%s')\n", N->Name, MNodeState[N->EState]); } @@ -859,8 +857,7 @@ int MBFGetWindow( N->Name); if (Msg != NULL) - sprintf(Msg,"%snode %s is unavailable (partition '%s')\n", - Msg, + sprintf(&Msg[strlen(Msg)],"node %s is unavailable (partition '%s')\n", N->Name, MPar[N->PtIndex].Name); @@ -875,8 +872,7 @@ int MBFGetWindow( if (Msg != NULL) { - sprintf(Msg,"%snode %s is unavailable (%s)\n", - Msg, + sprintf(&Msg[strlen(Msg)],"node %s is unavailable (%s)\n", N->Name, MAllocRejType[RIndex]); } @@ -904,8 +900,7 @@ int MBFGetWindow( if (Msg != NULL) { - sprintf(Msg,"%snode %s does not meet requirements (%s)\n", - Msg, + sprintf(&Msg[strlen(Msg)],"node %s does not meet requirements (%s)\n", N->Name, MAllocRejType[RIndex]); } @@ -928,8 +923,7 @@ int MBFGetWindow( if (Msg != NULL) { - sprintf(Msg,"%snode %s is blocked immediately\n", - Msg, + sprintf(&Msg[strlen(Msg)],"node %s is blocked immediately\n", N->Name); } @@ -946,16 +940,14 @@ int MBFGetWindow( { if (AvailableTime < (MAX_MTIME >> 1)) { - sprintf(Msg,"%snode %s is blocked by reservation %s in %s\n", - Msg, + sprintf(&Msg[strlen(Msg)],"node %s is blocked by reservation %s in %s\n", N->Name, BRes, MULToTString(AvailableTime)); } else { - sprintf(Msg,"%snode %sx%d is available with no timelimit\n", - Msg, + sprintf(&Msg[strlen(Msg)],"node %sx%d is available with no timelimit\n", N->Name, TC); } @@ -967,8 +959,7 @@ int MBFGetWindow( { if (Msg != NULL) { - sprintf(Msg,"%snode %sx%d is available with no timelimit\n", - Msg, + sprintf(&Msg[strlen(Msg)],"node %sx%d is available with no timelimit\n", N->Name, TC); } diff --git a/src/moab/MClass.c b/src/moab/MClass.c index 0227c43..0968cc9 100644 --- a/src/moab/MClass.c +++ b/src/moab/MClass.c @@ -318,8 +318,7 @@ int MClassShow( (tmpLString[0] != '\0') && strcmp(tmpLString,NONE)) { - sprintf(tmpLine,"%s %s=%s", - tmpLine, + sprintf(&tmpLine[strlen(tmpLine)]," %s=%s", MClassAttr[ClAList[aindex]], tmpLString); } @@ -332,8 +331,7 @@ int MClassShow( if ((MCredAToString((void *)C,mxoClass,CAList[aindex],tmpLString,mdfString) == SUCCESS) && (tmpLString[0] != '\0')) { - sprintf(tmpLine,"%s %s=%s", - tmpLine, + sprintf(&tmpLine[strlen(tmpLine)]," %s=%s", MCredAttr[CAList[aindex]], tmpLString); } diff --git a/src/moab/MJob.c b/src/moab/MJob.c index da58061..14e7eb1 100644 --- a/src/moab/MJob.c +++ b/src/moab/MJob.c @@ -7298,6 +7298,7 @@ int MJobGetEStartTime( if (MJobSelectResourceSet( J, + RQ, (RQ->SetType != mrstNONE) ? RQ->SetType : MPar[0].NodeSetAttribute, (tmpRSS != mrssOneOf) ? tmpRSS : mrssFirstOf, (RQ->SetList[0] != NULL) ? RQ->SetList : MPar[0].NodeSetList, @@ -8765,6 +8766,7 @@ int MReqGetFNL( MJobSelectResourceSet( J, + RQ, (RQ->SetType != mrstNONE) ? RQ->SetType : MPar[0].NodeSetAttribute, (tmpRSS != mrssFirstOf) ? tmpRSS : mrssOneOf, (RQ->SetList != NULL) ? RQ->SetList : MPar[0].NodeSetList, diff --git a/src/moab/MSched.c b/src/moab/MSched.c index c40dcab..6522d04 100644 --- a/src/moab/MSched.c +++ b/src/moab/MSched.c @@ -392,6 +392,7 @@ int MJobAllocMNL( if (MJobSelectResourceSet( J, + RQ, (RQ->SetType != mrstNONE) ? RQ->SetType : MPar[0].NodeSetAttribute, (tmpRSS != mrssOneOf) ? tmpRSS : mrssFirstOf, (RQ->SetList[0] != NULL) ? RQ->SetList : MPar[0].NodeSetList, @@ -601,6 +602,7 @@ int MJobAllocMNL( if ((nsindex == 0) && (MJobSelectResourceSet( J, + RQ, (RQ->SetType != mrstNONE) ? RQ->SetType : MPar[0].NodeSetAttribute, (tmpRSS != mrssOneOf) ? tmpRSS : mrssFirstOf, (RQ->SetList[0] != NULL) ? RQ->SetList : MPar[0].NodeSetList, @@ -2023,6 +2025,7 @@ int MSchedTest() int MJobSelectResourceSet( mjob_t *J, /* I */ + mreq_t *RQ, /* I */ int SetType, /* I */ int SetSelection, /* I */ char **SetList, /* I */ @@ -2065,8 +2068,6 @@ int MJobSelectResourceSet( mnode_t *N; - mreq_t *RQ; - const char *FName = "MJobSelectResourceSet"; DBG(4,fSCHED) DPrint("%s(%s,%d,%d,SetList,NodeList,%d)\n", @@ -2093,9 +2094,7 @@ int MJobSelectResourceSet( return(SUCCESS); } - RQ = J->Req[0]; - - TasksRequired = J->Request.TC; + TasksRequired = RQ->TaskCount; NodesRequired = RQ->NodeCount; memset(SetCount,0,sizeof(SetCount));