From 694b4840fe38e4f03f5185c9e4ab9240a1ba7094 Mon Sep 17 00:00:00 2001 From: Brian Horton Date: Fri, 16 Aug 2013 13:57:12 -0500 Subject: correct DECONFIG_GARDABLE handling . update attribute description to be more accurate . revert CORE setting back to not DECONFIG_GARDABLE . correct deconfigByAssociation code to not check DECONFIG_GARDABLE Change-Id: Ib7bb678fd76f7bd8f99655810721b6985c5680e4 RTC: 81134 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/5816 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell Reviewed-by: A. Patrick Williams III --- src/usr/hwas/common/deconfigGard.C | 27 +++++++++------------- .../targeting/common/xmltohb/attribute_types.xml | 3 ++- src/usr/targeting/common/xmltohb/target_types.xml | 4 ++-- 3 files changed, 15 insertions(+), 19 deletions(-) diff --git a/src/usr/hwas/common/deconfigGard.C b/src/usr/hwas/common/deconfigGard.C index 79834308e..e2a21bf9b 100644 --- a/src/usr/hwas/common/deconfigGard.C +++ b/src/usr/hwas/common/deconfigGard.C @@ -739,6 +739,9 @@ void DeconfigGard::_deconfigureByAssoc(Target & i_target, TargetHandleList pChildList; PredicateIsFunctional isFunctional; + // note - ATTR_DECONFIG_GARDABLE is NOT checked for all 'by association' + // deconfigures, as that attribute is only for direct deconfigure requests. + // find all CHILD matches for this target and deconfigure them targetService().getAssociated(pChildList, &i_target, TargetService::CHILD, TargetService::ALL, &isFunctional); @@ -748,14 +751,10 @@ void DeconfigGard::_deconfigureByAssoc(Target & i_target, { TargetHandle_t pChild = *pChild_it; - if (pChild->getAttr()) - { // only deconfigure targets that are able to be deconfigured - HWAS_INF("deconfigByAssoc CHILD: %.8X", - get_huid(pChild)); - _deconfigureTarget(*pChild, i_errlPlid); - // Deconfigure other Targets by association - _deconfigureByAssoc(*pChild, i_errlPlid); - } + HWAS_INF("deconfigByAssoc CHILD: %.8X", get_huid(pChild)); + _deconfigureTarget(*pChild, i_errlPlid); + // Deconfigure other Targets by association + _deconfigureByAssoc(*pChild, i_errlPlid); } // for CHILD // find all CHILD_BY_AFFINITY matches for this target and deconfigure them @@ -767,14 +766,10 @@ void DeconfigGard::_deconfigureByAssoc(Target & i_target, { TargetHandle_t pChild = *pChild_it; - if (pChild->getAttr()) - { // only deconfigure targets that are able to be deconfigured - HWAS_INF("deconfigByAssoc CHILD_BY_AFFINITY: %.8X", - get_huid(pChild)); - _deconfigureTarget(*pChild, i_errlPlid); - // Deconfigure other Targets by association - _deconfigureByAssoc(*pChild, i_errlPlid); - } + HWAS_INF("deconfigByAssoc CHILD_BY_AFFINITY: %.8X", get_huid(pChild)); + _deconfigureTarget(*pChild, i_errlPlid); + // Deconfigure other Targets by association + _deconfigureByAssoc(*pChild, i_errlPlid); } // for CHILD_BY_AFFINITY // Memory deconfigureByAssociation rules diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml index c38fa1282..20951ce64 100644 --- a/src/usr/targeting/common/xmltohb/attribute_types.xml +++ b/src/usr/targeting/common/xmltohb/attribute_types.xml @@ -980,7 +980,8 @@ DECONFIG_GARDABLE - If the Target is Deconfigurable and GARDable + If the Target is directly deconfigurable and GARDable; target + may still be deconfigured in 'by association' processing. 0 diff --git a/src/usr/targeting/common/xmltohb/target_types.xml b/src/usr/targeting/common/xmltohb/target_types.xml index 54eaf3618..6d8d78e9c 100644 --- a/src/usr/targeting/common/xmltohb/target_types.xml +++ b/src/usr/targeting/common/xmltohb/target_types.xml @@ -578,9 +578,9 @@ TYPE CORE - DECONFIG_GARDABLE1 + DECONFIG_GARDABLE0 HWAS_STATE_CHANGED_SUBSCRIPTION_MASK - 0x00000001 + 0x00000000 -- cgit v1.2.1