rm_SysState Class Reference
[Resource Manager]

#include <rm.h>

Collaboration diagram for rm_SysState:

Collaboration graph
[legend]

List of all members.


Detailed Description

Definition at line 168 of file rm.h.


Public Member Functions

 rm_SysState ()
 ~rm_SysState ()
void UnRegisterPM (const string &a_pmName)
void UpdatePM (rm_PartitionStatus &a_pmStat)
rm_PartitionStatus GetPartStatus (string &a_partName)
bool ReservePart (const string &a_pmName, ivd_JobType_e a_type, Int32_t a_number)
void ReleasePart (const string &a_pmName, ivd_JobType_e a_type, Int32_t a_number)
bool Reserve (const string &a_partName, ivd_JobType_e a_type, Int32_t a_number)
bool Reserve (ivd_JobType_e a_type, Int32_t a_number)
void Release (const string &a_partName, ivd_JobType_e a_type, Int32_t a_number)
void Release (ivd_JobType_e a_type, Int32_t a_number)
bool ReserveSys (ivd_JobType_e a_type, Int32_t a_number)
void ReleaseSys (ivd_JobType_e a_type, Int32_t a_number)
void Init (Int32_t a_maxDrivesRecall, Int32_t a_maxDrivesMig, Int32_t a_maxDrivesReorg, Int32_t a_maxDrivesAdmin, Int32_t a_maxDrivesRecovery, Int32_t a_maxDrivesMaint, Int32_t a_adminPriority, Int32_t a_backupPriority)
Int32_t GetDrivesInUseAll ()
Int32_t GetDrivesInUseRecall ()
Int32_t GetDrivesInUseMig ()
Int32_t GetDrivesInUseReorg ()
Int32_t GetDrivesInUseAdmin ()
Int32_t GetDrivesInUseRecovery ()
Int32_t GetDrivesInUseMaint ()
Int32_t GetMaxDrivesRecall ()
Int32_t GetMaxDrivesMig ()
Int32_t GetMaxDrivesReorg ()
Int32_t GetMaxDrivesAdmin ()
Int32_t GetMaxDrivesRecovery ()
Int32_t GetMaxDrivesMaint ()
Int32_t GetAdminPriority () const
Int32_t GetBackupPriority () const
UInt32_t GetPartitionNr (const string &a_partId) const
void LogCurrentState ()
i_MigID_t GetNewMigID (const string a_partName)
Int32_t GetRecallPriority (string a_partName) const
Int32_t GetMigrationPriority (string a_partName) const
Int32_t GetReorgPriority (string a_partName) const
Int32_t GetRecoveryPriority (string a_partName) const
Int32_t GetMaintPriority (string a_partName) const
Int32_t GetPartitionPriority (string a_partName) const

Public Attributes

cmn_Mutex m_partition_x
cmn_Mutex m_status_x
partVec_t m_partitions

Private Attributes

Int32_t m_drivesInUseAll
Int32_t m_drivesInUseRecall
Int32_t m_drivesInUseMig
Int32_t m_drivesInUseReorg
Int32_t m_drivesInUseAdmin
Int32_t m_drivesInUseRecovery
Int32_t m_drivesInUseMaint
Int32_t m_maxDrivesRecall
Int32_t m_maxDrivesMig
Int32_t m_maxDrivesReorg
Int32_t m_maxDrivesAdmin
Int32_t m_maxDrivesRecovery
Int32_t m_maxDrivesMaint
Int32_t m_adminPriority
Int32_t m_backupPriority
 log_CLASSID_m

Constructor & Destructor Documentation

rm_SysState::rm_SysState (  ) 

Definition at line 34 of file rm_sysstate.cpp.

00034                         :
00035         m_drivesInUseAll(0),
00036         m_drivesInUseRecall(0),
00037         m_drivesInUseMig(0),
00038         m_drivesInUseReorg(0),
00039         m_drivesInUseAdmin(0),
00040         m_drivesInUseRecovery(0),
00041         m_drivesInUseMaint(0),
00042         m_maxDrivesRecall(0),
00043         m_maxDrivesMig(0),
00044         m_maxDrivesReorg(0),
00045         m_maxDrivesAdmin(0),
00046         m_maxDrivesRecovery(0){
00047     //empty
00048 
00049 }

rm_SysState::~rm_SysState (  )  [inline]

Definition at line 172 of file rm.h.

00172 { /*empty*/ };


Member Function Documentation

void rm_SysState::UnRegisterPM ( const string &  a_pmName  ) 

Definition at line 325 of file rm_sysstate.cpp.

References cmn_Global::dbg, dbg_DETAIL, dbg_NORM, g_cmn, log_Debugger::GetLevel(), ie_PARTSTATNF, ivd_Error, log_DBG_m, log_FUNC_A_m, m_partition_x, and m_partitions.

Referenced by i_ResourceManager_i::UnRegisterPartition().

00325                                                       {
00326     log_FUNC_A_m(UnRegisterPM,":" << a_partName);
00327 
00328     cmn_MutexLock l(m_partition_x);
00329     bool found(false);
00330     log_DBG_m(dbg_DETAIL,"Printing all partitions");
00331 
00332     partVecIT_t iT;
00333     for (iT = m_partitions.begin(); iT != m_partitions.end(); iT++) {
00334         iT->LogCurrentState();
00335     }
00336 
00337     log_DBG_m(dbg_DETAIL,"Will erase now");
00338 
00339     for (iT = m_partitions.begin(); iT != m_partitions.end(); iT++) {
00340         if ( a_partName == iT->GetPartName() ) {
00341             if (g_cmn.dbg.GetLevel() == dbg_DETAIL) {
00342                 iT->LogCurrentState();
00343             }
00344             m_partitions.erase(iT);
00345             log_DBG_m(dbg_NORM,"Deleting partition from list of active");
00346             found = true;
00347             break;
00348         };
00349     }
00350     log_DBG_m(dbg_DETAIL,"Printing all partitions after delete");
00351     for (iT = m_partitions.begin(); iT != m_partitions.end(); iT++) {
00352         iT->LogCurrentState();
00353     }
00354 
00355     if (!found) {
00356         throw ivd_Error(ie_PARTSTATNF, "Can not Un-Register non-existing partition");
00357     }
00358 
00359 }

Here is the call graph for this function:

Here is the caller graph for this function:

void rm_SysState::UpdatePM ( rm_PartitionStatus a_pmStat  ) 

Definition at line 297 of file rm_sysstate.cpp.

References cmn_Global::dbg, dbg_DETAIL, dbg_NORM, g_cmn, log_Debugger::GetLevel(), GetPartitionNr(), rm_PartitionStatus::GetPartName(), ie_FATAL_ERROR, log_DBG_m, log_FUNC_m, rm_PartitionStatus::LogCurrentState(), m_partition_x, and m_partitions.

Referenced by i_ResourceManager_i::SetRMPartStatus().

00297                                                       {
00298     log_FUNC_m(UpdatePM);
00299     cmn_MutexLock l(m_partition_x);
00300 
00301     UInt32_t partNum(0);
00302     try {
00303         partNum = GetPartitionNr(a_pmStat.GetPartName());
00304         if (partNum >= m_partitions.size())
00305             throw ivd_InternalError(ie_FATAL_ERROR);
00306 
00307         if (g_cmn.dbg.GetLevel() == dbg_DETAIL) {
00308             m_partitions[partNum].LogCurrentState();
00309         }
00310         m_partitions[partNum].Update(a_pmStat);
00311         if (g_cmn.dbg.GetLevel() == dbg_DETAIL) {
00312             m_partitions[partNum].LogCurrentState();
00313         }
00314 
00315     } catch (ivd_Error& e){
00316         log_DBG_m(dbg_NORM, "partition not found:" << e);
00317         if (g_cmn.dbg.GetLevel() == dbg_DETAIL) {
00318             a_pmStat.LogCurrentState();
00319         }
00320         m_partitions.push_back(a_pmStat);
00321     }
00322 }

Here is the call graph for this function:

Here is the caller graph for this function:

rm_PartitionStatus rm_SysState::GetPartStatus ( string &  a_partName  ) 

Definition at line 377 of file rm_sysstate.cpp.

References GetPartitionNr(), log_FUNC_A_m, m_partition_x, and m_partitions.

Referenced by rm_Queue::Allocate().

00377                                                                {
00378     log_FUNC_A_m(GetPartStatus,":" << a_partName);
00379     cmn_MutexLock l(m_partition_x);
00380     return m_partitions[GetPartitionNr(a_partName)];
00381 }

Here is the call graph for this function:

Here is the caller graph for this function:

bool rm_SysState::ReservePart ( const string &  a_pmName,
ivd_JobType_e  a_type,
Int32_t  a_number 
)

Definition at line 383 of file rm_sysstate.cpp.

References GetPartitionNr(), log_FUNC_A_m, m_partition_x, and m_partitions.

Referenced by ReleasePart(), and Reserve().

00385                                                  {
00386 
00387     log_FUNC_A_m(ReservePart,"a_partName:" << a_partName);
00388     cmn_MutexLock l(m_partition_x);
00389     return m_partitions[GetPartitionNr(a_partName)].Reserve(a_type, a_number);
00390 }

Here is the call graph for this function:

Here is the caller graph for this function:

void rm_SysState::ReleasePart ( const string &  a_pmName,
ivd_JobType_e  a_type,
Int32_t  a_number 
)

Definition at line 392 of file rm_sysstate.cpp.

References GetPartitionNr(), log_FUNC_A_m, m_partition_x, m_partitions, and ReservePart().

Referenced by Release().

00394                                                  {
00395     log_FUNC_A_m(ReservePart,"a_partName:" << a_partName);
00396     cmn_MutexLock l(m_partition_x);
00397     m_partitions[GetPartitionNr(a_partName)].Release(a_type, a_number);
00398 }

Here is the call graph for this function:

Here is the caller graph for this function:

bool rm_SysState::Reserve ( const string &  a_partName,
ivd_JobType_e  a_type,
Int32_t  a_number 
)

Definition at line 113 of file rm_sysstate.cpp.

References log_FUNC_m, ReleaseSys(), ReservePart(), and ReserveSys().

Referenced by rm_Queue::AllocateAdmin(), rm_Queue::AllocateMaint(), rm_Queue::AllocateMig(), rm_Queue::AllocateRec(), rm_Queue::AllocateRecovery(), rm_Queue::AllocateReorg(), Reserve(), and ReserveSys().

00115                                            {
00116     log_FUNC_m(Reserve);
00117     if (ReserveSys(a_type, a_number)) {
00118         if (ReservePart(a_partName, a_type, a_number)) {
00119             return true;
00120         }
00121         else {
00122             ReleaseSys(a_type, a_number);
00123         }
00124     }
00125 
00126     return false;
00127 }

Here is the call graph for this function:

Here is the caller graph for this function:

bool rm_SysState::Reserve ( ivd_JobType_e  a_type,
Int32_t  a_number 
)

Definition at line 129 of file rm_sysstate.cpp.

References log_FUNC_m, Reserve(), and ReserveSys().

00130                                            {
00131     log_FUNC_m(Reserve);
00132     return ReserveSys(a_type, a_number);
00133 }

Here is the call graph for this function:

void rm_SysState::Release ( const string &  a_partName,
ivd_JobType_e  a_type,
Int32_t  a_number 
)

Definition at line 135 of file rm_sysstate.cpp.

References log_FUNC_m, ReleasePart(), and ReleaseSys().

Referenced by rm_Queue::AllocateAdmin(), rm_Queue::AllocateMaint(), rm_Queue::AllocateMig(), rm_Queue::AllocateRecovery(), rm_Queue::AllocateReorg(), Release(), i_ResourceManager_i::ReleaseResource(), and ReleaseSys().

00137                                            {
00138     log_FUNC_m(Release);
00139     ReleaseSys(a_type, a_number);
00140     ReleasePart(a_partName, a_type, a_number);
00141 }

Here is the call graph for this function:

Here is the caller graph for this function:

void rm_SysState::Release ( ivd_JobType_e  a_type,
Int32_t  a_number 
)

Definition at line 143 of file rm_sysstate.cpp.

References log_FUNC_m, Release(), and ReleaseSys().

00144                                            {
00145     log_FUNC_m(Release);
00146     ReleaseSys(a_type, a_number);
00147 }

Here is the call graph for this function:

bool rm_SysState::ReserveSys ( ivd_JobType_e  a_type,
Int32_t  a_number 
)

Definition at line 149 of file rm_sysstate.cpp.

References cmn_Global::dbg, dbg_DETAIL, dbg_NORM, g_cmn, log_Debugger::GetLevel(), ie_NOJOBTYPE, jt_ADMIN, jt_BACKUP, jt_MAINT, jt_MIGRATION, jt_RECALL, jt_RECOVERY, jt_REORG, log_DBG_m, log_FUNC_m, LogCurrentState(), m_drivesInUseAdmin, m_drivesInUseAll, m_drivesInUseMaint, m_drivesInUseMig, m_drivesInUseRecall, m_drivesInUseRecovery, m_maxDrivesAdmin, m_maxDrivesMaint, m_maxDrivesMig, m_maxDrivesRecall, m_maxDrivesRecovery, m_status_x, and Reserve().

Referenced by Reserve().

00149                                                                   {
00150     log_FUNC_m(Reserve);
00151     cmn_MutexLock l(m_status_x);
00152     if (g_cmn.dbg.GetLevel() == dbg_DETAIL) {
00153         LogCurrentState();
00154     }
00155     switch (a_type) {
00156     case (jt_RECALL):      if (m_drivesInUseRecall + a_number <= m_maxDrivesRecall) {
00157                                 m_drivesInUseAll    += a_number;
00158                                 m_drivesInUseRecall += a_number;
00159                                 return true;
00160                             } else {
00161                                 log_DBG_m(dbg_NORM,"Not enough drives for recall Cfg:"<<
00162                                                     m_maxDrivesRecall << " InUse:" << m_drivesInUseRecall);
00163                                 return false;
00164                             };
00165 
00166     case (jt_MIGRATION):   if (m_drivesInUseMig + a_number <= m_maxDrivesMig) {
00167                                 m_drivesInUseAll    += a_number;
00168                                 m_drivesInUseMig    += a_number;
00169                                 return true;
00170                             } else {
00171                                 log_DBG_m(dbg_NORM,"Not enough drives for Mig Cfg:" <<
00172                                                     m_maxDrivesMig << " InUse:" << m_drivesInUseMig );
00173                                 return false;
00174                             };
00175     /*case (jt_REORG):       if (m_drivesInUseReorg + a_number <= m_maxDrivesReorg) {
00176                                 m_drivesInUseAll    += a_number;
00177                                 m_drivesInUseReorg  += a_number;
00178                                 return true;
00179                             } else {
00180                                 log_DBG_m(dbg_NORM,"Not enough drives for Reorg"<<
00181                                                     m_maxDrivesReorg << " InUse:" << m_drivesInUseReorg);
00182                                 return false;
00183                             };*/
00184     case (jt_ADMIN):
00185     case (jt_BACKUP):
00186                             if (m_drivesInUseAdmin + a_number <= m_maxDrivesAdmin) {
00187                                 m_drivesInUseAll    += a_number;
00188                                 m_drivesInUseAdmin  += a_number;
00189                                 return true;
00190                             } else {
00191                                 log_DBG_m(dbg_NORM,"Not enough drives for Admin"<<
00192                                                     m_maxDrivesAdmin << " InUse:" << m_drivesInUseAdmin);
00193                                 return false;
00194                             };
00195     case (jt_RECOVERY):    if (m_drivesInUseRecovery + a_number <= m_maxDrivesRecovery) {
00196                                 m_drivesInUseAll    += a_number;
00197                                 m_drivesInUseRecovery  += a_number;
00198                                 return true;
00199                             } else {
00200                                 log_DBG_m(dbg_NORM,"Not enough drives for Recovery"<<
00201                                                     m_maxDrivesRecovery << " InUse:" << m_drivesInUseRecovery);
00202                                 return false;
00203                             };
00204     case (jt_REORG):
00205     case (jt_MAINT):       if (m_drivesInUseMaint + a_number <= m_maxDrivesMaint) {
00206                                 m_drivesInUseAll    += a_number;
00207                                 m_drivesInUseMaint  += a_number;
00208                                 return true;
00209                             } else {
00210                                 log_DBG_m(dbg_NORM,"Not enough drives for Maint"<<
00211                                                     m_maxDrivesMaint << " InUse:" << m_drivesInUseMaint);
00212                                 return false;
00213                             };
00214 
00215     default:                throw ivd_InternalError (ie_NOJOBTYPE, "Can not reserve drives in SysStae w/o job type", true);
00216     };
00217 
00218 }

Here is the call graph for this function:

Here is the caller graph for this function:

void rm_SysState::ReleaseSys ( ivd_JobType_e  a_type,
Int32_t  a_number 
)

Definition at line 220 of file rm_sysstate.cpp.

References cmn_Global::dbg, dbg_DETAIL, g_cmn, log_Debugger::GetLevel(), ie_NOJOBTYPE, ie_RELEASEERR, ivd_Error, jt_ADMIN, jt_BACKUP, jt_MAINT, jt_MIGRATION, jt_RECALL, jt_RECOVERY, jt_REORG, log_DBG_m, log_FUNC_m, LogCurrentState(), m_drivesInUseAdmin, m_drivesInUseAll, m_drivesInUseMaint, m_drivesInUseMig, m_drivesInUseRecall, m_drivesInUseRecovery, m_status_x, and Release().

Referenced by Release(), and Reserve().

00220                                                                   {
00221     log_FUNC_m(Release);
00222     cmn_MutexLock l(m_status_x);
00223     if (g_cmn.dbg.GetLevel() == dbg_DETAIL) {
00224         LogCurrentState();
00225     }
00226     if ( (m_drivesInUseAll - a_number) < 0) {
00227         throw ivd_Error(ie_RELEASEERR, " SysState:Can not release more drives than allocated",true);
00228     };
00229     switch (a_type) {
00230     case (jt_RECALL):      log_DBG_m(dbg_DETAIL, "SysState:Releasing recall resources");
00231                             if ( (m_drivesInUseRecall - a_number) >= 0) {
00232                                 m_drivesInUseAll    -= a_number;
00233                                 m_drivesInUseRecall -= a_number;
00234                             } else {
00235                                 log_DBG_m(dbg_DETAIL, " SysState:Can not release more drives than allocated");
00236                                 throw ivd_Error(ie_RELEASEERR, " SysState:Can not release more drives than allocated", true);
00237                             }
00238                             break;
00239 
00240     case (jt_MIGRATION):   log_DBG_m(dbg_DETAIL, "SysState:Releasing migration resources");
00241                             if ( (m_drivesInUseMig - a_number) >= 0) {
00242                                 m_drivesInUseAll    -= a_number;
00243                                 m_drivesInUseMig    -= a_number;
00244 
00245                             } else {
00246                                 log_DBG_m(dbg_DETAIL, " SysState:Can not release more drives than allocated");
00247                                 throw ivd_Error(ie_RELEASEERR, " SysState:Can not release more drives than allocated", true);
00248                             }
00249                             break;
00250 
00251 /*    case (jt_REORG):       log_DBG_m(dbg_DETAIL, "SysState:Releasing reorg resources");
00252                             if ( (m_drivesInUseReorg - a_number) >= 0) {
00253                                 m_drivesInUseAll    -= a_number;
00254                                 m_drivesInUseReorg  -= a_number;
00255                             } else {
00256                                 log_DBG_m(dbg_DETAIL, " SysState:Can not release more drives than allocated");
00257                                 throw ivd_Error(ie_RELEASEERR, " SysState:Can not release more drives than allocated", true);
00258                             }
00259                             break;*/
00260 
00261     case (jt_ADMIN):
00262     case (jt_BACKUP):      log_DBG_m(dbg_DETAIL, "SysState:Releasing admin resources");
00263                             if ( (m_drivesInUseAdmin - a_number) >= 0) {
00264                                 m_drivesInUseAll -= a_number;
00265                                 m_drivesInUseAdmin -= a_number;
00266                             } else {
00267                                 log_DBG_m(dbg_DETAIL, " SysState:Can not release more drives than allocated");
00268                                 throw ivd_Error(ie_RELEASEERR, " SysState:Can not release more drives than allocated", true);
00269                             }
00270                             break;
00271     case (jt_RECOVERY):       log_DBG_m(dbg_DETAIL, "SysState:Releasing recovery resources");
00272                             if ( (m_drivesInUseRecovery - a_number) >= 0) {
00273                                 m_drivesInUseAll -= a_number;
00274                                 m_drivesInUseRecovery -= a_number;
00275                             } else {
00276                                 log_DBG_m(dbg_DETAIL, " SysState:Can not release more drives than allocated");
00277                                 throw ivd_Error(ie_RELEASEERR, " SysState:Can not release more drives than allocated", true);
00278                             }
00279                             break;
00280     case (jt_REORG):
00281     case (jt_MAINT):       log_DBG_m(dbg_DETAIL, "SysState:Releasing maint resources");
00282                             if ( (m_drivesInUseMaint - a_number) >= 0) {
00283                                 m_drivesInUseAll -= a_number;
00284                                 m_drivesInUseMaint -= a_number;
00285                             } else {
00286                                 log_DBG_m(dbg_DETAIL, " SysState:Can not release more drives than allocated");
00287                                 throw ivd_Error(ie_RELEASEERR, " SysState:Can not release more drives than allocated", true);
00288                             }
00289                             break;
00290 
00291     default:                throw ivd_InternalError (ie_NOJOBTYPE, "SysState:Can not reserve drives in SysState w/o job type", true);
00292     };
00293 
00294 }

Here is the call graph for this function:

Here is the caller graph for this function:

void rm_SysState::Init ( Int32_t  a_maxDrivesRecall,
Int32_t  a_maxDrivesMig,
Int32_t  a_maxDrivesReorg,
Int32_t  a_maxDrivesAdmin,
Int32_t  a_maxDrivesRecovery,
Int32_t  a_maxDrivesMaint,
Int32_t  a_adminPriority,
Int32_t  a_backupPriority 
)

Definition at line 51 of file rm_sysstate.cpp.

References dbg_DETAIL, log_DBG_m, log_FUNC_m, m_adminPriority, m_backupPriority, m_maxDrivesAdmin, m_maxDrivesMaint, m_maxDrivesMig, m_maxDrivesRecall, m_maxDrivesRecovery, m_maxDrivesReorg, and m_status_x.

Referenced by i_ResourceManager_i::i_ResourceManager_i().

00058                                                 {
00059     log_FUNC_m(Init);
00060     cmn_MutexLock l(m_status_x);
00061     m_maxDrivesRecall   = a_maxDrivesRecall;
00062     m_maxDrivesMig      = a_maxDrivesMig;
00063     m_maxDrivesReorg    = a_maxDrivesAdmin;
00064     m_maxDrivesAdmin    = a_maxDrivesAdmin;
00065     m_maxDrivesRecovery = a_maxDrivesRecovery;
00066     m_maxDrivesMaint    = a_maxDrivesMaint;
00067     m_adminPriority     = a_adminPriority;
00068     m_backupPriority    = a_backupPriority;
00069 
00070     log_DBG_m(dbg_DETAIL,"Initializing SysState "   << m_maxDrivesRecall << " "
00071                                                     << m_maxDrivesMig << " "
00072                                                     << m_maxDrivesReorg << " "
00073                                                     << m_maxDrivesAdmin << " "
00074                                                     << m_maxDrivesRecovery << " "
00075                                                     << m_maxDrivesMaint );
00076 
00077 }

Here is the caller graph for this function:

Int32_t rm_SysState::GetDrivesInUseAll (  )  [inline]

Definition at line 217 of file rm.h.

References m_drivesInUseAll.

00217 { return m_drivesInUseAll;      };

Int32_t rm_SysState::GetDrivesInUseRecall (  )  [inline]

Definition at line 218 of file rm.h.

References m_drivesInUseRecall.

00218 { return m_drivesInUseRecall;   };

Int32_t rm_SysState::GetDrivesInUseMig (  )  [inline]

Definition at line 219 of file rm.h.

References m_drivesInUseMig.

00219 { return m_drivesInUseMig;      };

Int32_t rm_SysState::GetDrivesInUseReorg (  )  [inline]

Definition at line 220 of file rm.h.

References m_drivesInUseReorg.

00220 { return m_drivesInUseReorg;    };

Int32_t rm_SysState::GetDrivesInUseAdmin (  )  [inline]

Definition at line 221 of file rm.h.

References m_drivesInUseAdmin.

00221 { return m_drivesInUseAdmin;    };

Int32_t rm_SysState::GetDrivesInUseRecovery (  )  [inline]

Definition at line 222 of file rm.h.

References m_drivesInUseRecovery.

00222 { return m_drivesInUseRecovery;    };

Int32_t rm_SysState::GetDrivesInUseMaint (  )  [inline]

Definition at line 223 of file rm.h.

References m_drivesInUseMaint.

00223 { return m_drivesInUseMaint;    };

Int32_t rm_SysState::GetMaxDrivesRecall (  )  [inline]

Definition at line 225 of file rm.h.

References m_maxDrivesRecall.

00225 { return m_maxDrivesRecall;     };

Int32_t rm_SysState::GetMaxDrivesMig (  )  [inline]

Definition at line 226 of file rm.h.

References m_maxDrivesMig.

00226 { return m_maxDrivesMig;        };

Int32_t rm_SysState::GetMaxDrivesReorg (  )  [inline]

Definition at line 227 of file rm.h.

References m_maxDrivesReorg.

00227 { return m_maxDrivesReorg;      };

Int32_t rm_SysState::GetMaxDrivesAdmin (  )  [inline]

Definition at line 228 of file rm.h.

References m_maxDrivesAdmin.

00228 { return m_maxDrivesAdmin;      };

Int32_t rm_SysState::GetMaxDrivesRecovery (  )  [inline]

Definition at line 229 of file rm.h.

References m_maxDrivesRecovery.

00229 { return m_maxDrivesRecovery;   };

Int32_t rm_SysState::GetMaxDrivesMaint (  )  [inline]

Definition at line 230 of file rm.h.

References m_maxDrivesMaint.

00230 { return m_maxDrivesMaint;   };

Int32_t rm_SysState::GetAdminPriority (  )  const [inline]

Definition at line 232 of file rm.h.

References m_adminPriority.

Referenced by rm_Queue::CalcPriority(), i_ResourceManager_i::ExchangeResources(), and i_ResourceManager_i::GetResources().

00232 { return m_adminPriority;       };

Here is the caller graph for this function:

Int32_t rm_SysState::GetBackupPriority (  )  const [inline]

Definition at line 233 of file rm.h.

References m_backupPriority.

Referenced by rm_Queue::CalcPriority(), i_ResourceManager_i::ExchangeResources(), and i_ResourceManager_i::GetResources().

00233 { return m_backupPriority;       };

Here is the caller graph for this function:

UInt32_t rm_SysState::GetPartitionNr ( const string &  a_partId  )  const

Definition at line 362 of file rm_sysstate.cpp.

References dbg_DETAIL, dbg_NORM, ie_PARTSTATNF, ivd_Error, log_DBG_m, log_FUNC_A_m, and m_partitions.

Referenced by GetMaintPriority(), GetMigrationPriority(), GetNewMigID(), GetPartitionPriority(), GetPartStatus(), GetRecallPriority(), GetRecoveryPriority(), GetReorgPriority(), ReleasePart(), ReservePart(), and UpdatePM().

00362                                                                    {
00363     log_FUNC_A_m(GetPartitionNr,":" << a_partName);
00364 
00365     for (UInt32_t i = 0; i < m_partitions.size(); i++ ){
00366         if (a_partName.compare(m_partitions[i].GetPartName()) == 0) {
00367             log_DBG_m(dbg_DETAIL,"Found Partition in activ partition list");
00368             return i;
00369         }
00370     }
00371     ostringstream msg;
00372     msg << "Did not found Partition in activ partition list" << a_partName;
00373     log_DBG_m(dbg_NORM, msg.str());
00374     throw ivd_Error(ie_PARTSTATNF, msg.str());
00375 }

Here is the caller graph for this function:

void rm_SysState::LogCurrentState (  ) 

Definition at line 79 of file rm_sysstate.cpp.

References dbg_DETAIL, log_DBG_m, log_FUNC_m, m_drivesInUseAdmin, m_drivesInUseAll, m_drivesInUseMaint, m_drivesInUseMig, m_drivesInUseRecall, m_drivesInUseRecovery, m_drivesInUseReorg, m_maxDrivesAdmin, m_maxDrivesMaint, m_maxDrivesMig, m_maxDrivesRecall, m_maxDrivesRecovery, and m_maxDrivesReorg.

Referenced by ReleaseSys(), and ReserveSys().

00079                                  {
00080     log_FUNC_m(LogCurrentState);
00081     log_DBG_m(dbg_DETAIL,   "DrivesInUseAll      " <<
00082                             "DrivesInUseRecall   " <<
00083                             "DrivesInUseMig      " <<
00084                             "DrivesInUseReorg    " <<
00085                             "DrivesInUseAdmin    " <<
00086                             "DrivesInUseRecovery " <<
00087                             "DrivesInUseMaint    ");
00088 
00089 
00090     log_DBG_m(dbg_DETAIL, m_drivesInUseAll
00091                           << "                   " << m_drivesInUseRecall
00092                           << "                   " << m_drivesInUseMig
00093                           << "                   " << m_drivesInUseReorg
00094                           << "                   " << m_drivesInUseAdmin
00095                           << "                   " << m_drivesInUseRecovery
00096                           << "                   " << m_drivesInUseMaint);
00097 
00098     log_DBG_m(dbg_DETAIL,   "MaxDrivesRecall   "  <<
00099                             "MaxDrivesMig      "  <<
00100                             "MaxDrivesReorg    "  <<
00101                             "MaxDrivesAdmin    "  <<
00102                             "MaxDrivesRecovery "  <<
00103                             "MaxDrivesMaint    "  );
00104 
00105     log_DBG_m(dbg_DETAIL,   m_maxDrivesRecall
00106                             << "                  " << m_maxDrivesMig
00107                             << "                  " << m_maxDrivesReorg
00108                             << "                  " << m_maxDrivesAdmin
00109                             << "                  " << m_maxDrivesRecovery
00110                             << "                  " << m_maxDrivesMaint);
00111 }

Here is the caller graph for this function:

i_MigID_t rm_SysState::GetNewMigID ( const string  a_partName  ) 

Definition at line 401 of file rm_sysstate.cpp.

References rm_DBOperation::Execute(), GetPartitionNr(), i_ResourceManager_i::m_DBThread, rm_PartitionStatus::m_iRMi, rm_PartitionStatus::m_part, m_partition_x, and m_partitions.

Referenced by i_ResourceManager_i::GetNewMigId().

00401                                                          {
00402 
00403     Int64_t newId;
00404     cmn_MutexLock l(m_partition_x);
00405     rm_PartitionStatus &ps = m_partitions[GetPartitionNr(a_partName)];
00406 
00407     dbo_GetNewMigId migId(  ps.m_part,
00408                             newId,
00409                             *(ps.m_iRMi->m_DBThread));
00410     migId.Execute();
00411     return newId;
00412 }

Here is the call graph for this function:

Here is the caller graph for this function:

Int32_t rm_SysState::GetRecallPriority ( string  a_partName  )  const

Definition at line 415 of file rm_sysstate.cpp.

References GetPartitionNr(), log_FUNC_m, and m_partitions.

Referenced by rm_Queue::CalcPriority().

00415                                                               {
00416     log_FUNC_m(GetRecallPriority);
00417     return m_partitions[GetPartitionNr(a_partName)].GetRecallPriority();
00418 }

Here is the call graph for this function:

Here is the caller graph for this function:

Int32_t rm_SysState::GetMigrationPriority ( string  a_partName  )  const

Definition at line 420 of file rm_sysstate.cpp.

References GetPartitionNr(), log_FUNC_m, and m_partitions.

Referenced by rm_Queue::CalcPriority().

00420                                                                  {
00421     log_FUNC_m(GetMigrationPriority);
00422     return m_partitions[GetPartitionNr(a_partName)].GetMigrationPriority();
00423 }

Here is the call graph for this function:

Here is the caller graph for this function:

Int32_t rm_SysState::GetReorgPriority ( string  a_partName  )  const

Definition at line 425 of file rm_sysstate.cpp.

References GetPartitionNr(), log_FUNC_m, and m_partitions.

00425                                                              {
00426     log_FUNC_m(GetReorgPriority);
00427     return m_partitions[GetPartitionNr(a_partName)].GetReorgPriority();
00428 }

Here is the call graph for this function:

Int32_t rm_SysState::GetRecoveryPriority ( string  a_partName  )  const

Definition at line 430 of file rm_sysstate.cpp.

References GetPartitionNr(), log_FUNC_m, and m_partitions.

Referenced by rm_Queue::CalcPriority().

00430                                                                 {
00431     log_FUNC_m(GetRecoveryPriority);
00432     return m_partitions[GetPartitionNr(a_partName)].GetRecoveryPriority();
00433 }

Here is the call graph for this function:

Here is the caller graph for this function:

Int32_t rm_SysState::GetMaintPriority ( string  a_partName  )  const

Definition at line 435 of file rm_sysstate.cpp.

References GetPartitionNr(), log_FUNC_m, and m_partitions.

Referenced by rm_Queue::CalcPriority().

00435                                                              {
00436     log_FUNC_m(GetMaintPriority);
00437     return m_partitions[GetPartitionNr(a_partName)].GetMaintPriority();
00438 }

Here is the call graph for this function:

Here is the caller graph for this function:

Int32_t rm_SysState::GetPartitionPriority ( string  a_partName  )  const

Definition at line 440 of file rm_sysstate.cpp.

References GetPartitionNr(), log_FUNC_m, and m_partitions.

Referenced by rm_Queue::CalcPriority().

00440                                                                  {
00441     log_FUNC_m(GetPartitionPriority);
00442     return m_partitions[GetPartitionNr(a_partName)].GetPartitionPriority();
00443 }

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

Definition at line 172 of file rm.h.

Referenced by GetNewMigID(), GetPartStatus(), ReleasePart(), ReservePart(), UnRegisterPM(), and UpdatePM().

Definition at line 176 of file rm.h.

Referenced by Init(), ReleaseSys(), and ReserveSys().

Definition at line 249 of file rm.h.

Referenced by GetDrivesInUseAll(), LogCurrentState(), ReleaseSys(), and ReserveSys().

Definition at line 250 of file rm.h.

Referenced by GetDrivesInUseRecall(), LogCurrentState(), ReleaseSys(), and ReserveSys().

Definition at line 251 of file rm.h.

Referenced by GetDrivesInUseMig(), LogCurrentState(), ReleaseSys(), and ReserveSys().

Definition at line 252 of file rm.h.

Referenced by GetDrivesInUseReorg(), and LogCurrentState().

Definition at line 253 of file rm.h.

Referenced by GetDrivesInUseAdmin(), LogCurrentState(), ReleaseSys(), and ReserveSys().

Definition at line 254 of file rm.h.

Referenced by GetDrivesInUseRecovery(), LogCurrentState(), ReleaseSys(), and ReserveSys().

Definition at line 255 of file rm.h.

Referenced by GetDrivesInUseMaint(), LogCurrentState(), ReleaseSys(), and ReserveSys().

Definition at line 258 of file rm.h.

Referenced by GetMaxDrivesRecall(), Init(), LogCurrentState(), and ReserveSys().

Definition at line 259 of file rm.h.

Referenced by GetMaxDrivesMig(), Init(), LogCurrentState(), and ReserveSys().

Definition at line 260 of file rm.h.

Referenced by GetMaxDrivesReorg(), Init(), and LogCurrentState().

Definition at line 261 of file rm.h.

Referenced by GetMaxDrivesAdmin(), Init(), LogCurrentState(), and ReserveSys().

Definition at line 262 of file rm.h.

Referenced by GetMaxDrivesRecovery(), Init(), LogCurrentState(), and ReserveSys().

Definition at line 263 of file rm.h.

Referenced by GetMaxDrivesMaint(), Init(), LogCurrentState(), and ReserveSys().

Definition at line 265 of file rm.h.

Referenced by GetAdminPriority(), and Init().

Definition at line 266 of file rm.h.

Referenced by GetBackupPriority(), and Init().

Definition at line 268 of file rm.h.


The documentation for this class was generated from the following files:

Generated on Mon Feb 27 19:49:30 2012 for OPENARCHIVE by  doxygen 1.5.6