--- ./source/private_module/ctrl/sys/cls/cls_power_lost.c	2018-04-04 09:03:55.000000000 +0000
+++ ./source/private_module/ctrl/sys/cls/cls_power_lost.c.hotpatch	2018-08-22 06:54:45.000000000 +0000
@@ -2468,22 +2468,23 @@
 {
     int32_t retVal = RETURN_ERROR;
     POWER_LOST_TASK_S *powerLostTask = NULL;
-
+    uint32_t partitionTypeBitmap = 110;  //Ӧ1101110
     /*μ*/
     CTRL_UTIL_IF(NULL != task);
-
     /*ӴӡϢ*/
     powerLostTask = (POWER_LOST_TASK_S*)task;
-
-    /*, BDMֹ֮ͣIO, DBACTIONҪ*/
-    if ((B_FALSE == getNodeACFlag()) && (0 != getIsolateFlag()))
+    /*̺͵µ, BDMͣضIO ALMCR2018041621801871*/
+    if ((B_FALSE == getNodeACFlag()) && 
+        ((0 != getIsolateFlag()) || (SYS_POWER_LOST_BOARD_TEMP == powerLostTask->faultType)))
     {
         saveLogToSsd("Start to stop bdm io.");
         SET_SYS_TRACE_STEP((SYS_TRACE_TYPE_E)powerLostTask->sysflowId, task);
         SET_ACTION_CHILDNUM(task, 1);
-
-        powerLostTask->isNeedSaveDb = B_FALSE;
-        retVal = ldStopLocalNid(defaultProcCallBack1, task);
+        if(0 != getIsolateFlag()) /*粻DB*/
+        {
+            powerLostTask->isNeedSaveDb = B_FALSE;
+        }
+        retVal = ldStopLocalNidByPartitionType(defaultProcCallBack1, task, partitionTypeBitmap);
         if (RETURN_OK != retVal)
         {
             DBG_LogError(LOG_ID_25DB, "CLS_POWER_LOST: Stop bdm io failed.");
@@ -2492,7 +2493,6 @@
         }
         return RETURN_OK;
     }
-
     TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(task, RETURN_OK);
     return RETURN_OK;
 }
@@ -3129,20 +3129,20 @@
     idx++;
     SET_TASK_ACTION(task, idx, ACTION_NODE_STOP_ALL_PORT);
     idx++;
-    /* ֪ͨCCDBͣҵ:added by linping 2014/10/27 begin */
-    SET_TASK_ACTION(task, idx, ACTION_POWER_LOST_STOP_CCDB);
-    idx++;
-    /* ֪ͨCCDBͣҵ:added by linping 2014/10/27 end */
 /* modified by r90006280  for DTS2014030509401, 2014-3-15 begin */
     SET_TASK_ACTION(task, idx, ACTION_NODE_STOP_BDM_IO);
     idx++;
 /* modified by r90006280  for DTS2014030509401, 2014-3-15 end */
 /* modified by g90006267 for DTS2014070823807, 2014-7-9 begin */
-    SET_TASK_ACTION(task, idx, ACTION_NODE_STOP_BACK_PORT);
-    idx++;
+    //SET_TASK_ACTION(task, idx, ACTION_NODE_STOP_BACK_PORT);
+    //idx++;
 /* modified by g90006267 for DTS2014070823807, 2014-7-9 end */
     SET_TASK_ACTION(task, idx, ACTION_NODE_ISOLATION);
     idx++;
+    /* ֪ͨCCDBͣҵ:added by linping 2014/10/27 begin */
+    SET_TASK_ACTION(task, idx, ACTION_POWER_LOST_STOP_CCDB);
+    idx++;
+    /* ֪ͨCCDBͣҵ:added by linping 2014/10/27 end */
     SET_TASK_ACTION(task, idx, ACTION_NODE_NOTIFY_POWER_LOST);
     idx++;
     SET_TASK_ACTION(task, idx, ACTION_PWR_LOST_NOTIFY_PERF);
