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
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to