diff options
author | Rick Ward <rward15@us.ibm.com> | 2018-04-04 14:54:17 -0500 |
---|---|---|
committer | William G. Hoffa <wghoffa@us.ibm.com> | 2018-04-05 11:54:23 -0400 |
commit | 2e3def0e5420ee94273cfb12f6f120320ccb202c (patch) | |
tree | 7b3c3210481053eddaa58398883618de59d50c25 /src/usr | |
parent | 379efca3b8ff7fd5bcd05c7bf8c1226e07cd7219 (diff) | |
download | talos-hostboot-2e3def0e5420ee94273cfb12f6f120320ccb202c.tar.gz talos-hostboot-2e3def0e5420ee94273cfb12f6f120320ccb202c.zip |
zero length dump on single node systems
Quick hack to fix dumps on single node systems.
Proposed fix did not work. This change forces
isCurrentMasterNode() to always return true.
Change-Id: I9366617d42923e5d13c0f7ea4f624e1749ad6810
CQ:SW423016
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/56769
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: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/usr')
-rw-r--r-- | src/usr/isteps/istep18/establish_system_smp.C | 18 | ||||
-rwxr-xr-x | src/usr/targeting/common/xmltohb/attribute_types_hb.xml | 4 | ||||
-rw-r--r-- | src/usr/targeting/targplatutil.C | 3 |
3 files changed, 18 insertions, 7 deletions
diff --git a/src/usr/isteps/istep18/establish_system_smp.C b/src/usr/isteps/istep18/establish_system_smp.C index 7430e0d9f..733e0bf47 100644 --- a/src/usr/isteps/istep18/establish_system_smp.C +++ b/src/usr/isteps/istep18/establish_system_smp.C @@ -442,14 +442,22 @@ static void set_is_master_drawer(TARGETING::EntityPath *master) const TARGETING::EntityPath::PathElement mpe = master->pathElementOfType(TARGETING::TYPE_NODE); + // get current node + TARGETING::Target *current = nullptr; + TARGETING::TargetHandleList l_nodelist; + getEncResources(l_nodelist, TARGETING::TYPE_NODE, + TARGETING::UTIL_FILTER_FUNCTIONAL); + assert(l_nodelist.size() == 1, "ERROR, only looking for one node."); + current = l_nodelist[0]; if (pe.instance == mpe.instance) { // Current node is master, set IS_MASTER_DRAWER - TARGETING::TargetHandleList l_nodelist; - getEncResources(l_nodelist, TARGETING::TYPE_NODE, - TARGETING::UTIL_FILTER_FUNCTIONAL); - assert(l_nodelist.size() == 1, "ERROR, only looking for one node."); - l_nodelist[0]->setAttr<TARGETING::ATTR_IS_MASTER_DRAWER>(1); + current->setAttr<TARGETING::ATTR_IS_MASTER_DRAWER>(1); + } + else + { + // Current node is not master, unset IS_MASTER_DRAWER + current->setAttr<TARGETING::ATTR_IS_MASTER_DRAWER>(0); } } diff --git a/src/usr/targeting/common/xmltohb/attribute_types_hb.xml b/src/usr/targeting/common/xmltohb/attribute_types_hb.xml index f6aa85a0b..85e22672e 100755 --- a/src/usr/targeting/common/xmltohb/attribute_types_hb.xml +++ b/src/usr/targeting/common/xmltohb/attribute_types_hb.xml @@ -123,10 +123,10 @@ <description>1 = is master node, 0 = is not master node</description> <simpleType> <uint8_t> - <default>0</default> + <default>1</default> </uint8_t> </simpleType> - <persistency>volatile-zeroed</persistency> + <persistency>volatile</persistency> <readable/> <writeable/> </attribute> diff --git a/src/usr/targeting/targplatutil.C b/src/usr/targeting/targplatutil.C index 3c4369e09..45fe78ebe 100644 --- a/src/usr/targeting/targplatutil.C +++ b/src/usr/targeting/targplatutil.C @@ -113,6 +113,7 @@ void getMasterNodeTarget(Target*& o_masterNodeTarget) bool isCurrentMasterNode() { +#if 0 // Get node target TARGETING::TargetHandleList l_nodelist; getEncResources(l_nodelist, TARGETING::TYPE_NODE, @@ -121,6 +122,8 @@ bool isCurrentMasterNode() auto isMaster = l_nodelist[0]->getAttr<TARGETING::ATTR_IS_MASTER_DRAWER>(); return (isMaster == 1); +#endif + return true; } #ifndef __HOSTBOOT_RUNTIME |