summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>2018-10-04 06:24:19 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-10-09 09:12:55 -0500
commit3b5764defdff5c0f4ca7628804983d7a2c86900e (patch)
tree985f1da96b1641473a831768534f6038b766d64e /src
parent31b6cf0ac237a0365bcf225fc0e8ae20c7012b87 (diff)
downloadtalos-hostboot-3b5764defdff5c0f4ca7628804983d7a2c86900e.tar.gz
talos-hostboot-3b5764defdff5c0f4ca7628804983d7a2c86900e.zip
Skip resource recovery for node and power gard.
After the node is deconfigured with non-fatal or power error running a resource recovery will always recover the node since all vital parts are deconfigured in the node. so skipping the resource recovery for node. Power gard need be considered as fatal so skipping resource recovery for power gard too. Change-Id: I246733b59d908a56401a0c602897a5d12522406b Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> CQ: SW444154 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66981 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r--src/usr/hwas/common/deconfigGard.C22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/usr/hwas/common/deconfigGard.C b/src/usr/hwas/common/deconfigGard.C
index f844ec912..7e77b4ef7 100644
--- a/src/usr/hwas/common/deconfigGard.C
+++ b/src/usr/hwas/common/deconfigGard.C
@@ -568,13 +568,6 @@ errlHndl_t DeconfigGard::deconfigureTargetsFromGardRecordsForIpl(
{
GardRecord l_gardRecord = *l_itr;
- //Continue only with FATAL/UNRECOVERABLE gard errors.
- if((l_gardRecord.iv_errorType != GARD_Fatal)&&
- (l_gardRecord.iv_errorType != GARD_Unrecoverable))
- {
- //Skip recoverable gard records
- continue;
- }
// Find the associated Target
Target * l_pTarget =
targetService().toTarget(l_gardRecord.iv_targetId);
@@ -590,6 +583,16 @@ errlHndl_t DeconfigGard::deconfigureTargetsFromGardRecordsForIpl(
continue;
}
+ //Continue only with FATAL/UNRECOVERABLE gard errors.
+ //All gard on node deosnt need resource recovery
+ if(((l_gardRecord.iv_errorType != GARD_Fatal)&&
+ (l_gardRecord.iv_errorType != GARD_Unrecoverable))||
+ (l_pTarget->getAttr<ATTR_TYPE>() == TYPE_NODE))
+ {
+ //Skip recoverable gard records
+ continue;
+ }
+
// if this does NOT match, continue to next in loop
if (i_pPredicate && ((*i_pPredicate)(l_pTarget) == false))
{
@@ -726,9 +729,10 @@ errlHndl_t DeconfigGard::deconfigureTargetsFromGardRecordsForIpl(
}
continue;
}
- //Continue only with recoverable gard errors.
+ //Continue only with recoverable or non node gard errors.
if((l_gardRecord.iv_errorType == GARD_Fatal)||
- (l_gardRecord.iv_errorType == GARD_Unrecoverable))
+ (l_gardRecord.iv_errorType == GARD_Unrecoverable)||
+ (l_pTarget->getAttr<ATTR_TYPE>() == TYPE_NODE))
{
//Skip non-recoverable gard records
continue;
OpenPOWER on IntegriCloud