The global smfd_dest (in cd struct) shall be restored with MDS event
NCSMDS_UP and NCSMDS_NEW_ACTIVE (is set to 0 with event NCSMDS_DOWN).
---
src/smf/smfnd/smfnd_mds.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/src/smf/smfnd/smfnd_mds.c b/src/smf/smfnd/smfnd_mds.c
index 5f8ebb59b..4fba6669b 100644
--- a/src/smf/smfnd/smfnd_mds.c
+++ b/src/smf/smfnd/smfnd_mds.c
@@ -240,6 +240,15 @@ static uint32_t mds_svc_event(struct ncsmds_callback_info
*info)
switch (svc_evt->i_change) {
case NCSMDS_NEW_ACTIVE:
LOG_NO("MDS %s: NCSMDS_NEW_ACTIVE", __FUNCTION__);
+ /* Catch the vdest of SMFD*/
+ if (m_MDS_DEST_IS_AN_ADEST(svc_evt->i_dest))
+ return NCSCC_RC_SUCCESS;
+ osaf_mutex_lock_ordie(&cb->cb_lock);
+ cb->smfd_dest = svc_evt->i_dest;
+ osaf_mutex_unlock_ordie(&cb->cb_lock);
+ LOG_NO("MDS %s: NCSMDS_SVC_ID_SMFD "
+ "dest = 0x%" PRIx64,
+ __FUNCTION__, svc_evt->i_dest);
case NCSMDS_UP:
if (NCSMDS_SVC_ID_SMFA == svc_evt->i_svc_id) {
osaf_mutex_lock_ordie(&cb->cb_lock);
--
2.25.1
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel