Hey Sasha,

Noticed this corner case.  If I load a ibnetdiscover cache, then try to
re-cache it, the cache doesn't store things properly b/c I didn't
reconstruct one fabric data structure properly.  This fixes that bug.

Al

-- 
Albert Chu
ch...@llnl.gov
Computer Scientist
High Performance Systems Division
Lawrence Livermore National Laboratory
--- Begin Message ---
Signed-off-by: Albert Chu <ch...@llnl.gov>
---
 .../libibnetdisc/src/ibnetdisc_cache.c             |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/infiniband-diags/libibnetdisc/src/ibnetdisc_cache.c 
b/infiniband-diags/libibnetdisc/src/ibnetdisc_cache.c
index d94b85a..9cd5981 100644
--- a/infiniband-diags/libibnetdisc/src/ibnetdisc_cache.c
+++ b/infiniband-diags/libibnetdisc/src/ibnetdisc_cache.c
@@ -501,6 +501,10 @@ static int _fill_port(ibnd_fabric_cache_t * fabric_cache, 
ibnd_node_t * node,
 
        node->ports[port_cache->port->portnum] = port_cache->port;
 
+       /* achu: needed if user wishes to re-cache a loaded fabric.
+        * Otherwise, mostly unnecessary to do this.
+        */
+       add_to_portguid_hash(port_cache->port, fabric_cache->fabric->portstbl);
        return 0;
 }
 
-- 
1.5.4.5


--- End Message ---

Reply via email to