diff mbox

opensm: minor improvement SA DB restore flow

Message ID 4BAB845C.7080100@dev.mellanox.co.il (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Yevgeny Kliteynik March 25, 2010, 3:42 p.m. UTC
None
diff mbox

Patch

diff --git a/opensm/opensm/osm_sa.c b/opensm/opensm/osm_sa.c
index 3473e4c..ea87275 100644
--- a/opensm/opensm/osm_sa.c
+++ b/opensm/opensm/osm_sa.c
@@ -1,6 +1,6 @@ 
 /*
  * Copyright (c) 2004-2009 Voltaire, Inc. All rights reserved.
- * Copyright (c) 2002-2009 Mellanox Technologies LTD. All rights reserved.
+ * Copyright (c) 2002-2010 Mellanox Technologies LTD. All rights reserved.
  * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
  * Copyright (c) 2008 Xsigo Systems Inc.  All rights reserved.
  *
@@ -907,12 +907,6 @@  int osm_sa_db_file_load(osm_opensm_t * p_osm)
 	unsigned rereg_clients = 0;
 	unsigned lineno;

-	if (!p_osm->subn.first_time_master_sweep) {
-		OSM_LOG(&p_osm->log, OSM_LOG_VERBOSE,
-			"Not first sweep - skip SA DB restore\n");
-		return 0;
-	}
-
 	file_name = p_osm->subn.opt.sa_db_file;
 	if (!file_name) {
 		OSM_LOG(&p_osm->log, OSM_LOG_VERBOSE,
diff --git a/opensm/opensm/osm_state_mgr.c b/opensm/opensm/osm_state_mgr.c
index e43463f..f3f004a 100644
--- a/opensm/opensm/osm_state_mgr.c
+++ b/opensm/opensm/osm_state_mgr.c
@@ -1,7 +1,7 @@ 
 /*
  * Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved.
  * Copyright (c) 2004-2009 Voltaire, Inc. All rights reserved.
- * Copyright (c) 2002-2009 Mellanox Technologies LTD. All rights reserved.
+ * Copyright (c) 2002-2010 Mellanox Technologies LTD. All rights reserved.
  * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
  * Copyright (c) 2009 HNR Consulting. All rights reserved.
  *
@@ -1261,10 +1261,13 @@  repeat_discovery:

 	osm_qos_setup(sm->p_subn->p_osm);

-	/* try to restore SA DB (this should be before lid_mgr
-	   because we may want to disable clients reregistration
-	   when SA DB is restored) */
-	osm_sa_db_file_load(sm->p_subn->p_osm);
+	/*
+	 * If it's the first master sweep, try to restore SA DB
+	 * (this should be before lid_mgr because we may want to
+	 * disable clients reregistration when SA DB is restored)
+	 */
+	if (sm->p_subn->first_time_master_sweep)
+		osm_sa_db_file_load(sm->p_subn->p_osm);

 	if (wait_for_pending_transactions(&sm->p_subn->p_osm->stats))
 		return;