Public Member Functions | Public Attributes

i_ResourceManager_i Class Reference
[Resource Manager]

#include <i_rm_impl.h>

Inheritance diagram for i_ResourceManager_i:
Inheritance graph
[legend]
Collaboration diagram for i_ResourceManager_i:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 i_ResourceManager_i ()
virtual ~i_ResourceManager_i ()
void GetResources (i_Job_ptr a_job, const i_JobParams &a_jobParams, const i_ResourceList_t &a_resources)
void ExchangeResources (i_Job_ptr a_job, const i_JobParams &a_jobParams, const i_ResourceList_t &a_resources)
i_Index_t GetBestCopy (const i_CopiesPos_v_t &a_mediaTable)
i_DriveHost_tGetHost (i_DBKey_t a_driveKey)
i_MigID_t GetNewMigId (const char *a_partName)
i_MediaInfoSeq_tGetMediaInfo (const char *a_partName)
void GetRecallResources (i_Job_ptr a_job, const i_JobParams &a_jobParams, const i_Resource_t &a_resources)
void ExchangeRecallResources (i_Job_ptr a_job, const i_JobParams &a_jobParams, const i_Resource_t &a_relResources, const i_Resource_t &a_getResources)
void ReleaseResource (const i_JobParams &a_jobParams, const i_ResourceList_t &a_resources)
void CancelGetResource (i_JobID_t a_jobId)
void UseNewResource ()
i_FileSize_t GetMaxDiskBufferSize (const char *a_partName)
char * ReserveDiskBuffer (i_JobID_t a_jobID, i_FileSize_t a_minJobSize, i_FileSize_t a_maxJobSize, i_FileSize_t &a_allocatedJobSize, i_JobType_t a_jobType)
void ReleaseDiskBuffer (i_JobID_t a_jobID)
void MediumLoaded (const char *a_libName, const char *a_medBarcode, const char *a_driveAddr)
void MediumUnLoaded (const char *a_libName, const char *a_medBarcode, const char *a_slotAddr, i_Type_t a_slotType)
void VolumeFull (const char *a_medVolId)
void VolumeEmpty (const char *a_medVolId)
void VolumeUsage (const char *a_medVolId, CORBA::Long a_percentage, i_VolSize_t a_totalData)
void VolumeError (const char *a_medVolId)
void MediumUnreliable (i_DBKey_t a_mediaKey)
void MediumUnusable (i_DBKey_t a_mediaKey)
void MediumStatusSet (const char *a_barcode, i_Status_t a_status)
void MediumStatusClear (const char *a_barcode, i_Status_t a_status)
void DriveStatusSet (const char *a_drvName, i_Status_t a_status)
void DriveStatusClear (const char *a_drvName, i_Status_t a_status)
void DriveError (i_DBKey_t a_driveKey)
void MedVolStatusSet (const char *a_medVoId, i_Status_t a_status)
void MedVolStatusClear (const char *a_medVoId, i_Status_t a_status)
void VolumeListStatusSet (CORBA::ULong a_medKey, const i_ULongList_t &a_volumes, CORBA::ULong a_status)
void EmergencyInventory (i_Time_t a_resAssignTime)
void InventoryUpdate (const char *a_libName, const i_UpdateList_t &a_elemStatus)
void LibraryStatusSet (const char *a_libName, i_Status_t a_status)
void LibraryStatusClear (const char *a_libName, i_Status_t a_status)
char * AddPartition (const i_Partition_t &a_part)
void RemovePartition (const char *a_partName)
void UpdatePartition (const char *a_partName)
i_Partition_tSelectPartition (const char *a_partName)
i_Partition_tSelectPartitionByUUID (const char *a_partUuid)
void DisablePartition (const char *a_partName)
void EnablePartition (const char *a_partName)
i_PartSeq_tSelectAllPartition ()
char * RegisterPartition (const char *a_partName)
void UnRegisterPartition (const char *a_partName)
void SetPartitionStatus (i_BitFlag_t a_flag, const char *a_partName)
void ClearPartitionStatus (i_BitFlag_t a_flag, const char *a_partName)
i_JobID_t GetNewJobID ()
void AddColMediaVol (const i_ColMediaVol_t &a_colMediaVol, CORBA::ULong a_flags)
void AddMajorCol (const i_MajorCol_t &a_majorCol)
void AddLibrary (i_Library_t &a_library)
void AddDrive (i_Drive_t &a_drive)
void AddDriveHost (i_DriveHost_t &a_driveHost)
void AddDiskSubsys (i_DiskSubsys_t &a_dss)
void AddSlot (i_Slot_t &a_slot)
void AddMediaPool (i_MediaPool_t &a_mediaPool)
void AddMedium (i_Medium_t &a_medium)
void AddMediumVol (i_MediumVol_t &a_mediumVol)
void RemoveLibrary (const char *a_libraryName)
void RemoveDrive (const char *a_driveName)
void RemoveDriveHost (const char *a_driveName, const char *a_host)
void RemoveDSS (const char *a_dssName)
void RemoveSlot (const char *a_slotAddr, const char *a_libraryName, i_Type_t a_slotType)
void RemoveMediaPool (const char *a_mediaPoolName)
void RemoveMedium (const char *a_mediumBarcode)
void RemoveMediumVol (const char *a_mediumBarcode, i_Index_t a_mediaVolNr)
void RemoveColIDs (const char *a_partUUID)
void UpdateLibrary (const i_Library_t &a_library)
void UpdateDrive (const i_Drive_t &a_drive)
void UpdateDriveHost (const i_DriveHost_t &a_driveHost)
void UpdateDiskSubsys (const i_DiskSubsys_t &a_dss)
void UpdateSlot (const i_Slot_t &a_slot)
void UpdateMediaPool (const i_MediaPool_t &a_mediaPool)
void UpdateMedium (const i_Medium_t &a_medium)
void UpdateMediumVol (const i_MediumVol_t &a_mediumVol)
void UpdateMajorCol (const i_MajorCol_t &a_majorCol)
void UpdateDataSize (i_DBKey_t a_mediumKey, i_DBKey_t a_medvolNum, i_VolSize_t a_totalSize, i_VolSize_t a_reorgSize)
i_Library_tSelectLibrary (const char *a_libraryName)
i_LibrarySeq_tSelectAllLibraries ()
i_Drive_tSelectDrive (const char *a_driveName)
i_Drive_tSelectDriveByKey (i_DBKey_t a_driveKey)
i_DriveSeq_tSelectAllDrives ()
i_DriveHost_tSelectDriveHost (const char *a_driveName, const char *a_host)
i_DriveHostSeq_tSelectAllDriveHosts ()
i_DiskSubsys_tSelectDSS (const char *a_dssName)
i_DssSeq_tSelectAllDSS ()
i_Slot_tSelectSlot (const char *a_slotAddr, const char *a_libraryName, i_Type_t a_slotType)
i_SlotSeq_tSelectAllSlots ()
i_MajorColSeq_tSelectAllMajorCol ()
i_MinorColSeq_tSelectAllMinorColByMajCol (i_ColID_t a_majColId)
i_MediaPool_tSelectMediaPool (const char *a_mediaPoolName)
i_MediaPool_tSelectMediaPoolbyUUID (const char *a_mediaPoolUUID)
i_MediaPoolSeq_tSelectAllMediaPools ()
i_Medium_tSelectMedium (const char *a_mediumBarcode)
i_Medium_tSelectMediumByKey (i_DBKey_t a_mediumKey)
i_Medium_tSelectMediumByDrive (const char *a_driveName)
i_MediumSeq_tSelectAllMedia ()
i_MediumVol_tSelectMediumVol (const char *a_mediumBarcode, i_Index_t a_mediumVolNr)
i_MediumVol_tSelectMediumVolByKey (i_DBKey_t a_mediumKey, i_Index_t a_mediumVolNr)
i_MediumVol_tSelectMediumVolByUUID (const char *a_medVolUUID)
i_MediumVolSeq_tSelectAllMediumVol ()
i_ColMediaVolSeq_tSelectAllColVolumes ()
i_MinorColSeq_tSelectAllMinorCol ()
i_MediumVolSeq_tSelectAllMediumVolByBarcode (const char *a_mediumBarcode)
i_MediumSeqByVol_tSelectAllMediumVolByPart (const char *a_partName)
i_MediumSeq_tSelectAllMediaByPart (const char *a_partName)
CORBA::Boolean IsSomeVolumeUsed (const char *a_partName)
i_MediumSeqByVol_tSelectAllUnrecoveredMedVol (const char *a_partName)
i_MinorCol_t SelectMinorCol (i_ColID_t a_minColId)
void AddMinorCol (const i_MinorCol_t &a_minorCol)
void SetRecoveryFlag (const char *a_medVolId)
void ClearRecoveryFlag (const char *a_medVolId)
i_JobParamsSeq_tGetAllJobs ()
i_JobParamsSeq_tGetJob (i_JobID_t a_jobID)
i_ResourceList_tGetJobResources (i_JobID_t a_jobID)
void StartLA (const char *a_libName)
void StopLA (const char *a_libName)
void ReconfigureLibrary (const char *a_libName)
void SetPriorityModifier (i_JobID_t a_jobID, CORBA::Long a_modifier)
void SetPhase (i_JobID_t a_jobID, i_Index_t a_phase)
i_PoolInfoSeq_tPoolInfo (const char *a_partName)
void SetReorgScan (const char *a_partName)
void ClearReorgScan (const char *a_partName)
i_Status_t Suspend ()
 i_ResourceManager_i::Suspend() : Implements suspend database operation interface.
i_Status_t Resume ()
 i_ResourceManager_i::Resume() : Implements resume database operation interface.
void Remove ()
void ReleaseRecallResources (const i_Resource_t &a_resources)
void StartAllLA ()
void StopAllLA ()
void ExecStartLA (string a_libName, string a_host, ivd_LibraryType_e a_lType)
void ExecStopLA (string a_libName, string a_host)
void ParsePMConfig (cfg_PMCfg &a_cfgFile, const char *a_partName)
void SetRMPartStatus (cfg_PMCfg &a_pmCfg)

Public Attributes

rm_Queue m_queue
rm_JobIdGen m_jobIdGen
rm_DBThreadm_DBThread
bool m_started
cmn_Mutex m_diskBuf_x
rm_DiskBufAllocator m_diskBufAllocator
 log_CLASSID_m

Detailed Description

Definition at line 40 of file i_rm_impl.h.


Constructor & Destructor Documentation

i_ResourceManager_i::i_ResourceManager_i (  ) 

Definition at line 56 of file i_rm_impl.cpp.

References CFG_LINK_LATEST, ivd_Directories::cfgSys, cmn_CleanDir(), dbg_LOW, cfg_Server::dbpassword, cfg_Server::dbusername, cmn_Global::dirs, rm_DiskBufAllocator::DumpState(), rm_DBOperation::Execute(), g_cmn, rm_SysState::Init(), rm_Queue::Init(), ipc_EXEC_m, iRM, log_DBG_m, log_ERR_m, log_FUNC_m, m_DBThread, m_diskBufAllocator, m_jobIdGen, m_queue, m_started, rm_Queue::m_SysState, pf_File::Parse(), cfg_Server::phaseFactor, ipc_Corba::RegisterRM(), cfg_Server::resourceAllocationThreshold, cmn_Thread::Start(), StartAllLA(), cfg_Server::systemAdminPriority, cfg_Server::systemBackupPriority, cfg_Server::systemMaxNumDrivesAdmin, cfg_Server::systemMaxNumDrivesMaint, cfg_Server::systemMaxNumDrivesMigration, cfg_Server::systemMaxNumDrivesRecall, cfg_Server::systemMaxNumDrivesRecovery, cfg_Server::timeStep, and ivd_Directories::tmp.

                                         :
            m_started(true){

    log_FUNC_m(i_ResourceManager_i);
    // add extra constructor code here
    // init DB
    // m_database.Connect();

    pf_File serverCfg;

    try {
        cmn_Path cfgFile;
        cfgFile = g_cmn.dirs.cfgSys + string(CFG_LINK_LATEST);
        serverCfg.Parse(cfgFile);
     } catch (ivd_Exception &e) {
        log_ERR_m(e);
        m_started = false;
        return;
    }

    cfg_Server ivdServer(serverCfg);

    try {
        rm_String username(50);
        rm_String password(50);
        username = ivdServer.dbusername;
        password = ivdServer.dbpassword;
        m_DBThread = new rm_DBThread(username, password);
        m_DBThread->Start();
    } catch (ivd_Exception &e) {
        log_ERR_m(e);
        m_started = false;
        return;
    }

    try {
        dbo_InitAllResource initAll(*m_DBThread);
        initAll.Execute();
    } catch (ivd_Exception& e) {
        // if (e.GetError() != 100) throw;
        // ignore all
        log_DBG_m(dbg_LOW, e);

    }

    StartAllLA();

    // init Queue
    m_queue.Init(
        this,
        ivdServer.resourceAllocationThreshold,
        ivdServer.timeStep,
        ivdServer.phaseFactor
        );
    log_DBG_m(dbg_LOW,  "ivdServer.resourceAllocationThreshold"
                        << ivdServer.resourceAllocationThreshold << endl
                        << "ivdServer.timeStep"
                        << ivdServer.timeStep << endl
                        << "ivdServer.phaseFactor"
                        << ivdServer.phaseFactor << endl);


    // init SysState
    m_queue.m_SysState.Init(
        ivdServer.systemMaxNumDrivesRecall,
        ivdServer.systemMaxNumDrivesMigration,
        ivdServer.systemMaxNumDrivesAdmin,
        ivdServer.systemMaxNumDrivesAdmin,
        ivdServer.systemMaxNumDrivesRecovery,
        ivdServer.systemMaxNumDrivesMaint,
        ivdServer.systemAdminPriority,
        ivdServer.systemBackupPriority );

    dbo_InitJobIdGen jobIdGen(m_jobIdGen, *m_DBThread);
    jobIdGen.Execute();

    ipc_EXEC_m(
        log_DBG_m(dbg_LOW, "Registering RM to NamingService.")
        i_ResourceManager_var iRM = this->_this();

        ipc_Corba::RegisterRM(iRM);
    );


    try {
        log_DBG_m(dbg_LOW, "Cleaning tmp/fri directory.");
        cmn_CleanDir(g_cmn.dirs.tmp + string("fri"));
    }
    catch (...) {
    }
    log_DBG_m(dbg_LOW, m_diskBufAllocator.DumpState());
}

Here is the call graph for this function:

i_ResourceManager_i::~i_ResourceManager_i (  )  [virtual]

Definition at line 150 of file i_rm_impl.cpp.

References cmn_Condition::Broadcast(), dbg_DETAIL, log_DBG_m, log_FUNC_m, m_DBThread, rm_DBThread::m_reqInput_c, rm_DBThread::m_shutdown, NULL, and ipc_Corba::Shutdown().

                                          {
    log_FUNC_m(~i_ResourceManager_i);

    if (m_DBThread != NULL) {
        log_DBG_m(dbg_DETAIL, "Shutting down database thread.");
        m_DBThread->m_shutdown = true;
        m_DBThread->m_reqInput_c.Broadcast();
    };

    // wait for Database Thread to Finish
    // NO GOOOOOD while (m_DBThread->m_active) ivd_Sleep(1);

    ipc_Corba::Shutdown();
}

Here is the call graph for this function:


Member Function Documentation

void i_ResourceManager_i::AddColMediaVol ( const i_ColMediaVol_t a_colMediaVol,
CORBA::ULong  a_flags 
)

Definition at line 820 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_A_m, m_DBThread, i_ColMediaVol_t::mediaKey, i_ColMediaVol_t::medVolNr, and i_ColMediaVol_t::minColId.

                                                                                                 {
    log_FUNC_A_m(AddColMediaVol, "minColId: " << a_colMediaVol.minColId
                           << " medium key: " << a_colMediaVol.mediaKey
                           << " volume: " << a_colMediaVol.medVolNr
                           << " flags: " << a_flags);
    try {
        dbo_CheckAndAddColMediaVol mc(a_colMediaVol, a_flags, *m_DBThread);
        mc.Execute();
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::AddDiskSubsys ( i_DiskSubsys_t a_dss  ) 

Definition at line 1269 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, ipc_Log::LogDSS(), and m_DBThread.

                                                             {
    log_FUNC_m(AddDiskSubsys);
    try {
        log_DBG_m(dbg_LOW,"Adding DiskSubSystem" << endl << ipc_Log::LogDSS(a_dss));

        dbo_AddDiskSubsys dss(a_dss, *m_DBThread);
        dss.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::AddDrive ( i_Drive_t a_drive  ) 

Definition at line 1220 of file i_rm_impl.cpp.

References dbg_DETAIL, dbg_LOW, rm_DBOperation::Execute(), ipc_EXEC_m, i_Drive_t::libraryName, log_DBG_m, log_ERR_m, log_FUNC_m, ipc_Log::LogDrive(), m_DBThread, and ipc_Corba::ResolveLA().

                                                     {
    log_FUNC_m(AddDrive);

    try {
        log_DBG_m(dbg_LOW,"Adding Drive" << endl << ipc_Log::LogDrive(a_drive));

        dbo_AddDrive drv(a_drive, *m_DBThread);
        drv.Execute();

        // call LA for this drive for Inventory
        string libName(a_drive.libraryName);
        if ( libName.size() != 0 ) {
            i_Library_t_var iL(new i_Library_t);
            dbo_SelectLibrary sl(libName, iL, *m_DBThread);
            sl.Execute();

            try {
                string lHost(iL->host);

                ipc_EXEC_m (
                    CORBA::Object_var obj = ipc_Corba::ResolveLA(lHost, libName, false);
                    i_LibraryAgent_var la = i_LibraryAgent::_narrow(obj);

                    log_DBG_m(dbg_DETAIL,"Calling Inventory on LA:" << libName);

                    la->Inventory(false);
                );
            }
            catch (ivd_Error ) {
                log_ERR_m("Could not start Inventory on LA:" << libName);
            }
        }

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::AddDriveHost ( i_DriveHost_t a_driveHost  ) 

Definition at line 1257 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, ipc_Log::LogDriveHost(), and m_DBThread.

                                                                 {
    log_FUNC_m(AddDriveHost);
    try {
        log_DBG_m(dbg_LOW,"Adding DriveHost" << endl << ipc_Log::LogDriveHost(a_driveHost));

        dbo_AddDriveHost dh(a_driveHost, *m_DBThread);
        dh.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::AddLibrary ( i_Library_t a_library  ) 

Definition at line 1207 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, ipc_Log::LogLibrary(), and m_DBThread.

                                                           {
    log_FUNC_m(AddLibrary);

    try {
        log_DBG_m(dbg_LOW,"Adding Library" << endl << ipc_Log::LogLibrary(a_library));

        dbo_AddLibrary lib(a_library, *m_DBThread);
        lib.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::AddMajorCol ( const i_MajorCol_t a_majorCol  ) 

Definition at line 831 of file i_rm_impl.cpp.

References cmn_Num2Str(), rm_DBOperation::Execute(), i_MajorCol_t::flags, log_FUNC_A_m, log_WriteEvent(), m_DBThread, i_MajorCol_t::majColId, i_MajorCol_t::majColSize, and i_MajorCol_t::partUUID.

                                                                    {
    log_FUNC_A_m(AddMajorCol, "majColId: " << a_majorCol.majColId
                           << " size: " << a_majorCol.majColSize
                           << " partUUID: " << a_majorCol.partUUID
                           << " flags: " << a_majorCol.flags);
    try {
        dbo_AddMajorCol mc(a_majorCol, *m_DBThread);
        mc.Execute();
        ostringstream sstr;
        sstr << "Collocation group added. Max size: " << a_majorCol.majColSize << "MB.";
        log_WriteEvent(sstr.str(), "", 0, cmn_Num2Str(a_majorCol.majColId));
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::AddMediaPool ( i_MediaPool_t a_mediaPool  ) 

Definition at line 1293 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, ipc_Log::LogMediaPool(), and m_DBThread.

                                                                 {
    log_FUNC_m(AddMediaPool);
    try {
        log_DBG_m(dbg_LOW,"Adding MediaPool" << endl << ipc_Log::LogMediaPool(a_mediaPool));

        dbo_AddMediaPool mp(a_mediaPool, *m_DBThread);
        mp.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::AddMedium ( i_Medium_t a_medium  ) 

Definition at line 1305 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, ipc_Log::LogMedium(), and m_DBThread.

                                                        {
    log_FUNC_m(AddMedium);
    try {
        log_DBG_m(dbg_LOW,"Adding Medium" << endl << ipc_Log::LogMedium(a_medium));

        dbo_AddMedium medium(a_medium, *m_DBThread);
        medium.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::AddMediumVol ( i_MediumVol_t a_mediumVol  ) 

Definition at line 1317 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, ipc_Log::LogMediumVol(), and m_DBThread.

                                                                 {
    log_FUNC_m(AddMediumVol);
    try {
        log_DBG_m(dbg_LOW,"Adding MediumVolume" << endl << ipc_Log::LogMediumVol(a_mediumVol));

        dbo_AddMediumVol mv(a_mediumVol, *m_DBThread);
        mv.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::AddMinorCol ( const i_MinorCol_t a_minorCol  ) 

Definition at line 856 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), i_MinorCol_t::flags, log_FUNC_A_m, m_DBThread, i_MinorCol_t::majColId, and i_MinorCol_t::minColId.

                                                                    {
    log_FUNC_A_m(AddMinorCol, "minColId: " << a_minorCol.minColId <<
                              ", majColId: " << a_minorCol.majColId <<
                              " flags: " << a_minorCol.flags);
    try {
        dbo_AddMinorCol mc(a_minorCol, *m_DBThread);
        mc.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

char * i_ResourceManager_i::AddPartition ( const i_Partition_t a_part  ) 
void i_ResourceManager_i::AddSlot ( i_Slot_t a_slot  ) 

Definition at line 1281 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, ipc_Log::LogSlot(), and m_DBThread.

                                                  {
    log_FUNC_m(AddSlot);
    try {
        log_DBG_m(dbg_LOW,"Adding Slot" << endl << ipc_Log::LogSlot(a_slot));

        dbo_AddSlot slot(a_slot, *m_DBThread);
        slot.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::CancelGetResource ( i_JobID_t  a_jobId  ) 

Definition at line 500 of file i_rm_impl.cpp.

References rm_Queue::Activate(), log_FUNC_m, m_queue, and rm_Queue::Remove().

                                                             {
    log_FUNC_m(CancelGetResource);

    try {
        m_queue.Remove(a_jobId);
        m_queue.Activate();
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::ClearPartitionStatus ( i_BitFlag_t  a_flag,
const char *  a_partName 
)

Definition at line 1007 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, m_DBThread, and rmdb_MAX_PARTITIONNAME.

                                                                       {
    log_FUNC_m(ClearPartitionStatus);
    try {
        rm_String partName(rmdb_MAX_PARTITIONNAME);
        partName = a_partName;
        UInt32_t flag(a_flag);
        dbo_ClearPartitionStatus part(flag, partName, *m_DBThread);
        part.Execute();
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::ClearRecoveryFlag ( const char *  a_medVolId  ) 

Definition at line 2049 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, and m_DBThread.

                                                                  {

    log_FUNC_m(ClearRecoveryFlag);
    try {
        string medVolId(a_medVolId);
        dbo_ClearRecoveryFlag mv(medVolId, *m_DBThread);
        mv.Execute();
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::ClearReorgScan ( const char *  a_partName  ) 

Definition at line 2392 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                               {
    log_FUNC_m(ClearReorgScan);
    try {
        log_DBG_m(dbg_LOW,"a_partName " << a_partName);
        string partName(a_partName);

        dbo_ClearReorgScan srs(partName, *m_DBThread);
        srs.Execute();


    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::DisablePartition ( const char *  a_partName  ) 

Definition at line 971 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, m_DBThread, and rmdb_MAX_PARTITIONNAME.

                                                                   {
    log_FUNC_m(DisablePartition);
    try {
        rm_String partName(rmdb_MAX_PARTITIONNAME);
        partName = a_partName;
        dbo_DisablePartition part(partName, *m_DBThread);
        part.Execute();
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::DriveError ( i_DBKey_t  a_driveKey  ) 

Definition at line 709 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, m_DBThread, and UseNewResource().

                                                         {
    log_FUNC_m(DriveError);
    try {
        UInt32_t drvKey = a_driveKey;
        dbo_DriveError de(drvKey, *m_DBThread);
        de.Execute();
        UseNewResource();
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::DriveStatusClear ( const char *  a_drvName,
i_Status_t  a_status 
)

Definition at line 697 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, m_DBThread, and UseNewResource().

                                                                                     {
    log_FUNC_m(DriveStatusClear);
    try {
        string drvName(a_drvName);
        dbo_DriveStatusClear dsc(drvName, a_status, *m_DBThread);
        dsc.Execute();
        UseNewResource();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::DriveStatusSet ( const char *  a_drvName,
i_Status_t  a_status 
)

Definition at line 686 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, and m_DBThread.

                                                                                   {
    log_FUNC_m(DriveStatusSet);
    try {
        string drvName(a_drvName);
        dbo_DriveStatusSet dss(drvName, a_status, *m_DBThread);
        dss.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::EmergencyInventory ( i_Time_t  a_resAssignTime  ) 
void i_ResourceManager_i::EnablePartition ( const char *  a_partName  ) 

Definition at line 982 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, m_DBThread, and rmdb_MAX_PARTITIONNAME.

                                                                  {
    log_FUNC_m(EnablePartition);
    try {
        rm_String partName(rmdb_MAX_PARTITIONNAME);
        partName = a_partName;
        dbo_EnablePartition part(partName, *m_DBThread);
        part.Execute();
    } ipc_CATCH_IVD_THROW_CORBA_m;

}

Here is the call graph for this function:

void i_ResourceManager_i::ExchangeRecallResources ( i_Job_ptr  a_job,
const i_JobParams a_jobParams,
const i_Resource_t a_relResources,
const i_Resource_t a_getResources 
)

Definition at line 381 of file i_rm_impl.cpp.

References rm_Resource_t::barcode, i_JobParams::bufId, rm_JobParams::bufId, i_JobParams::bufType, rm_JobParams::bufType, dbg_LOW, rm_Resource_t::driveCtrlDevice, rm_Resource_t::driveIndex, rm_Resource_t::driveKey, rm_JobParams::iJob, rm_Queue::Insert(), rm_JobParams::jobID, i_JobParams::jobID, i_JobParams::jobPriority, rm_JobParams::jobPriority, i_JobParams::jobType, rm_JobParams::jobType, rm_Resource_t::load, rm_Resource_t::loadSlotAddr, log_DBG_m, log_FUNC_m, ipc_Log::LogJobParams(), ipc_Log::LogResources(), m_queue, rm_JobParams::m_resources, i_JobParams::partName, rm_JobParams::partName, i_JobParams::partUUID, rm_JobParams::partUUID, i_JobParams::phase, rm_JobParams::phase, i_JobParams::priorityModifier, rm_JobParams::priorityModifier, ReleaseResource(), i_JobParams::startTime, rm_JobParams::startTime, rm_Resource_t::unloadBarcode, and rm_Resource_t::unloadSlotAddr.

                                                                {
    log_FUNC_m(ExchangeRecallResources);
    log_DBG_m(dbg_LOW,  "RM ExchangeRecallResources invoked for Job:" <<
                        a_jobParams.jobID << endl <<
                        ipc_Log::LogJobParams(a_jobParams) << endl <<
                        ipc_Log::LogResources(a_relResources) << endl <<
                        ipc_Log::LogResources(a_getResources));

    try {
        rm_JobParams rmJobParams;
        rmJobParams.iJob            = i_Job::_duplicate(a_job);  // copy reference to Job

        rmJobParams.partName       = a_jobParams.partName;
        rmJobParams.jobID          = a_jobParams.jobID;
        rmJobParams.jobPriority    = a_jobParams.jobPriority;
        rmJobParams.priorityModifier= a_jobParams.priorityModifier;
        rmJobParams.jobType        = static_cast<ivd_JobType_e>(a_jobParams.jobType);
        rmJobParams.phase          = a_jobParams.phase;
        rmJobParams.startTime      = a_jobParams.startTime;
        rmJobParams.partUUID       = a_jobParams.partUUID;
        rmJobParams.bufType        = a_jobParams.bufType ;
        rmJobParams.bufId          = a_jobParams.bufId   ;

        rm_Resource_t resource;
        resource = a_getResources;
        resource.driveKey = 0;
        resource.driveCtrlDevice = "";
        resource.driveIndex = "";
        resource.barcode = "";
        resource.load = false;
        resource.loadSlotAddr = "";
        resource.unloadSlotAddr = "";
        resource.unloadBarcode = "";
        rmJobParams.m_resources.push_back(resource);
        {
            m_queue.Insert(rmJobParams);
            i_ResourceList_t resList;
            resList.length(1);
            resList[0] = a_relResources;
            ReleaseResource(a_jobParams, resList);
        }
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::ExchangeResources ( i_Job_ptr  a_job,
const i_JobParams a_jobParams,
const i_ResourceList_t a_resources 
)

Definition at line 223 of file i_rm_impl.cpp.

References rm_Resource_t::barcode, i_JobParams::bufId, rm_JobParams::bufId, i_JobParams::bufType, rm_JobParams::bufType, dbg_LOW, rm_Resource_t::driveCtrlDevice, rm_Resource_t::driveIndex, rm_Resource_t::driveKey, rm_SysState::GetAdminPriority(), rm_SysState::GetBackupPriority(), ie_INVALID_TBL_SIZE, rm_JobParams::iJob, rm_Queue::Insert(), ivd_Error, rm_JobParams::jobID, i_JobParams::jobID, i_JobParams::jobPriority, rm_JobParams::jobPriority, i_JobParams::jobType, rm_JobParams::jobType, jt_ADMIN, jt_BACKUP, rm_Resource_t::loadSlotAddr, log_DBG_m, log_FUNC_m, ipc_Log::LogJobParams(), ipc_Log::LogResources(), m_queue, rm_JobParams::m_resources, rm_Queue::m_SysState, rm_Resource_t::mediumKey, i_JobParams::partName, rm_JobParams::partName, i_JobParams::partUUID, rm_JobParams::partUUID, i_JobParams::phase, rm_JobParams::phase, i_JobParams::priorityModifier, rm_JobParams::priorityModifier, ReleaseResource(), i_JobParams::startTime, rm_JobParams::startTime, rm_Resource_t::unloadBarcode, and rm_Resource_t::unloadSlotAddr.

                                                                             {
    log_FUNC_m(ExchangeResources);

    try {
        log_DBG_m(dbg_LOW,  "RM ExchangeResources invoked for Job:" <<
                        a_jobParams.jobID << endl <<
                        ipc_Log::LogJobParams(a_jobParams) << endl <<
                        ipc_Log::LogResources(a_resources));

        rm_JobParams rmJobParams;

        rmJobParams.iJob            = i_Job::_duplicate(a_job);  // copy reference to Job

        rmJobParams.partName        = a_jobParams.partName;
        rmJobParams.partUUID        = a_jobParams.partUUID;
        rmJobParams.jobID           = a_jobParams.jobID;
        rmJobParams.jobPriority     = a_jobParams.jobPriority;
        rmJobParams.priorityModifier= a_jobParams.priorityModifier;
        if (rmJobParams.jobType == jt_ADMIN) {
            rmJobParams.jobPriority = m_queue.m_SysState.GetAdminPriority();
        }

        if (rmJobParams.jobType == jt_BACKUP) {
            rmJobParams.jobPriority = m_queue.m_SysState.GetBackupPriority();
        }
        rmJobParams.jobType         = static_cast<ivd_JobType_e>(a_jobParams.jobType);
        rmJobParams.phase           = a_jobParams.phase;
        rmJobParams.startTime       = a_jobParams.startTime;
        rmJobParams.bufType         = a_jobParams.bufType;
        rmJobParams.bufId           = a_jobParams.bufId;

        // converstion from CORBA::sequence to vector
        if (a_resources.length() == 0) {
            throw ivd_Error(ie_INVALID_TBL_SIZE, "Resource table empty");
        }

        // copy resources from i_ResourceList to rm_ResourceTable
        for (UInt32_t i = 0; i < a_resources.length(); i++) {
            rm_Resource_t resource;
            resource = a_resources[i];
            resource.driveKey = 0;
            resource.mediumKey = 0;
            resource.driveCtrlDevice = "";
            resource.driveIndex = "";
            resource.barcode = "";
            resource.loadSlotAddr = "";
            resource.unloadSlotAddr = "";
            resource.unloadBarcode = "";
            rmJobParams.m_resources.push_back(resource);
        };

        {
            m_queue.Insert(rmJobParams);
            ReleaseResource(a_jobParams, a_resources);
        }

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::ExecStartLA ( string  a_libName,
string  a_host,
ivd_LibraryType_e  a_lType 
)

Definition at line 2182 of file i_rm_impl.cpp.

References dbg_DETAIL, dbg_LOW, i_IVDLAM, i_IVDLAS, ipc_EXEC_m, log_DBG_m, log_ERR_m, log_FUNC_m, lt_MANUAL, lt_SCSI, and ipc_Corba::ResolveSvc().

Referenced by StartAllLA(), and StartLA().

                                   {
    log_FUNC_m(ExecStartLA);

    log_DBG_m(dbg_LOW,"Starting LA:" << a_libName << " on:" << a_host);

    i_StringList_t argSeq;
    argSeq.length(1);
    argSeq[0] = CORBA::string_dup(a_libName.c_str());

    i_Service_var svc;

    ipc_EXEC_m (
        CORBA::Object_var obj = ipc_Corba::ResolveSvc(a_host, true);
        svc = i_Service::_narrow(obj);
    );

    switch (a_lType) {
        case lt_SCSI:
            log_DBG_m(dbg_DETAIL,"Starting LA-S: " << a_libName);
            ipc_EXEC_m( svc->Execute(i_IVDLAS, argSeq); );
            break;
        case lt_MANUAL:
            log_DBG_m(dbg_DETAIL,"Starting LA-M: " << a_libName);
            ipc_EXEC_m( svc->Execute(i_IVDLAM, argSeq); );
            break;
        default:
            log_ERR_m("Invalid LA type: " << a_lType);
    }

}

Here is the call graph for this function:

Here is the caller graph for this function:

void i_ResourceManager_i::ExecStopLA ( string  a_libName,
string  a_host 
)

Definition at line 2231 of file i_rm_impl.cpp.

References dbg_DETAIL, ipc_EXEC_m, log_DBG_m, log_FUNC_A_m, and ipc_Corba::ResolveLA().

Referenced by StopAllLA(), and StopLA().

                                                                    {
    log_FUNC_A_m(ExecStopLA, "lib: " << a_libName << " host: " << a_host);

    ipc_EXEC_m(

        CORBA::Object_var obj = ipc_Corba::ResolveLA(a_host, a_libName, false);
        i_LibraryAgent_var la = i_LibraryAgent::_narrow(obj);

        log_DBG_m(dbg_DETAIL,"Stopping LA: " << a_libName);
        la->Remove();
    );

}

Here is the call graph for this function:

Here is the caller graph for this function:

i_JobParamsSeq_t * i_ResourceManager_i::GetAllJobs (  ) 

Definition at line 2060 of file i_rm_impl.cpp.

References dbg_DETAIL, rm_Queue::GetAllJobs(), ipc_Init::JobParamsInit(), log_DBG_m, log_FUNC_m, and m_queue.

                                                  {
    log_FUNC_m(GetAllJobs);

    try {

        vector<rm_JobParams> rmJPVec;
        rmJPVec = m_queue.GetAllJobs();

        i_JobParamsSeq_t* iJPSeq = new i_JobParamsSeq_t;

        iJPSeq->length(rmJPVec.size());
        for (UInt32_t i = 0; i < rmJPVec.size(); i++) {
            ipc_Init::JobParamsInit((*iJPSeq)[i]);
            (*iJPSeq)[i].jobID          = rmJPVec[i].jobID;
            log_DBG_m(dbg_DETAIL,"" << endl <<
                "(*iJPSeq)[i].jobPriority " <<   (*iJPSeq)[i].jobPriority    <<
                "rmJPVec[i].jobPriority;=" << rmJPVec[i].jobPriority );

            (*iJPSeq)[i].jobPriority    = rmJPVec[i].jobPriority;
            (*iJPSeq)[i].priorityModifier = rmJPVec[i].priorityModifier;
            (*iJPSeq)[i].partName   = CORBA::string_dup(rmJPVec[i].partName.c_str());
            (*iJPSeq)[i].partUUID   = CORBA::string_dup(rmJPVec[i].partUUID.c_str());
            (*iJPSeq)[i].jobType    = rmJPVec[i].jobType;
            (*iJPSeq)[i].bufType    = rmJPVec[i].bufType;
            (*iJPSeq)[i].bufId      = rmJPVec[i].bufId;
            (*iJPSeq)[i].startTime  = rmJPVec[i].startTime;
            (*iJPSeq)[i].phase      = rmJPVec[i].phase;
        }
        return iJPSeq;

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_Index_t i_ResourceManager_i::GetBestCopy ( const i_CopiesPos_v_t a_mediaTable  ) 

Definition at line 285 of file i_rm_impl.cpp.

References rm_MediumPos_t::blockOffset, dbg_DETAIL, dbg_NORM, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, ipc_Log::LogCopiesPosition(), m_DBThread, rm_MediumPos_t::mediumKey, rm_CopyPos_t::mediumPos, rm_MediumPos_t::medVolNr, rm_CopyPos_t::rowNum, rm_MediumPos_t::splitOffset, and rm_MediumPos_t::splitSize.

                                                                             {
    log_FUNC_m(GetBestCopy);
    // convert from i_CopiesPos_v_t to rm_CopiesPos_v_t

    log_DBG_m(dbg_NORM, endl <<
            "GetBestCopy got CopiesPos " << endl <<
            ipc_Log::LogCopiesPosition(a_copiesPos) );
    try {

        log_DBG_m(dbg_DETAIL,"Copiing from i_CopiesPos_v_t to rm_CopiesPos_v_t");

        rm_CopyPos_t rmMedPosVec;
        rm_MediumPos_t rmMedPos;
        rm_CopiesPos_v_t rmCopyPosVec;

        for (UInt32_t i = 0; i < a_copiesPos.length(); i++ ) { // for each set of splits
            rmMedPosVec.rowNum = i;
            for (UInt32_t j = 0; j < a_copiesPos[i].length(); j++) { // for each split
                rmMedPos.blockOffset    = a_copiesPos[i][j].blockOffset;
                rmMedPos.mediumKey       = a_copiesPos[i][j].mediumKey;
                rmMedPos.medVolNr       = a_copiesPos[i][j].medVolNum;
                rmMedPos.splitOffset    = a_copiesPos[i][j].splitOffset;
                rmMedPos.blockOffset    = a_copiesPos[i][j].blockOffset;
                rmMedPos.splitSize      = a_copiesPos[i][j].splitSize;
                rmMedPosVec.mediumPos.push_back(rmMedPos);
            }
            rmCopyPosVec.push_back(rmMedPosVec);
            rmMedPosVec.mediumPos.clear();
        }
        log_DBG_m(dbg_DETAIL,"Coping finished");

        UInt32_t bestIdx;

        dbo_GetBestCopy best(rmCopyPosVec, bestIdx, *m_DBThread );
        best.Execute();

        log_DBG_m(dbg_DETAIL,"Will Return " << bestIdx);

        return  bestIdx;


    } ipc_CATCH_IVD_THROW_CORBA_m;

}

Here is the call graph for this function:

i_DriveHost_t * i_ResourceManager_i::GetHost ( i_DBKey_t  a_driveKey  ) 

Definition at line 331 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, and m_DBThread.

                                                                {
    log_FUNC_m(GetHost);
    try {
        i_DriveHost_t * dh = new i_DriveHost_t;
        dbo_GetHost host(a_driveKey, *dh, *m_DBThread);
        host.Execute();
        return dh;
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_JobParamsSeq_t * i_ResourceManager_i::GetJob ( i_JobID_t  a_jobID  ) 

Definition at line 2094 of file i_rm_impl.cpp.

References dbg_DETAIL, rm_Queue::GetJob(), ie_JOBNOTFOUND, ivd_Error, ipc_Init::JobParamsInit(), log_DBG_m, log_FUNC_m, ipc_Log::LogJobParams(), and m_queue.

                                                               {
    log_FUNC_m(GetJob);
    try {

        vector<rm_JobParams> rmJPVec;
        rmJPVec = m_queue.GetJob(a_jobID);

        i_JobParamsSeq_t_var iJPSeq(new i_JobParamsSeq_t);

        if (rmJPVec.empty()) {
            log_DBG_m(dbg_DETAIL,"No Jobs with ID " << a_jobID << " in RM queue");
            throw ivd_Error(ie_JOBNOTFOUND,"No such job in Queue");
            iJPSeq->length(0);
            return iJPSeq._retn();
        } else {
            log_DBG_m(dbg_DETAIL,"Found " << rmJPVec.size() << " jobs in rm->queue");
            iJPSeq->length(rmJPVec.size());
            for (UInt32_t i = 0; i < rmJPVec.size(); i++) {
                ipc_Init::JobParamsInit(iJPSeq[i]);
                iJPSeq[i].jobID          = rmJPVec[i].jobID;
                iJPSeq[i].jobPriority    = rmJPVec[i].jobPriority;
                iJPSeq[i].priorityModifier    = rmJPVec[i].priorityModifier;
                iJPSeq[i].partName   = CORBA::string_dup(rmJPVec[i].partName.c_str());
                iJPSeq[i].partUUID   = CORBA::string_dup(rmJPVec[i].partUUID.c_str());
                iJPSeq[i].jobType    = rmJPVec[i].jobType;
                iJPSeq[i].bufType    = rmJPVec[i].bufType;
                iJPSeq[i].bufId      = rmJPVec[i].bufId;
                iJPSeq[i].startTime  = rmJPVec[i].startTime;
                iJPSeq[i].phase      = rmJPVec[i].phase;
                log_DBG_m(dbg_DETAIL, "JobParams:" << endl
                        << ipc_Log::LogJobParams(iJPSeq[i]));
            }
        }
        return iJPSeq._retn();
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_ResourceList_t * i_ResourceManager_i::GetJobResources ( i_JobID_t  a_jobID  ) 

Definition at line 2131 of file i_rm_impl.cpp.

References dbg_DETAIL, rm_Queue::GetJob(), ie_JOBNOTFOUND, ivd_Error, log_DBG_m, log_FUNC_m, ipc_Log::LogResources(), and m_queue.

                                                                        {
    log_FUNC_m(GetJobResources);
    try {

        vector<rm_JobParams> rmJPVec;
        rmJPVec = m_queue.GetJob(a_jobID);

        i_ResourceList_t_var iResourcesSeq(new i_ResourceList_t);

        if (rmJPVec.empty()) {
            log_DBG_m(dbg_DETAIL,"No Jobs with ID " << a_jobID << " in RM queue");
            throw ivd_Error(ie_JOBNOTFOUND,"No such job in Queue");
            iResourcesSeq->length(0);
            return iResourcesSeq._retn();
        } else {
            log_DBG_m(dbg_DETAIL,"Found " << rmJPVec.size() << " jobs in rm->queue");

            for (UInt32_t i = 0; i < rmJPVec.size(); i++) {
                for (UInt32_t j = 0; j < rmJPVec[i].m_resources.size();j++) {
                    UInt32_t pos = iResourcesSeq->length();
                    iResourcesSeq->length(pos+1);
                    iResourcesSeq[pos] = rmJPVec[i].m_resources[j].Convert2Corba();

                    log_DBG_m(dbg_DETAIL, "JobResources:" << endl
                        << ipc_Log::LogResources(iResourcesSeq[pos]));

                }
            }
        }
        return iResourcesSeq._retn();
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_FileSize_t i_ResourceManager_i::GetMaxDiskBufferSize ( const char *  a_partName  ) 

Definition at line 518 of file i_rm_impl.cpp.

References dbg_LOW, rm_DiskBufAllocator::GetMaxDiskBufferSize(), log_DBG_m, log_FUNC_m, m_diskBuf_x, and m_diskBufAllocator.

                                                                             {
    log_FUNC_m(GetMaxDiskBufferSize);
    try {
        log_DBG_m(dbg_LOW, "GetMaxDiskBufferSize does not regard partition.");
        cmn_MutexLock l(m_diskBuf_x);
        return m_diskBufAllocator.GetMaxDiskBufferSize();
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_MediaInfoSeq_t * i_ResourceManager_i::GetMediaInfo ( const char *  a_partName  ) 

Definition at line 803 of file i_rm_impl.cpp.

References dbg_LOW, dbg_NORM, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                                          {
    log_FUNC_m(GetMediaInfo);
    try {
        log_DBG_m(dbg_LOW, "Getting media info.");

        i_MediaInfoSeq_t_var i_medInfoSeq(new i_MediaInfoSeq_t);
        string partName(a_partName);

        dbo_GetMediaInfo mediaInfo(partName, i_medInfoSeq, *m_DBThread);
        mediaInfo.Execute();

        log_DBG_m(dbg_NORM, "Length: " << i_medInfoSeq->length());

        return i_medInfoSeq._retn();
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_JobID_t i_ResourceManager_i::GetNewJobID (  ) 

Definition at line 1179 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, m_DBThread, and m_jobIdGen.

                                           {
    log_FUNC_m(GetNewJobID);

    try {
        UInt64_t newJobId;
        dbo_NewJobIdGen idGen(m_jobIdGen, newJobId, *m_DBThread);
        idGen.Execute();
        return newJobId;
    } ipc_CATCH_IVD_THROW_CORBA_m;

}

Here is the call graph for this function:

i_MigID_t i_ResourceManager_i::GetNewMigId ( const char *  a_partName  ) 

Definition at line 1195 of file i_rm_impl.cpp.

References rm_SysState::GetNewMigID(), log_FUNC_m, m_queue, and rm_Queue::m_SysState.

                                                                 {
    log_FUNC_m(GetNewMigId);

    try {
        string partName(a_partName);
        return m_queue.m_SysState.GetNewMigID(partName);

    } ipc_CATCH_IVD_THROW_CORBA_m;

}

Here is the call graph for this function:

void i_ResourceManager_i::GetRecallResources ( i_Job_ptr  a_job,
const i_JobParams a_jobParams,
const i_Resource_t a_resources 
)

Definition at line 342 of file i_rm_impl.cpp.

References rm_Queue::Activate(), i_JobParams::bufId, rm_JobParams::bufId, i_JobParams::bufType, rm_JobParams::bufType, dbg_LOW, rm_JobParams::iJob, rm_Queue::Insert(), rm_JobParams::jobID, i_JobParams::jobID, i_JobParams::jobPriority, rm_JobParams::jobPriority, i_JobParams::jobType, rm_JobParams::jobType, log_DBG_m, log_FUNC_m, ipc_Log::LogJobParams(), ipc_Log::LogResources(), m_queue, rm_JobParams::m_resources, i_JobParams::partName, rm_JobParams::partName, i_JobParams::partUUID, rm_JobParams::partUUID, i_JobParams::phase, rm_JobParams::phase, i_JobParams::priorityModifier, rm_JobParams::priorityModifier, i_JobParams::startTime, and rm_JobParams::startTime.

                                                             {

    log_FUNC_m(GetRecallResources);
    log_DBG_m(dbg_LOW,  "RM GetRecallResources invoked for Job:" <<
                        a_jobParams.jobID << endl <<
                        ipc_Log::LogJobParams(a_jobParams) << endl <<
                        ipc_Log::LogResources(a_resources));

    try {
        rm_JobParams rmJobParams;
        rmJobParams.iJob            = i_Job::_duplicate(a_job);  // copy reference to Job

        rmJobParams.partName       = a_jobParams.partName;
        rmJobParams.jobID          = a_jobParams.jobID;
        rmJobParams.jobPriority    = a_jobParams.jobPriority;
        rmJobParams.priorityModifier= a_jobParams.priorityModifier;
        rmJobParams.jobType        = static_cast<ivd_JobType_e>(a_jobParams.jobType);
        rmJobParams.phase          = a_jobParams.phase;
        rmJobParams.startTime      = a_jobParams.startTime;
        rmJobParams.partUUID       = a_jobParams.partUUID;
        rmJobParams.bufType        = a_jobParams.bufType ;
        rmJobParams.bufId          = a_jobParams.bufId   ;


        rm_Resource_t resource;
        resource = a_resources;
        rmJobParams.m_resources.push_back(resource);
        {
            m_queue.Insert(rmJobParams);
            m_queue.Activate();
        }
    } ipc_CATCH_IVD_THROW_CORBA_m;

}

Here is the call graph for this function:

void i_ResourceManager_i::GetResources ( i_Job_ptr  a_job,
const i_JobParams a_jobParams,
const i_ResourceList_t a_resources 
)

Definition at line 166 of file i_rm_impl.cpp.

References rm_Queue::Activate(), i_JobParams::bufId, rm_JobParams::bufId, i_JobParams::bufType, rm_JobParams::bufType, dbg_LOW, rm_SysState::GetAdminPriority(), rm_SysState::GetBackupPriority(), ie_INVALID_TBL_SIZE, rm_JobParams::iJob, rm_Queue::Insert(), ivd_Error, rm_JobParams::jobID, i_JobParams::jobID, i_JobParams::jobPriority, rm_JobParams::jobPriority, i_JobParams::jobType, rm_JobParams::jobType, jt_ADMIN, jt_BACKUP, log_DBG_m, log_FUNC_m, ipc_Log::LogJobParams(), ipc_Log::LogResources(), rm_JobParams::m_jobInformed, m_queue, rm_JobParams::m_resources, rm_Queue::m_SysState, i_JobParams::partName, rm_JobParams::partName, i_JobParams::partUUID, rm_JobParams::partUUID, i_JobParams::phase, rm_JobParams::phase, i_JobParams::priorityModifier, rm_JobParams::priorityModifier, i_JobParams::startTime, and rm_JobParams::startTime.

                                                                             {
    log_FUNC_m(GetResources);

    try {
        log_DBG_m(dbg_LOW,  "RM GetResources invoked for Job:" <<
                        a_jobParams.jobID << endl <<
                        ipc_Log::LogJobParams(a_jobParams) << endl <<
                        ipc_Log::LogResources(a_resources));

        rm_JobParams rmJobParams;

        rmJobParams.iJob            = i_Job::_duplicate(a_job);  // copy reference to Job

        rmJobParams.partName        = a_jobParams.partName;
        rmJobParams.partUUID        = a_jobParams.partUUID;
        rmJobParams.jobID           = a_jobParams.jobID;
        rmJobParams.jobPriority     = a_jobParams.jobPriority;
        rmJobParams.priorityModifier     = a_jobParams.priorityModifier;
        if (rmJobParams.jobType == jt_ADMIN) {
            rmJobParams.jobPriority = m_queue.m_SysState.GetAdminPriority();
        }

        if (rmJobParams.jobType == jt_BACKUP) {
            rmJobParams.jobPriority = m_queue.m_SysState.GetBackupPriority();
        }

        rmJobParams.jobType         = static_cast<ivd_JobType_e>(a_jobParams.jobType);
        rmJobParams.phase           = a_jobParams.phase;
        rmJobParams.startTime       = a_jobParams.startTime;
        rmJobParams.bufType         = a_jobParams.bufType;
        rmJobParams.bufId           = a_jobParams.bufId;

        // converstion from CORBA::sequence to vector
        if (a_resources.length() == 0) {
            throw ivd_Error(ie_INVALID_TBL_SIZE, "Resource table empty");
        }

        // copy resources from i_ResourceList to rm_ResourceTable
        for (UInt32_t i = 0; i < a_resources.length(); i++) {
            rm_Resource_t resource;
            resource = a_resources[i];
            rmJobParams.m_resources.push_back(resource);
        };

        rmJobParams.m_jobInformed = false;

        {
            m_queue.Insert(rmJobParams);
            m_queue.Activate();
        }

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::InventoryUpdate ( const char *  a_libName,
const i_UpdateList_t a_elemStatus 
)

Definition at line 763 of file i_rm_impl.cpp.

References rm_Queue::Activate(), rm_DBOperation::Execute(), log_FUNC_A_m, m_DBThread, and m_queue.

                                        {

    log_FUNC_A_m(InventoryUpdate, "lib: " << a_libName);

    try {

        dbo_InventoryUpdate iu(a_libName, a_elemStatus, *m_DBThread);
        iu.Execute();
        m_queue.Activate();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

CORBA::Boolean i_ResourceManager_i::IsSomeVolumeUsed ( const char *  a_partName  ) 

Definition at line 1975 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                                         {
        log_FUNC_m(IsSomeVolumeUsed);

    try {
        string partName(a_partName);
        bool isUsed(false);

        log_DBG_m(dbg_LOW,"Is some volume used for Partiton:" << partName);

        dbo_IsSomeVolumeUsed isvu(partName, isUsed, *m_DBThread);
        isvu.Execute();

        return isUsed;

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::LibraryStatusClear ( const char *  a_libName,
i_Status_t  a_status 
)

Definition at line 790 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, m_DBThread, and UseNewResource().

                                                                                       {
    log_FUNC_m(LibraryStatusClear);
    try {
        string libName(a_libName);
        dbo_LibraryStatusClear dsc(libName, a_status, *m_DBThread);
        dsc.Execute();
        UseNewResource();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::LibraryStatusSet ( const char *  a_libName,
i_Status_t  a_status 
)

Definition at line 779 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, and m_DBThread.

                                                                                     {
    log_FUNC_m(LibraryStatusSet);
    try {
        string libName(a_libName);
        dbo_LibraryStatusSet dss(libName, a_status, *m_DBThread);
        dss.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::MediumLoaded ( const char *  a_libName,
const char *  a_medBarcode,
const char *  a_driveAddr 
)

Definition at line 564 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, and m_DBThread.

                                                                                                               {
    log_FUNC_m(MediumLoaded);
    try {
        dbo_MediumLoaded ml(a_libName, a_medBarcode, a_driveAddr, *m_DBThread);
        ml.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::MediumStatusClear ( const char *  a_barcode,
i_Status_t  a_status 
)

Definition at line 674 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, m_DBThread, and UseNewResource().

                                                                                      {
    log_FUNC_m(MediumStatusClear);
    try {
        string barcode(a_barcode);
        dbo_MediumStatusClear msc(barcode, a_status, *m_DBThread);
        msc.Execute();
        UseNewResource();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::MediumStatusSet ( const char *  a_barcode,
i_Status_t  a_status 
)

Definition at line 663 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, and m_DBThread.

                                                                                    {
    log_FUNC_m(MediumStatusSet);
    try {
        string barcode(a_barcode);
        dbo_MediumStatusSet mss(barcode, a_status, *m_DBThread);
        mss.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::MediumUnLoaded ( const char *  a_libName,
const char *  a_medBarcode,
const char *  a_slotAddr,
i_Type_t  a_slotType 
)

Definition at line 574 of file i_rm_impl.cpp.

References rm_Queue::Activate(), rm_DBOperation::Execute(), log_FUNC_m, m_DBThread, and m_queue.

                                                            {
    log_FUNC_m(MediumUnLoaded);
    try {
        dbo_MediumUnloaded mu(a_libName, a_medBarcode, a_slotAddr, a_slotType, *m_DBThread);
        mu.Execute();
        m_queue.Activate();
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::MediumUnreliable ( i_DBKey_t  a_mediaKey  ) 

Definition at line 641 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, and m_DBThread.

                                                                {
    log_FUNC_m(MediumUnreliable);
    try {
        UInt32_t medKey = a_mediumKey;
        dbo_MediumUnreliable mur(medKey, *m_DBThread);
        mur.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::MediumUnusable ( i_DBKey_t  a_mediaKey  ) 

Definition at line 652 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, and m_DBThread.

                                                              {
    log_FUNC_m(MediumUnusable);
    try {
        UInt32_t medKey = a_mediumKey;
        dbo_MediumUnusable mus(medKey, *m_DBThread);
        mus.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::MedVolStatusClear ( const char *  a_medVoId,
i_Status_t  a_status 
)

Definition at line 732 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, and m_DBThread.

                                                                 {
    log_FUNC_m(MedVolStatusClear);
    try {
        string medVoId(a_medVoId);
        dbo_MedVolStatusClear mss(medVoId, a_status, *m_DBThread);
        mss.Execute();
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::MedVolStatusSet ( const char *  a_medVoId,
i_Status_t  a_status 
)

Definition at line 720 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_A_m, and m_DBThread.

                                                                 {
    log_FUNC_A_m(MedVolStatusSet, "a_medVoId:" << a_medVoId <<
                                  ", a_status:" << hex << a_status);
    try {
        string medVoId(a_medVoId);
        dbo_MedVolStatusSet mss(medVoId, a_status, *m_DBThread);
        mss.Execute();
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::ParsePMConfig ( cfg_PMCfg a_cfgFile,
const char *  a_partName 
)

Definition at line 1035 of file i_rm_impl.cpp.

References CFG_LINK_LATEST, ivd_Directories::cfgPart, dbg_DETAIL, cmn_Global::dirs, g_cmn, log_DBG_m, log_ERR_m, log_FUNC_m, pf_File::Parse(), and cfg_PMCfg::Refresh().

Referenced by RegisterPartition(), and UpdatePartition().

                                                                                    {
    log_FUNC_m(ParsePMConfig);

    cmn_Path cfgFilePath;
    cfgFilePath = g_cmn.dirs.cfgPart + string(a_partName) + string(CFG_LINK_LATEST);

    pf_File pmFile;

    try {
        pmFile.Parse(cfgFilePath);
        log_DBG_m(dbg_DETAIL, "File name: " << cfgFilePath);
        a_cfgFile.Refresh(pmFile);
    } catch (ivd_Exception& e) {
        log_ERR_m(e);
        throw;
    }
}

Here is the call graph for this function:

Here is the caller graph for this function:

i_PoolInfoSeq_t * i_ResourceManager_i::PoolInfo ( const char *  a_partName  ) 

Definition at line 2364 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                                     {
    log_FUNC_m(PoolInfo);
    try {
        log_DBG_m(dbg_LOW,"PoolInfo " << a_partName);
        string partName(a_partName);
        i_PoolInfoSeq_t_var i_pis(new i_PoolInfoSeq_t);
        dbo_PoolInfo pis(partName, i_pis, *m_DBThread);
        pis.Execute();

        return i_pis._retn();
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::ReconfigureLibrary ( const char *  a_libName  ) 

Definition at line 2246 of file i_rm_impl.cpp.

References dbg_DETAIL, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, m_DBThread, and ipc_Corba::ResolveLA().

                                                                  {
    log_FUNC_m(ReconfigureLibrary);

    try {
        i_Library_t_var iLib(new i_Library_t);
        dbo_SelectLibrary sl(a_libName, iLib, *m_DBThread );
        sl.Execute();

        string lHost;
        lHost = iLib->host;

        CORBA::Object_var obj = ipc_Corba::ResolveLA(lHost, a_libName);
        i_LibraryAgent_var la = i_LibraryAgent::_narrow(obj);

        log_DBG_m(dbg_DETAIL,"Reconfiguring LA: " << a_libName);
        la->Reconfigure(iLib);

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

char * i_ResourceManager_i::RegisterPartition ( const char *  a_partName  ) 

Definition at line 1094 of file i_rm_impl.cpp.

References cfg_PMCfg::clients, rm_DBOperation::Execute(), ie_NOT_SUPPORTED, log_FUNC_m, m_DBThread, cfg_PMCfg::name, rm_Partition::options, ParsePMConfig(), rm_Partition::partUUID, SetPartitionOptions(), SetRMPartStatus(), and cmn_UUID_t::ToString().

                                                                   {
    log_FUNC_m(RegisterPartition);
    try {
        cfg_PMCfg pmCfg;
        ParsePMConfig(pmCfg, a_partName);
        SetRMPartStatus(pmCfg);

        rm_Partition rmPart;
        dbo_SelectPartition selPart(pmCfg.name, rmPart, *m_DBThread);
        selPart.Execute();

        if (pmCfg.clients.size() != 1) {
            throw ivd_InternalError(ie_NOT_SUPPORTED,
                                    "only one client supported in 3.1");
        }

        Int32_t partOptions(0);
        SetPartitionOptions(partOptions, &pmCfg.clients[0]);
        if (rmPart.options != partOptions) {
            // Options need to be updated in case of an upgrade from 3.6
            rmPart.options = partOptions;
            dbo_UpdatePartition updatePart(rmPart, *m_DBThread);
            updatePart.Execute();
        }

        return CORBA::string_dup(rmPart.partUUID.ToString().c_str());
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::ReleaseDiskBuffer ( i_JobID_t  a_jobID  ) 

Definition at line 554 of file i_rm_impl.cpp.

References dbg_LOW, log_DBG_m, log_FUNC_m, m_diskBuf_x, m_diskBufAllocator, and rm_DiskBufAllocator::ReleaseDiskBuffer().

                                                            {
    log_FUNC_m(ReleaseDiskBuffer);
    log_DBG_m(dbg_LOW, "a_jobID:" << a_jobID);
    try {
        cmn_MutexLock l(m_diskBuf_x);
        m_diskBufAllocator.ReleaseDiskBuffer(a_jobID);
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::ReleaseRecallResources ( const i_Resource_t a_resources  ) 

Definition at line 491 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), jt_RECALL, and m_DBThread.

Referenced by rm_Queue::AllocateRec().

                                                                                {
    i_ResourceList_t resources;
    resources.length(1);
    resources[0] = a_resources;
    dbo_ReleaseResources relRes(resources, jt_RECALL, *m_DBThread);
    relRes.Execute();
}

Here is the call graph for this function:

Here is the caller graph for this function:

void i_ResourceManager_i::ReleaseResource ( const i_JobParams a_jobParams,
const i_ResourceList_t a_resources 
)

Definition at line 430 of file i_rm_impl.cpp.

References rm_Queue::Activate(), dbg_DETAIL, dbg_LOW, rm_DBOperation::Execute(), ivd_BaseException::GetError(), rm_Queue::IncReleasedCount(), i_JobParams::jobID, i_JobParams::jobType, jt_ADMIN, jt_BACKUP, jt_MAINT, jt_RECALL, jt_REORG, log_DBG_m, log_FUNC_m, log_WRN_m, ipc_Log::LogJobParams(), ipc_Log::LogResources(), m_DBThread, m_queue, rm_Queue::m_SysState, mf_DISK, i_JobParams::partName, and rm_SysState::Release().

Referenced by rm_Queue::Allocate(), ExchangeRecallResources(), and ExchangeResources().

                                                                             {
    log_FUNC_m(ReleaseResource);

    try {

        log_DBG_m(dbg_LOW,  "RM ReleaseResources invoked for Job:" <<
                        a_jobParams.jobID << endl <<
                        ipc_Log::LogJobParams(a_jobParams) << endl <<
                        ipc_Log::LogResources(a_resources));

        try {
            if ((a_jobParams.jobType != jt_ADMIN) && (a_jobParams.jobType != jt_BACKUP)) {
                string pId(a_jobParams.partName);
                m_queue.m_SysState.Release(
                        pId,
                        static_cast<ivd_JobType_e>(a_jobParams.jobType),
                        a_resources.length() );
            } else {
                m_queue.m_SysState.Release(
                    static_cast<ivd_JobType_e>(a_jobParams.jobType),
                    a_resources.length() );
            }
        } catch (ivd_Exception& e) {
            if (e.GetError() == ie_PARTSTATNF) {
                log_WRN_m (e);
            }
            else throw;
        }

        // Increase released count to make the queue start from beginning
        m_queue.IncReleasedCount();

        if ((a_jobParams.jobType == jt_RECALL) &&
            (a_resources[0].mediumFamily == mf_DISK) ) {
            // do not release the resources for disk medium
            log_DBG_m(dbg_DETAIL, "Recall job does not release resources");
        } else if ( (a_jobParams.jobType == jt_REORG) &&
                    (a_resources[0].resNum == 0) &&
                    (a_resources[0].mediumFamily == mf_DISK) ) {
            // first medium of reorg is also like recall
            log_DBG_m(dbg_DETAIL, "Reorg job (0) does not release resources");
        } else if ( (a_jobParams.jobType == jt_MAINT) &&
                    (a_resources[0].resNum == 0) &&
                    (a_resources[0].mediumFamily == mf_DISK) ) {
            // first medium of redundant copy is also like recall
            log_DBG_m(dbg_DETAIL, "Redundant job (0) does not release resources");

        // todo Update AccessNr. for disk media volume
        } else {
            dbo_ReleaseResources relRes(a_resources,
                                        static_cast<ivd_JobType_e>(a_jobParams.jobType),
                                        *m_DBThread);
            relRes.Execute();
        };
        m_queue.Activate();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

Here is the caller graph for this function:

void i_ResourceManager_i::Remove (  )  [virtual]

Reimplemented from i_Component_i.

Definition at line 2324 of file i_rm_impl.cpp.

References ipc_EXEC_m, log_FUNC_m, i_Component_i::Remove(), and StopAllLA().

                                 {
    log_FUNC_m(Remove);

    // TODO: Do any cleanup necessary
    // Notify PMs...

    // Stop all Library agents
    StopAllLA();

    ipc_EXEC_m(
        i_Component_i::Remove();
    );
}

Here is the call graph for this function:

void i_ResourceManager_i::RemoveColIDs ( const char *  a_partUUID  ) 

Definition at line 1427 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                             {
    log_FUNC_m(RemoveColIDs);
    try {
        log_DBG_m(dbg_LOW,  "Removing ColIDs of partition: " << a_partUUID);
        dbo_RemoveColIDs rcd(a_partUUID, *m_DBThread);
        rcd.Execute();
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::RemoveDrive ( const char *  a_driveName  ) 

Definition at line 1340 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, and m_DBThread.

                                                             {
    log_FUNC_m(RemoveDrive);
    try {

        dbo_RemoveDrive drv(a_driveName, *m_DBThread);
        drv.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::RemoveDriveHost ( const char *  a_driveName,
const char *  a_host 
)

Definition at line 1351 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, and m_DBThread.

                                                                {
    log_FUNC_m(RemoveDriveHost);
    try {

        dbo_RemoveDriveHost dh(a_driveName, a_host, *m_DBThread);
        dh.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::RemoveDSS ( const char *  a_dssName  ) 

Definition at line 1363 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                         {
    log_FUNC_m(RemoveDSS);
    try {
        log_DBG_m(dbg_LOW,"Removing DSS: " << a_dssName);

        dbo_RemoveDiskSubsys dss(a_dssName, *m_DBThread);
        dss.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::RemoveLibrary ( const char *  a_libraryName  ) 

Definition at line 1329 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, and m_DBThread.

                                                                 {
    log_FUNC_m(RemoveLibrary);
    try {

        dbo_RemoveLibrary lib(a_libraryName, *m_DBThread);
        lib.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::RemoveMediaPool ( const char *  a_mediaPoolName  ) 

Definition at line 1390 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                                     {
    log_FUNC_m(RemoveMediaPool);
    try {
        log_DBG_m(dbg_LOW,"Removing MediaPool: " << a_mediaPoolName);

        dbo_RemoveMediaPool mp(a_mediaPoolName, *m_DBThread);
        mp.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::RemoveMedium ( const char *  a_mediumBarcode  ) 

Definition at line 1402 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                                  {
    log_FUNC_m(RemoveMedium);
    try {
        log_DBG_m(dbg_LOW,"Removing Medium: " << a_mediumBarcode);

        dbo_RemoveMedium medium(a_mediumBarcode, *m_DBThread);
        medium.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::RemoveMediumVol ( const char *  a_mediumBarcode,
i_Index_t  a_mediaVolNr 
)

Definition at line 1414 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                                  {
    log_FUNC_m(RemoveMediumVol);
    try {
        log_DBG_m(dbg_LOW,  "Removing MediumVol: " << a_mediumVolNr <<
                            " of medium:" << a_mediumBarcode );

        dbo_RemoveMediumVol mv(a_mediumBarcode, a_mediumVolNr, *m_DBThread);
        mv.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::RemovePartition ( const char *  a_partName  ) 

Definition at line 907 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, m_DBThread, and rm_Partition::partitionName.

                                                                {
    log_FUNC_m(RemovePartition);
    try {

        rm_Partition part;
        part.partitionName = a_partName;

        dbo_RemovePartition rmvPart(part, *m_DBThread);
        rmvPart.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::RemoveSlot ( const char *  a_slotAddr,
const char *  a_libraryName,
i_Type_t  a_slotType 
)

Definition at line 1375 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                                {
    log_FUNC_m(RemoveSlot);
    try {
        log_DBG_m(dbg_LOW,  "Removing Slot:slotAddr " << a_slotAddr <<
                            " LibraryName" << a_libraryName );

        dbo_RemoveSlot slot(a_slotAddr, a_libraryName, a_slotType, *m_DBThread);
        slot.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

char * i_ResourceManager_i::ReserveDiskBuffer ( i_JobID_t  a_jobID,
i_FileSize_t  a_minJobSize,
i_FileSize_t  a_maxJobSize,
i_FileSize_t a_allocatedJobSize,
i_JobType_t  a_jobType 
)

Definition at line 528 of file i_rm_impl.cpp.

References dbg_LOW, log_DBG_m, log_FUNC_m, m_diskBuf_x, m_diskBufAllocator, and rm_DiskBufAllocator::ReserveDiskBuffer().

                                                              {
    log_FUNC_m(ReserveDiskBuffer);
    log_DBG_m(dbg_LOW, "a_jobID:" << a_jobID <<
        " ,a_minJobSize:" << a_minJobSize <<
        " ,a_maxJobSize:" << a_maxJobSize <<
        ", a_jobType:" << a_jobType);
    cmn_MutexLock l(m_diskBuf_x);
    try {
        string filesystem;
        filesystem = m_diskBufAllocator.ReserveDiskBuffer(  a_jobID,
                                                            a_minJobSize,
                                                            a_maxJobSize,
                                                            a_allocatedJobSize,
                                                            a_jobType);
        log_DBG_m(dbg_LOW, "Reserved. Diskbuferfs:" << filesystem <<
            " space:" << a_allocatedJobSize);
        return CORBA::string_dup(filesystem.c_str());
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_Status_t i_ResourceManager_i::Resume ( void   ) 

i_ResourceManager_i::Resume() : Implements resume database operation interface.

Definition at line 2425 of file i_rm_impl.cpp.

References log_FUNC_m, m_DBThread, and rm_DBThread::Resume().

                                      {
    log_FUNC_m(Resume);
    try {
        return (i_Status_t) m_DBThread->Resume();
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_ColMediaVolSeq_t * i_ResourceManager_i::SelectAllColVolumes (  ) 

Definition at line 1892 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

Referenced by SelectAllMinorCol().

                                                             {
    log_FUNC_m(SelectAllColVolumes);

    try {
        i_ColMediaVolSeq_t* iCmvSeq = new i_ColMediaVolSeq_t;
        log_DBG_m(dbg_LOW,"Select all collocation media volumes");

        dbo_SelectAllColVolumes cmv(*iCmvSeq, *m_DBThread);
        cmv.Execute();

        return iCmvSeq;

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

Here is the caller graph for this function:

i_DriveHostSeq_t * i_ResourceManager_i::SelectAllDriveHosts (  ) 

Definition at line 1647 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                           {
    log_FUNC_m(SelectAllDriveHosts);
    try {
        i_DriveHostSeq_t* i_dhSeq = new i_DriveHostSeq_t;
        log_DBG_m(dbg_LOW,"Select AllDriveHosts");

        dbo_SelectAllDriveHosts dh(*i_dhSeq, *m_DBThread);
        dh.Execute();

        return i_dhSeq;
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_DriveSeq_t * i_ResourceManager_i::SelectAllDrives (  ) 

Definition at line 1617 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                   {
    log_FUNC_m(SelectAllDrive);
    try {
        i_DriveSeq_t* i_drvSeq = new i_DriveSeq_t;
        log_DBG_m(dbg_LOW,"Select AllDrive");

        dbo_SelectAllDrives drv(*i_drvSeq, *m_DBThread);
        drv.Execute();

        return i_drvSeq;
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_DssSeq_t * i_ResourceManager_i::SelectAllDSS (  ) 

Definition at line 1677 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                              {
    log_FUNC_m(SelectAllDSS);
    try {
        i_DssSeq_t* iDssSeq = new i_DssSeq_t;
        log_DBG_m(dbg_LOW,"Select AllDss");

        dbo_SelectAllDiskSubsys dss(*iDssSeq, *m_DBThread);
        dss.Execute();

        return iDssSeq;
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_LibrarySeq_t * i_ResourceManager_i::SelectAllLibraries (  ) 

Definition at line 1573 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                        {
    log_FUNC_m(SelectAllLibraries);

    try {
        log_DBG_m(dbg_LOW,"Select ALL Library ");
        i_LibrarySeq_t* iLibSeq = new i_LibrarySeq_t;
        dbo_SelectAllLibraries lib(*iLibSeq, *m_DBThread);
        lib.Execute();
        return iLibSeq;

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_MajorColSeq_t * i_ResourceManager_i::SelectAllMajorCol (  ) 

Definition at line 845 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, and m_DBThread.

                                                        {
    log_FUNC_m(SelectAllMajorCol);
    try {
        i_MajorColSeq_t* majorColList = new i_MajorColSeq_t;
        dbo_SelectAllMajorCol mcl (*majorColList, *m_DBThread);
        mcl.Execute();
        return majorColList;
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_MediumSeq_t * i_ResourceManager_i::SelectAllMedia (  ) 

Definition at line 1817 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                   {
    log_FUNC_m(SelectAllMedia);

    try {
        i_MediumSeq_t* iMediumSeq = new i_MediumSeq_t;
        log_DBG_m(dbg_LOW,"Select All Mediums");

        dbo_SelectAllMedium medium(*iMediumSeq, *m_DBThread);
        medium.Execute();

        return iMediumSeq;
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_MediumSeq_t * i_ResourceManager_i::SelectAllMediaByPart ( const char *  a_partName  ) 

Definition at line 1957 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                                              {

    log_FUNC_m(SelectAllMediaByPart);

    try {
        string partName(a_partName);
        i_MediumSeq_t* i_MediumSeq = new i_MediumSeq_t;
        log_DBG_m(dbg_LOW,"Select All Media By Partiton:" << partName);

        dbo_SelectAllMediaByPart medium(partName, *i_MediumSeq, *m_DBThread);
        medium.Execute();

        return i_MediumSeq;

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_MediaPoolSeq_t * i_ResourceManager_i::SelectAllMediaPools (  ) 

Definition at line 1752 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                           {
    log_FUNC_m(SelectAllMediaPools);

    try {
        i_MediaPoolSeq_t* iMediaPoolSeq = new i_MediaPoolSeq_t;
        log_DBG_m(dbg_LOW,"Select All MediaPools");

        dbo_SelectAllMediaPool mp(*iMediaPoolSeq, *m_DBThread);
        mp.Execute();

        return iMediaPoolSeq;
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_MediumVolSeq_t * i_ResourceManager_i::SelectAllMediumVol (  ) 

Definition at line 1877 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

Referenced by SelectAllMediumVolByBarcode().

                                                          {
    log_FUNC_m(SelectAllMediumVol);

    try {
        i_MediumVolSeq_t* iMvSeq = new i_MediumVolSeq_t;
        log_DBG_m(dbg_LOW,"Select All MediumVol");

        dbo_SelectAllMediumVol mv(*iMvSeq, *m_DBThread);
        mv.Execute();

        return iMvSeq;

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

Here is the caller graph for this function:

i_MediumVolSeq_t * i_ResourceManager_i::SelectAllMediumVolByBarcode ( const char *  a_mediumBarcode  ) 

Definition at line 1923 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, m_DBThread, and SelectAllMediumVol().

                                                                                              {
    log_FUNC_m(SelectAllMediumVol);

    try {
        i_MediumVolSeq_t* iMvSeq = new i_MediumVolSeq_t;
        log_DBG_m(dbg_LOW,"Select All MediumVol by Barcode");
        string barcode(a_mediumBarcode);
        dbo_SelectAllMediumVolByBarcode mv(barcode, *iMvSeq, *m_DBThread);
        mv.Execute();

        return iMvSeq;

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_MediumSeqByVol_t * i_ResourceManager_i::SelectAllMediumVolByPart ( const char *  a_partName  ) 

Definition at line 1939 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                                                        {

    log_FUNC_m(SelectAllMediumVolByPart);

    try {
        string partName(a_partName);
        i_MediumSeqByVol_t* iMvSeq = new i_MediumSeqByVol_t;
        log_DBG_m(dbg_LOW,"Select All MediumVols By Partiton:" << partName);

        dbo_SelectAllMediumVolByPart mv(partName, false, *iMvSeq, *m_DBThread);
        mv.Execute();

        return iMvSeq;

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_MinorColSeq_t * i_ResourceManager_i::SelectAllMinorCol (  ) 

Definition at line 1907 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, m_DBThread, and SelectAllColVolumes().

                                                        {
    log_FUNC_m(SelectAllColVolumes);

    try {
        i_MinorColSeq_t* iMcsSeq = new i_MinorColSeq_t;
        log_DBG_m(dbg_LOW,"Select all minor collocation IDs");

        dbo_SelectAllMinorCol mc(*iMcsSeq, *m_DBThread);
        mc.Execute();

        return iMcsSeq;

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_MinorColSeq_t * i_ResourceManager_i::SelectAllMinorColByMajCol ( i_ColID_t  a_majColId  ) 

Definition at line 2010 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                                                    {
    log_FUNC_m(SelectAllMinorColbyMajCol);

    try {
        i_MinorColSeq_t* iMcSeq = new i_MinorColSeq_t;
        log_DBG_m(dbg_LOW,"Select All Minor collocations by majColId: " << a_majColId);

        dbo_SelectMinColByMajCol mc(a_majColId, *iMcSeq, *m_DBThread);
        mc.Execute();
        log_DBG_m(dbg_LOW,"length: " << iMcSeq->length());
        for (UInt32_t i(0); i < iMcSeq->length(); i++) {
            log_DBG_m(dbg_LOW,"iMcSeq: " << (*iMcSeq)[i].minColId
                                         << (*iMcSeq)[i].flags);
        }
        return iMcSeq;
    }ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_PartSeq_t * i_ResourceManager_i::SelectAllPartition (  ) 

Definition at line 1020 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                     {
    log_FUNC_m(SelectAllPartition);
    try {
        i_PartSeq_t* iPartSeq = new i_PartSeq_t;
        log_DBG_m(dbg_LOW,"Select All Partition");

        dbo_SelectAllPartition part(*iPartSeq, *m_DBThread);
        part.Execute();

        return iPartSeq;
    } ipc_CATCH_IVD_THROW_CORBA_m;

}

Here is the call graph for this function:

i_SlotSeq_t * i_ResourceManager_i::SelectAllSlots (  ) 

Definition at line 1707 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                 {
    log_FUNC_m(SelectAllSlots);

    try {
        i_SlotSeq_t* iSlotSeq = new i_SlotSeq_t;
        log_DBG_m(dbg_LOW,"Select All Slots");

        dbo_SelectAllSlots slot(*iSlotSeq, *m_DBThread);
        slot.Execute();

        return iSlotSeq;
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_MediumSeqByVol_t * i_ResourceManager_i::SelectAllUnrecoveredMedVol ( const char *  a_partName  ) 

Definition at line 1993 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                                                          {

    log_FUNC_m(SelectAllUnrecoveredMedVol);

    try {
        string partName(a_partName);
        i_MediumSeqByVol_t* iMvSeq = new i_MediumSeqByVol_t;
        log_DBG_m(dbg_LOW,"Select All Unrecovered MediumVols By Partiton:" << partName);

        dbo_SelectAllMediumVolByPart mv(partName, true, *iMvSeq, *m_DBThread);
        mv.Execute();

        return iMvSeq;

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_Drive_t * i_ResourceManager_i::SelectDrive ( const char *  a_driveName  ) 

Definition at line 1602 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                                   {
    log_FUNC_m(SelectDrive);

    try {
        log_DBG_m(dbg_LOW,"Select Drive: " << a_driveName);
        i_Drive_t* i_drv = new i_Drive_t;

        dbo_SelectDrive drv(a_driveName, *i_drv, *m_DBThread);
        drv.Execute();
        return i_drv;

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_Drive_t * i_ResourceManager_i::SelectDriveByKey ( i_DBKey_t  a_driveKey  ) 

Definition at line 1587 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                                     {
    log_FUNC_m(SelectDriveByKey);

    try {
        log_DBG_m(dbg_LOW,"Select Drive: " << a_driveKey);
        i_Drive_t* i_drv = new i_Drive_t;

        dbo_SelectDriveByKey drv(a_driveKey, *i_drv, *m_DBThread);
        drv.Execute();
        return i_drv;

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_DriveHost_t * i_ResourceManager_i::SelectDriveHost ( const char *  a_driveName,
const char *  a_host 
)

Definition at line 1631 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                                                               {
    log_FUNC_m(SelectDriveHost);

    try {
        log_DBG_m(dbg_LOW,"Select DriveHost  " << a_driveName << "  " << a_host);
        i_DriveHost_t* i_dH = new i_DriveHost_t;

        dbo_SelectDriveHost dh(a_driveName, a_host, *i_dH, *m_DBThread);
        dh.Execute();

        return i_dH;

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_DiskSubsys_t * i_ResourceManager_i::SelectDSS ( const char *  a_dssName  ) 

Definition at line 1661 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                                    {
    log_FUNC_m(SelectDSS);

    try {
        log_DBG_m(dbg_LOW,"Select DiskSubSystem  " << a_dssName );
        i_DiskSubsys_t* i_dss = new i_DiskSubsys_t;

        dbo_SelectDiskSubsys dss(a_dssName, *i_dss, *m_DBThread);
        dss.Execute();

        return i_dss;

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_Library_t * i_ResourceManager_i::SelectLibrary ( const char *  a_libraryName  ) 

Definition at line 1559 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                                         {
    log_FUNC_m(SelectLibrary);
    try {
        log_DBG_m(dbg_LOW,"Select Library:  " << a_libraryName);
        i_Library_t* i_lib = new i_Library_t;

        dbo_SelectLibrary lib(a_libraryName, *i_lib, *m_DBThread);
        lib.Execute();
        return i_lib;

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_MediaPool_t * i_ResourceManager_i::SelectMediaPool ( const char *  a_mediaPoolName  ) 

Definition at line 1722 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

Referenced by SelectMediaPoolbyUUID().

                                                                               {
    log_FUNC_m(SelectMediaPool);

    try {
        log_DBG_m(dbg_LOW,"Select MediaPool  " << a_mediaPoolName );
        i_MediaPool_t* i_mp = new i_MediaPool_t;

        dbo_SelectMediaPool mp(a_mediaPoolName, *i_mp, *m_DBThread);
        mp.Execute();
        return i_mp;

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

Here is the caller graph for this function:

i_MediaPool_t * i_ResourceManager_i::SelectMediaPoolbyUUID ( const char *  a_mediaPoolUUID  ) 

Definition at line 1737 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, m_DBThread, and SelectMediaPool().

                                                                                     {
    log_FUNC_m(SelectMediaPool);

    try {
        log_DBG_m(dbg_LOW,"Select MediaPool  " << a_mediaPoolUUID );
        i_MediaPool_t* i_mp = new i_MediaPool_t;

        dbo_SelectMediaPoolbyUUID mp(a_mediaPoolUUID, *i_mp, *m_DBThread);
        mp.Execute();
        return i_mp;

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_Medium_t * i_ResourceManager_i::SelectMedium ( const char *  a_mediumBarcode  ) 

Definition at line 1767 of file i_rm_impl.cpp.

References dbg_DETAIL, dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, ipc_Log::LogMedium(), and m_DBThread.

Referenced by SelectMediumByDrive().

                                                                         {
    log_FUNC_m(SelectMedium);

    try {
        log_DBG_m(dbg_LOW,"Select Medium  " << a_mediumBarcode );
        i_Medium_t* i_m = new i_Medium_t;
        dbo_SelectMedium medium(a_mediumBarcode, *i_m, *m_DBThread);
        medium.Execute();

        log_DBG_m(dbg_DETAIL,"Selected Medium:" << endl <<
                                ipc_Log::LogMedium(*i_m) );
        return i_m;

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

Here is the caller graph for this function:

i_Medium_t * i_ResourceManager_i::SelectMediumByDrive ( const char *  a_driveName  ) 

Definition at line 1800 of file i_rm_impl.cpp.

References dbg_DETAIL, dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, ipc_Log::LogMedium(), m_DBThread, and SelectMedium().

                                                                            {
    log_FUNC_m(SelectMedium);

    try {
        log_DBG_m(dbg_LOW,"Select Medium by Drive " << a_driveName );
        i_Medium_t* i_m = new i_Medium_t;
        dbo_SelectMediumByDrive medium(a_driveName, *i_m, *m_DBThread);
        medium.Execute();

        log_DBG_m(dbg_DETAIL,"Selected Medium:" << endl <<
                                ipc_Log::LogMedium(*i_m) );
        return i_m;

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_Medium_t * i_ResourceManager_i::SelectMediumByKey ( i_DBKey_t  a_mediumKey  ) 

Definition at line 1783 of file i_rm_impl.cpp.

References dbg_DETAIL, dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, ipc_Log::LogMedium(), and m_DBThread.

                                                                        {
    log_FUNC_m(SelectMediumByKey);

    try {
        log_DBG_m(dbg_LOW,"Select Medium  " << a_mediumKey );
        i_Medium_t* i_m = new i_Medium_t;
        dbo_SelectMediumByKey medium(a_mediumKey, *i_m, *m_DBThread);
        medium.Execute();

        log_DBG_m(dbg_DETAIL,"Selected Medium:" << endl <<
                                ipc_Log::LogMedium(*i_m) );
        return i_m;

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_MediumVol_t * i_ResourceManager_i::SelectMediumVol ( const char *  a_mediumBarcode,
i_Index_t  a_mediumVolNr 
)

Definition at line 1832 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                                                                        {
    log_FUNC_m(SelectMediumVol);

    try {
        log_DBG_m(dbg_LOW,"Select MediumVolume:  " << a_mediumBarcode << " " << a_mediumVolNr);
        i_MediumVol_t* i_mv = new i_MediumVol_t;

        dbo_SelectMediumVol mv(a_mediumBarcode, a_mediumVolNr, *i_mv, *m_DBThread);
        mv.Execute();
        return i_mv;

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_MediumVol_t * i_ResourceManager_i::SelectMediumVolByKey ( i_DBKey_t  a_mediumKey,
i_Index_t  a_mediumVolNr 
)

Definition at line 1847 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                                                                       {
    log_FUNC_m(SelectMediumVolByKey);

    try {
        log_DBG_m(dbg_LOW,"Select MediumVolume:  " << a_mediumKey << " " << a_mediumVolNr);
        i_MediumVol_t* i_mv = new i_MediumVol_t;

        dbo_SelectMediumVolByKey mv(a_mediumKey, a_mediumVolNr, *i_mv, *m_DBThread);
        mv.Execute();
        return i_mv;

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_MediumVol_t * i_ResourceManager_i::SelectMediumVolByUUID ( const char *  a_medVolUUID  ) 

Definition at line 1862 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                                                  {
    log_FUNC_m(SelectMediumVolByUUID);

    try {
        log_DBG_m(dbg_LOW,"Select MediumVolume:  " << a_medVolUUID);
        i_MediumVol_t* i_mv = new i_MediumVol_t;

        dbo_SelectMediumVolByUUID mv(a_medVolUUID, *i_mv, *m_DBThread);
        mv.Execute();
        return i_mv;

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_MinorCol_t i_ResourceManager_i::SelectMinorCol ( i_ColID_t  a_minColId  ) 

Definition at line 2028 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, and m_DBThread.

                                                                    {
    log_FUNC_m(SelectMinorCol);

    try {
        i_MinorCol_t minCol;
        dbo_SelectMinorCol mc(a_minColId, minCol, *m_DBThread);
        mc.Execute();
        return minCol;
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_Partition_t * i_ResourceManager_i::SelectPartition ( const char *  a_partName  ) 
i_Partition_t * i_ResourceManager_i::SelectPartitionByUUID ( const char *  a_partUuid  ) 
i_Slot_t * i_ResourceManager_i::SelectSlot ( const char *  a_slotAddr,
const char *  a_libraryName,
i_Type_t  a_slotType 
)

Definition at line 1691 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                                                                                {
    log_FUNC_m(SelectSlot);

    try {
        log_DBG_m(dbg_LOW,"Select Slot  " << a_slotAddr << " " << a_libraryName << " " << a_slotType);
        i_Slot_t* i_s = new i_Slot_t;

        dbo_SelectSlot slot(a_slotAddr, a_libraryName, a_slotType, *i_s, *m_DBThread);
        slot.Execute();

        return i_s;

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::SetPartitionStatus ( i_BitFlag_t  a_flag,
const char *  a_partName 
)

Definition at line 994 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, m_DBThread, and rmdb_MAX_PARTITIONNAME.

                                                                     {
    log_FUNC_m(SetPartitionStatus);
    try {
        rm_String partName(rmdb_MAX_PARTITIONNAME);
        partName = a_partName;
        UInt32_t flag(a_flag);
        dbo_SetPartitionStatus part(flag, partName, *m_DBThread);
        part.Execute();
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::SetPhase ( i_JobID_t  a_jobID,
i_Index_t  a_phase 
)

Definition at line 2353 of file i_rm_impl.cpp.

References log_FUNC_m, m_queue, and rm_Queue::SetPhase().

                                                                       {
    log_FUNC_m(SetPhase);
    try {

        m_queue.SetPhase(a_jobID, a_phase);

    } ipc_CATCH_IVD_THROW_CORBA_m;

}

Here is the call graph for this function:

void i_ResourceManager_i::SetPriorityModifier ( i_JobID_t  a_jobID,
CORBA::Long  a_modifier 
)

Definition at line 2339 of file i_rm_impl.cpp.

References rm_Queue::Activate(), dbg_DETAIL, log_DBG_m, log_FUNC_m, m_queue, and rm_Queue::ModifyPriority().

                                                                                     {
    log_FUNC_m(SetPriorityModifier);
    try {

        log_DBG_m(dbg_DETAIL,"Setting Priority mofifier for Job " << a_jobID << " to " << a_modifier);

        m_queue.ModifyPriority(a_jobID, a_modifier);
        m_queue.Activate();

    } ipc_CATCH_IVD_THROW_CORBA_m;

}

Here is the call graph for this function:

void i_ResourceManager_i::SetRecoveryFlag ( const char *  a_medVolId  ) 

Definition at line 2039 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, and m_DBThread.

                                                                {
    log_FUNC_m(SetRecoveryFlag);
    try {
        string medVolId(a_medVolId);
        dbo_SetRecoveryFlag mv(medVolId, *m_DBThread);
        mv.Execute();
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::SetReorgScan ( const char *  a_partName  ) 

Definition at line 2378 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                             {
    log_FUNC_m(SetReorgScan);
    try {
        log_DBG_m(dbg_LOW,"a_partName " << a_partName);
        string partName(a_partName);

        dbo_SetReorgScan srs(partName, *m_DBThread);
        srs.Execute();


    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::SetRMPartStatus ( cfg_PMCfg a_pmCfg  ) 

Definition at line 1054 of file i_rm_impl.cpp.

References dbg_NORM, rm_PartitionStatus::GetPartName(), rm_PartitionStatus::GetPartUUID(), log_DBG_m, log_FUNC_m, log_WRN_m, rm_PartitionStatus::LogCurrentState(), m_queue, rm_Queue::m_SysState, cfg_PMCfg::maintPriority, cfg_PMCfg::maxNumDrives, cfg_PMCfg::maxNumDrivesMaint, cfg_PMCfg::maxNumDrivesMigration, cfg_PMCfg::maxNumDrivesRecall, cfg_PMCfg::maxNumDrivesRecovery, cfg_PMCfg::maxNumDrivesReorg, cfg_PMCfg::migrationPriority, cfg_PMCfg::name, cfg_PMCfg::partitionPriority, cfg_PMCfg::recallPriority, cfg_PMCfg::recoveryPriority, cfg_PMCfg::reorgPriority, cfg_PMCfg::reserveNumDrives, cfg_PMCfg::reserveNumDrivesMaint, cfg_PMCfg::reserveNumDrivesMigration, cfg_PMCfg::reserveNumDrivesRecall, cfg_PMCfg::reserveNumDrivesRecovery, cfg_PMCfg::reserveNumDrivesReorg, cmn_UUID_t::ToString(), and rm_SysState::UpdatePM().

Referenced by RegisterPartition(), and UpdatePartition().

                                                            {
    log_FUNC_m(SetRMPartStatus);
    try {
        rm_PartitionStatus rmPartStat(  a_pmCfg.name,
                                        a_pmCfg.maxNumDrives,
                                        a_pmCfg.maxNumDrivesRecall,
                                        a_pmCfg.maxNumDrivesMigration,
                                        a_pmCfg.maxNumDrivesReorg,
                                        a_pmCfg.maxNumDrivesRecovery,
                                        a_pmCfg.maxNumDrivesMaint,
                                        a_pmCfg.reserveNumDrives,
                                        a_pmCfg.reserveNumDrivesRecall,
                                        a_pmCfg.reserveNumDrivesMigration,
                                        a_pmCfg.reserveNumDrivesReorg,
                                        a_pmCfg.reserveNumDrivesRecovery,
                                        a_pmCfg.reserveNumDrivesMaint,
                                        a_pmCfg.partitionPriority,
                                        a_pmCfg.migrationPriority,
                                        a_pmCfg.recallPriority,
                                        a_pmCfg.reorgPriority,
                                        a_pmCfg.recoveryPriority,
                                        a_pmCfg.maintPriority,
                                        this);

        log_DBG_m(dbg_NORM, " Found Partition with Name: " <<
            rmPartStat.GetPartName() <<
            " and UUID: " << rmPartStat.GetPartUUID().ToString());

        m_queue.m_SysState.UpdatePM(rmPartStat);

        log_DBG_m(dbg_NORM,
            " added partition: " << rmPartStat.GetPartName() <<
            " to systemstate"
            );
        rmPartStat.LogCurrentState();
    } catch (ivd_Error& e) {
        log_WRN_m(e);
    }
}

Here is the call graph for this function:

Here is the caller graph for this function:

void i_ResourceManager_i::StartAllLA (  ) 

Definition at line 2267 of file i_rm_impl.cpp.

References dbg_DETAIL, ExecStartLA(), rm_DBOperation::Execute(), ie_FATAL_ERROR, log_DBG_m, log_ERR_m, log_FUNC_m, and m_DBThread.

Referenced by i_ResourceManager_i().

                                     {
    log_FUNC_m(StartAllLA);

    i_LibrarySeq_t_var iLS(new i_LibrarySeq_t);
    dbo_SelectAllLibraries sAll(iLS, *m_DBThread);
    sAll.Execute();

    for (UInt32_t i = 0; i < iLS->length(); i++) {
        try {
            string lName(iLS[i].libraryName);
            string lHost(iLS[i].host);

            ivd_LibraryType_e lType;
            switch (iLS[i].libraryType) {
                case(0):
                    lType = lt_UNKNOWN;
                    break;
                case(1):
                    lType = lt_SCSI;
                    break;
                case(2):
                    lType = lt_MANUAL;
                    break;
                default:
                    throw ivd_InternalError(ie_FATAL_ERROR, "Conversion to ivd_LibraryType_e for unknown int");
            }
            log_DBG_m(dbg_DETAIL,"lHost:" << lHost);

            ExecStartLA(lName, lHost, lType);
        }
        catch (ivd_Error) {
            log_ERR_m("Could not start LA:" << iLS[i].libraryName);
        }
    }
}

Here is the call graph for this function:

Here is the caller graph for this function:

void i_ResourceManager_i::StartLA ( const char *  a_libName  ) 

Definition at line 2165 of file i_rm_impl.cpp.

References ExecStartLA(), rm_DBOperation::Execute(), log_FUNC_m, and m_DBThread.

                                                       {
    log_FUNC_m(StartLA);

    try{
        i_Library_t_var iLib(new i_Library_t);
        dbo_SelectLibrary sl(a_libName, iLib, *m_DBThread );
        sl.Execute();
        string lHost(iLib->host);
        ivd_LibraryType_e lType;
        lType = static_cast<ivd_LibraryType_e>(iLib->libraryType);

        ExecStartLA(a_libName, lHost, lType);
    }
    ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::StopAllLA (  ) 

Definition at line 2304 of file i_rm_impl.cpp.

References ExecStopLA(), rm_DBOperation::Execute(), log_ERR_m, log_FUNC_m, and m_DBThread.

Referenced by Remove().

                                    {
    log_FUNC_m(StopAllLA);

    i_LibrarySeq_t_var iLS(new i_LibrarySeq_t);
    dbo_SelectAllLibraries sAll(iLS, *m_DBThread);
    sAll.Execute();

    for (UInt32_t i = 0; i < iLS->length(); i++) {
        try {
            string lName(iLS[i].libraryName);
            string lHost(iLS[i].host);
            ExecStopLA(lName, lHost);
        }
        catch (ivd_Error) {
            log_ERR_m("Could not stop LA:" << iLS[i].libraryName);
        }
    }
}

Here is the call graph for this function:

Here is the caller graph for this function:

void i_ResourceManager_i::StopLA ( const char *  a_libName  ) 

Definition at line 2215 of file i_rm_impl.cpp.

References ExecStopLA(), rm_DBOperation::Execute(), log_FUNC_m, and m_DBThread.

                                                      {
    log_FUNC_m(StopLA);
    try {

        i_Library_t_var iLib(new i_Library_t);
        dbo_SelectLibrary sl(a_libName, iLib, *m_DBThread );
        sl.Execute();

        string lHost(iLib->host);
        ExecStopLA(a_libName, lHost);

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

i_Status_t i_ResourceManager_i::Suspend ( void   ) 

i_ResourceManager_i::Suspend() : Implements suspend database operation interface.

A RMDB suspend causes the IVD System to freeze until a Resume occures. All jobs remain in their current state, no new jobs are added. IVD commands that are database related are blocked. ivdjob -l will be blocked if there are pending jobs (not having a thread yet ).

Definition at line 2414 of file i_rm_impl.cpp.

References log_FUNC_m, m_DBThread, and rm_DBThread::Suspend().

                                       {
    log_FUNC_m(Suspend);
    try {
        return (i_Status_t) m_DBThread->Suspend();
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::UnRegisterPartition ( const char *  a_partName  ) 

Definition at line 1170 of file i_rm_impl.cpp.

References log_FUNC_m, m_queue, rm_Queue::m_SysState, and rm_SysState::UnRegisterPM().

                                                                    {
    log_FUNC_m(UnRegisterPartition);
    string pmID(a_partName);
    try {
        m_queue.m_SysState.UnRegisterPM(pmID);
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::UpdateDataSize ( i_DBKey_t  a_mediumKey,
i_DBKey_t  a_medvolNum,
i_VolSize_t  a_totalSize,
i_VolSize_t  a_reorgSize 
)

Definition at line 1538 of file i_rm_impl.cpp.

References dbg_NORM, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                                                                    {
    log_FUNC_m(UpdateDataSize);
    try {
        log_DBG_m(dbg_NORM, "a_mediumKey" << a_mediumKey <<
                            ", a_medVolNum" << a_medVolNum <<
                            ", a_totalSize" << a_totalSize <<
                            ", a_validSize" << a_validSize);
        dbo_UpdateDataSize ds(  a_mediumKey,
                                a_medVolNum,
                                a_totalSize,
                                a_validSize,
                                *m_DBThread);
        ds.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::UpdateDiskSubsys ( const i_DiskSubsys_t a_dss  ) 

Definition at line 1472 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, ipc_Log::LogDSS(), and m_DBThread.

                                                                      {
    log_FUNC_m(UpdateDiskSubsys);
    try {
        log_DBG_m(dbg_LOW,"Updating DiskSubSystem" << endl << ipc_Log::LogDSS(a_dss));

        dbo_UpdateDiskSubsys dss(a_dss, *m_DBThread);
        dss.Execute();
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::UpdateDrive ( const i_Drive_t a_drive  ) 

Definition at line 1448 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, ipc_Log::LogDrive(), and m_DBThread.

                                                              {
    log_FUNC_m(UpdateDrive);
    log_DBG_m(dbg_LOW,"Updating Drive" << endl << ipc_Log::LogDrive(a_drive));
    try {

        dbo_UpdateDrive drv(a_drive, *m_DBThread);
        drv.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::UpdateDriveHost ( const i_DriveHost_t a_driveHost  ) 

Definition at line 1460 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, ipc_Log::LogDriveHost(), and m_DBThread.

                                                                          {
    log_FUNC_m(UpdateDriveHost);
    try {
        log_DBG_m(dbg_LOW,"Updating DriveHost" << endl << ipc_Log::LogDriveHost(a_driveHost));

        dbo_UpdateDriveHost dh(a_driveHost, *m_DBThread);
        dh.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::UpdateLibrary ( const i_Library_t a_library  ) 

Definition at line 1436 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, ipc_Log::LogLibrary(), and m_DBThread.

                                                                    {
    log_FUNC_m(UpdateLibrary);
    log_DBG_m(dbg_LOW,"Updating Library" << endl << ipc_Log::LogLibrary(a_library));
    try {

        dbo_UpdateLibrary lib(a_library, *m_DBThread);
        lib.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::UpdateMajorCol ( const i_MajorCol_t a_majorCol  ) 

Definition at line 867 of file i_rm_impl.cpp.

References cmn_Num2Str(), dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, log_WriteEvent(), m_DBThread, i_MajorCol_t::majColId, i_MajorCol_t::majColSize, and UseNewResource().

                                                                       {
    log_FUNC_m(UpdateMajorCol);
    try {
        log_DBG_m(dbg_LOW, "Updating MajorCol: " << a_majorCol.majColId << endl);
        dbo_UpdateMajorCol mc(a_majorCol, *m_DBThread);
        mc.Execute();
        ostringstream sstr;
        sstr << "Collocation group size updated: " << a_majorCol.majColSize << "MB.";
        log_WriteEvent(sstr.str(), "", 0, cmn_Num2Str(a_majorCol.majColId));
        UseNewResource();
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::UpdateMediaPool ( const i_MediaPool_t a_mediaPool  ) 

Definition at line 1494 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, ipc_Log::LogMediaPool(), and m_DBThread.

                                                                          {
    log_FUNC_m(UpdateMediaPool);
    try {
        log_DBG_m(dbg_LOW,"Update MediaPool" << endl << ipc_Log::LogMediaPool(a_mediaPool));

        dbo_UpdateMediaPool mp(a_mediaPool, *m_DBThread);
        mp.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::UpdateMedium ( const i_Medium_t a_medium  ) 

Definition at line 1506 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, ipc_Log::LogMedium(), and m_DBThread.

                                                                 {
    log_FUNC_m(UpdateMedium);
    try {
        log_DBG_m(dbg_LOW,"Update Medium" << endl << ipc_Log::LogMedium(a_medium));

        dbo_UpdateMedium medium(a_medium, *m_DBThread);
        medium.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::UpdateMediumVol ( const i_MediumVol_t a_mediumVol  ) 

Definition at line 1518 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, ipc_Log::LogMediumVol(), m_DBThread, i_MediumVol_t::mediumBarcode, i_MediumVol_t::medVolNr, rmdb_MEDVOL_EMPTY, and i_MediumVol_t::status.

                                                                          {
    log_FUNC_m(UpdateMediumVol);
    try {
        log_DBG_m(dbg_LOW,"Update MediumVolume" << endl << ipc_Log::LogMediumVol(a_mediumVol));

        dbo_UpdateMediumVol mv(a_mediumVol, *m_DBThread);
        mv.Execute();

        if (a_mediumVol.status == rmdb_MEDVOL_EMPTY) {
            log_DBG_m(dbg_LOW, "Removing medium " << a_mediumVol.mediumBarcode
                << ", volume " << a_mediumVol.medVolNr
                << " from ColMediaVol.");
            dbo_RemoveColMediaVol cmv(string(a_mediumVol.mediumBarcode), a_mediumVol.medVolNr, *m_DBThread);
            cmv.Execute();
        }

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::UpdatePartition ( const char *  a_partName  ) 

Definition at line 1124 of file i_rm_impl.cpp.

References cfg_PMCfg::clients, dbg_NORM, rm_DBOperation::Execute(), rm_Partition::fsHost, rm_Partition::fsID, rm_Partition::fsMountpoint, GetFSType(), ie_NOT_SUPPORTED, ivd_FSTypeToText(), log_DBG_m, log_FUNC_m, log_NOTE_m, m_DBThread, cfg_PMCfg::name, rm_Partition::options, ParsePMConfig(), SetPartitionOptions(), and SetRMPartStatus().

                                                                {
    log_FUNC_m(UpdatePartition);
    try {
        cfg_PMCfg pmCfg;
        ParsePMConfig(pmCfg, a_partName);
        SetRMPartStatus(pmCfg);

        if (pmCfg.clients.size() != 1) {
            throw ivd_InternalError(ie_NOT_SUPPORTED,
                "only one client supported in 3.1");
        }

        rm_Partition rmPart;
        dbo_SelectPartition selPart(pmCfg.name, rmPart, *m_DBThread);
        selPart.Execute();
        // i_Part UUID & MigIDTime & MgID Count can not be changed!!!
        // Note: only one client supported today

        rmPart.fsHost       = CORBA::string_dup(pmCfg.clients[0].name.c_str());
        rmPart.fsMountpoint = CORBA::string_dup("NYI");
        rmPart.fsID         = CORBA::string_dup(pmCfg.clients[0].fileSystemId.c_str());

        Int32_t partOptions(0);
        SetPartitionOptions(partOptions, &pmCfg.clients[0]);

        if (rmPart.options != partOptions) {
            if (GetFSType(rmPart.options) != GetFSType(partOptions)) {
                ostringstream msg;
                msg << "Operation mode set to " << ivd_FSTypeToText(GetFSType(partOptions));
                log_NOTE_m(msg.str());
            }
            rmPart.options = partOptions;
        }
        else {
            log_DBG_m(dbg_NORM, "Partition options did not change.");
        }

        // update record in rmdb
        log_DBG_m(dbg_NORM, "rmPart.options:" << rmPart.options);

        dbo_UpdatePartition updatePart(rmPart, *m_DBThread);
        updatePart.Execute();
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::UpdateSlot ( const i_Slot_t a_slot  ) 

Definition at line 1483 of file i_rm_impl.cpp.

References dbg_LOW, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, ipc_Log::LogSlot(), and m_DBThread.

                                                           {
    log_FUNC_m(UpdateSlot);
    try {
        log_DBG_m(dbg_LOW,"Updating Slot" << endl << ipc_Log::LogSlot(a_slot));

        dbo_UpdateSlot slot(a_slot, *m_DBThread);
        slot.Execute();
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::UseNewResource (  ) 

Definition at line 510 of file i_rm_impl.cpp.

References rm_Queue::Activate(), log_FUNC_m, and m_queue.

Referenced by DriveError(), DriveStatusClear(), LibraryStatusClear(), MediumStatusClear(), and UpdateMajorCol().

                                         {
    log_FUNC_m(UseNewResource);
    try {
        m_queue.Activate();
    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

Here is the caller graph for this function:

void i_ResourceManager_i::VolumeEmpty ( const char *  a_medVolId  ) 

Definition at line 598 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, and m_DBThread.

                                                            {
    log_FUNC_m(VolumeEmpty);
    try {

        dbo_VolumeEmpty ve(a_medVolId, *m_DBThread);
        ve.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::VolumeError ( const char *  a_medVolId  ) 

Definition at line 629 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, and m_DBThread.

                                                            {
    log_FUNC_m(VolumeError);
    try {

        dbo_VolumeError mv(a_medVolId, *m_DBThread);
        mv.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;

}

Here is the call graph for this function:

void i_ResourceManager_i::VolumeFull ( const char *  a_medVolId  ) 

Definition at line 588 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, and m_DBThread.

                                                           {
    log_FUNC_m(VolumeFull);
    try {
        dbo_VolumeFull vf(a_medVolId, *m_DBThread);
        vf.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::VolumeListStatusSet ( CORBA::ULong  a_medKey,
const i_ULongList_t a_volumes,
CORBA::ULong  a_status 
)

Definition at line 743 of file i_rm_impl.cpp.

References rm_DBOperation::Execute(), log_FUNC_m, and m_DBThread.

                                                                    {
   log_FUNC_m(VolumeListStatusSet);
   try {
       dbo_VolumeListStatusSet vlss(a_medKey, a_volumes, a_status, *m_DBThread);
       vlss.Execute();
   } ipc_CATCH_IVD_THROW_CORBA_m;
}

Here is the call graph for this function:

void i_ResourceManager_i::VolumeUsage ( const char *  a_medVolId,
CORBA::Long  a_percentage,
i_VolSize_t  a_totalData 
)

Definition at line 609 of file i_rm_impl.cpp.

References dbg_NORM, rm_DBOperation::Execute(), log_DBG_m, log_FUNC_m, and m_DBThread.

                             {

    log_FUNC_m(VolumeUsage);
    try {

        log_DBG_m(dbg_NORM, "Setting Vol: " << a_medVolId <<
                            " usage to " << a_percentage << "%" <<
                            " Total: " << a_totalData << " MB");

        dbo_VolumeUsage mv(a_medVolId, a_percentage, a_totalData, *m_DBThread);
        mv.Execute();

    } ipc_CATCH_IVD_THROW_CORBA_m;

}

Here is the call graph for this function:


Member Data Documentation

Reimplemented from i_Component_i.

Definition at line 247 of file i_rm_impl.h.

Definition at line 241 of file i_rm_impl.h.

Referenced by AddColMediaVol(), AddDiskSubsys(), AddDrive(), AddDriveHost(), AddLibrary(), AddMajorCol(), AddMediaPool(), AddMedium(), AddMediumVol(), AddMinorCol(), AddPartition(), AddSlot(), rm_Queue::AllocateAdmin(), rm_Queue::AllocateMaint(), rm_Queue::AllocateMig(), rm_Queue::AllocateRec(), rm_Queue::AllocateRecovery(), rm_Queue::AllocateReorg(), ClearPartitionStatus(), ClearRecoveryFlag(), ClearReorgScan(), DisablePartition(), DriveError(), DriveStatusClear(), DriveStatusSet(), EnablePartition(), GetBestCopy(), GetHost(), GetMediaInfo(), GetNewJobID(), rm_SysState::GetNewMigID(), i_ResourceManager_i(), InventoryUpdate(), IsSomeVolumeUsed(), LibraryStatusClear(), LibraryStatusSet(), MediumLoaded(), MediumStatusClear(), MediumStatusSet(), MediumUnLoaded(), MediumUnreliable(), MediumUnusable(), MedVolStatusClear(), MedVolStatusSet(), PoolInfo(), ReconfigureLibrary(), RegisterPartition(), ReleaseRecallResources(), ReleaseResource(), RemoveColIDs(), RemoveDrive(), RemoveDriveHost(), RemoveDSS(), RemoveLibrary(), RemoveMediaPool(), RemoveMedium(), RemoveMediumVol(), RemovePartition(), RemoveSlot(), Resume(), rm_PartitionStatus::rm_PartitionStatus(), SelectAllColVolumes(), SelectAllDriveHosts(), SelectAllDrives(), SelectAllDSS(), SelectAllLibraries(), SelectAllMajorCol(), SelectAllMedia(), SelectAllMediaByPart(), SelectAllMediaPools(), SelectAllMediumVol(), SelectAllMediumVolByBarcode(), SelectAllMediumVolByPart(), SelectAllMinorCol(), SelectAllMinorColByMajCol(), SelectAllPartition(), SelectAllSlots(), SelectAllUnrecoveredMedVol(), SelectDrive(), SelectDriveByKey(), SelectDriveHost(), SelectDSS(), SelectLibrary(), SelectMediaPool(), SelectMediaPoolbyUUID(), SelectMedium(), SelectMediumByDrive(), SelectMediumByKey(), SelectMediumVol(), SelectMediumVolByKey(), SelectMediumVolByUUID(), SelectMinorCol(), SelectPartition(), SelectPartitionByUUID(), SelectSlot(), SetPartitionStatus(), SetRecoveryFlag(), SetReorgScan(), StartAllLA(), StartLA(), StopAllLA(), StopLA(), Suspend(), UpdateDataSize(), UpdateDiskSubsys(), UpdateDrive(), UpdateDriveHost(), UpdateLibrary(), UpdateMajorCol(), UpdateMediaPool(), UpdateMedium(), UpdateMediumVol(), UpdatePartition(), UpdateSlot(), VolumeEmpty(), VolumeError(), VolumeFull(), VolumeListStatusSet(), VolumeUsage(), and ~i_ResourceManager_i().

Definition at line 244 of file i_rm_impl.h.

Referenced by GetMaxDiskBufferSize(), ReleaseDiskBuffer(), and ReserveDiskBuffer().

Definition at line 239 of file i_rm_impl.h.

Referenced by GetNewJobID(), and i_ResourceManager_i().

Definition at line 242 of file i_rm_impl.h.

Referenced by i_ResourceManager_i(), and main().


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