diff --git a/oam/oamcpp/liboamcpp.cpp b/oam/oamcpp/liboamcpp.cpp index 927250cfc..f30e6659d 100644 --- a/oam/oamcpp/liboamcpp.cpp +++ b/oam/oamcpp/liboamcpp.cpp @@ -1974,7 +1974,11 @@ void Oam::getProcessConfig(SystemProcessConfig& systemprocessconfig) systemprocessconfig.processconfig.clear(); Config* proConfig = Config::makeConfig(ProcessConfigFile.c_str()); - + Config *csConfig = Config::makeConfig(); + string strStorageManagerEnabled = csConfig->getConfig("StorageManager", "Enabled"); + bool storageManagerEnabled = !strStorageManagerEnabled.empty() && (strStorageManagerEnabled[0] == 'Y' || + strStorageManagerEnabled[0] == 'y' || strStorageManagerEnabled[0] == 'T' || strStorageManagerEnabled[0] == 't'); + for (int processID = 1; processID < MAX_PROCESS + 1; processID++) { ProcessConfig processconfig; @@ -1987,7 +1991,8 @@ void Oam::getProcessConfig(SystemProcessConfig& systemprocessconfig) proConfig->getConfig(sectionName, "ModuleType"), processconfig ); - if (processconfig.ProcessName.empty()) + if (processconfig.ProcessName.empty() || + (!storageManagerEnabled && processconfig.ProcessName == "StorageManager")) continue; systemprocessconfig.processconfig.push_back(processconfig);