--- ./source/private_module/sys/cls/cls_obj_cache.c	2018-02-09 07:36:26.000000000 +0000
+++ ./source/private_module/sys/cls/cls_obj_cache.c.hotpatch	2023-01-04 09:25:55.000000000 +0000
@@ -1,17 +1,17 @@
 /**************************************************************************
 
-    (C) 2007 ~2019   Ϊ޹˾  ȨУһȨ
+    (C) 2007 ~2019   华为技术有限公司  版权所有，保留一切权利。
 
 ***************************************************************************
-   :  
-     :  s90003381
- :  20121228
- :  cacheӿ
-     ע:
- ޸ļ¼:
-        1.ʱ     :
-             :
-          ޸ :
+ 版 本 号:  初稿
+ 作    者:  s90003381
+ 完成日期:  2012年12月28日
+ 功能描述:  cache对象操作管理接口
+ 备    注:
+ 修改记录:
+        1.时    间 :
+          修 改 人 :
+          修改内容 :
 **************************************************************************/
 #include <lvos.h>
 //#include <qos_sys_use.h>
@@ -40,23 +40,23 @@
 #include "cls_node_fault.h"
 
 MODULE_ID(OSP_SYS);
-/*****************************************************************/
+/*************************变量定义****************************************/
 
-/*****************************************************************/
+/*************************函数定义****************************************/
 
-#if DESC("ʩӿ")
+#if DESC("基础设施接口适配")
 
 /**************************************************************************
-     : ȡλڴǵӿ
- : 
- : 
- ֵ  : λڴ״̬
-     : 
+ 功    能: 获取复位保内存标记的适配接口
+ 输入参数: 
+ 输出参数: 无
+ 返回值  : 复位保内存标记状态
+ 其 他   : 无
 **************************************************************************/
 int32_t CMM_GetMemoryRecoverFlag(void)
 {
     int32_t recoverFlag;
-    /* Ӳָ֧λڴ״̬ */
+    /* 老硬件不支持复位保内存状态机新特性 */
     #if defined(_TV2R2_) || defined(_ARM_)
     if (B_FALSE == IS_MEMORY_RECOVERY_FLAG_VALID())
     {
@@ -76,15 +76,15 @@
 #endif
 
 /**************************************************************************
-     : ֪ͨCacheˢӿ
- : 
-           sysInfo    - Ϣ
-           flushType - ˢ: ˢݺת͸ OR ת
-           cb            - ص
-           ctx           - 
- : 
- ֵ  : 
-     : 
+ 功    能: 通知Cache刷保险箱的适配接口
+ 输入参数: 
+           sysInfo    - 保险箱信息
+           flushType - 刷数据类型: 刷数据后转透 OR 转回
+           cb            - 回调函数
+           ctx           - 上下文
+ 输出参数: 无
+ 返回值  : 无
+ 其 他   : 无
 **************************************************************************/
 void CACHE_FlushCacheDataToCoffer(COFFER_SYS_INFO_S *sysInfo, 
                                   FLUSH_COFFER_TYPE_E flushType,
@@ -102,22 +102,22 @@
 }
 
 /**************************************************************************
-     : ȡҪñ浽CofferеϢ
- : v_pSysCofferInfo - COFFERϢ
- : 
- ֵ  : RETURN_OK ɹ
-         : RETURN_ERROR ʧ
-     :
+ 功    能: 获取需要设置保存到Coffer中的信息
+ 输入参数: v_pSysCofferInfo - COFFER信息
+ 输出参数: 无
+ 返回值  : RETURN_OK 成功
+         : RETURN_ERROR 失败
+ 其 他   :
 **************************************************************************/
 int32_t getCofferInfo(COFFER_SYS_INFO_S *cofferInfo)
 {
     int32_t retVal             = RETURN_ERROR;
     uint64_t ullSystemWwn      = 0;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != cofferInfo);
 
-    /* ȡϵͳк */
+    /* 获取系统的序列号 */
 	//modify by t00104528 for PANGEA DMI 2013/11/28 begin
     retVal = (int32_t)GET_CTRL_WWN(&ullSystemWwn);
 	//modify by t00104528 for PANGEA DMI 2013/11/28 end
@@ -127,21 +127,21 @@
         return RETURN_ERROR;
     }
 
-    /* Ҫ浽CofferϵͳϢ */
+    /* 填充需要保存到Coffer的系统信息 */
     cofferInfo->sysSn  = ullSystemWwn;
     cofferInfo->nodeId = getLocalNid();
 
     return RETURN_OK;
 }
 /**************************************************************************
-     :  Cacheģʽ
- :
-            task -- Taskָ
-            dismirrBitmap -- ڵλͼ
-            mirrBitmap --ڵλͼ
- :  
- ֵ  :  
-     :  
+ 功    能:  设置Cache工作模式
+ 输入参数:
+            task -- 流程Task指针
+            dismirrBitmap -- 不镜像节点位图
+            mirrBitmap --镜像节点位图
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void setCacheWorkModeAsync(TASK_S *task, uint32_t dismirrBitmap, uint32_t mirrBitmap)
 {
@@ -150,7 +150,7 @@
     bool needMirr = B_FALSE;
     uint32_t sendBitmap;
 
-    /* child num */
+    /* 设置child num个数 */
     SET_ACTION_CHILDNUM(task, MAX_CTRL_NODE_NUM);
 
     for(index = 0; index < MAX_CTRL_NODE_NUM; index++)
@@ -190,12 +190,12 @@
 }
 
 /**************************************************************************
-     :  ־ģ
- :  task -- Taskָ
-            nodeBitmap -- ڵλͼ
- :  
- ֵ  :  
-     :  
+ 功    能:  开工日志模块
+ 输入参数:  task -- 流程Task指针
+            nodeBitmap -- 节点位图
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void logZoneStartWorkAsync(TASK_S *task,
                                                          uint32_t nodeBitmap,
@@ -203,10 +203,10 @@
 {
     int32_t retVal = RETURN_ERROR;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF_TASK_RETURN((0 != nodeBitmap), task, ACTION_CALL_TYPE_DONE, RETURN_ERROR);
 
-    /* ֪ͨڵ㿪־ģ */
+    /* 通知节点开工日志模块 */
     retVal = clsSendRpc(SYS_RPC_CLS_LOGZONE_START_WORK,
         nodeBitmap, &isRecoverPowerOn, sizeof(isRecoverPowerOn), SYS_SEND_POWER_ON_MSG_TIME_OUT, task);
     if (RETURN_OK != retVal)
@@ -221,26 +221,26 @@
 }
 
 /**************************************************************************
-     :  ־
- :  task -- Taskָ
-            nodeBitmap -- ڵλͼ
- :  
- ֵ  :  
-     :  
+ 功    能:  设置日志区工作控制器
+ 输入参数:  task -- 流程Task指针
+            nodeBitmap -- 节点位图
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void setLogZoneWorkCtrlAsync(TASK_S *task, uint32_t nodeBitmap)
 {
     int32_t retVal = RETURN_ERROR;
     SYS_RPC_PARAM_S sysRpcParam;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF_TASK_RETURN((0 != nodeBitmap), task, ACTION_CALL_TYPE_DONE, RETURN_ERROR);
 
-    /* RPC */
+    /* 填充RPC参数 */
     SET_SYS_RPC_PARAM(SYS_RPC_CLS_SET_LOGZONE_WORK_CTRL, nodeBitmap, &nodeBitmap,
                         sizeof(uint32_t), SYS_SEND_POWER_ON_MSG_TIME_OUT, &sysRpcParam);
 
-    /* ֪ͨڵ־ */
+    /* 通知节点设置日志区工作控制器 */
     retVal = START_SYS_RPC_TASK(&sysRpcParam, task);
     if (RETURN_OK != retVal)
     {
@@ -254,26 +254,26 @@
 }
 
 /**************************************************************************
-     :  ָ־
- :  task -- Taskָ
-            nodeBitmap -- ڵλͼ
- :  
- ֵ  :  
-     :  
+ 功    能:  恢复事务日志区
+ 输入参数:  task -- 流程Task指针
+            nodeBitmap -- 节点位图
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void recoverTxLogZoneAsync(TASK_S *task, uint32_t nodeBitmap)
 {
     int32_t retVal = RETURN_ERROR;
     SYS_RPC_PARAM_S sysRpcParam;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF_TASK_RETURN((0 != nodeBitmap), task, ACTION_CALL_TYPE_DONE, RETURN_ERROR);
 
-    /* RPC */
+    /* 填充RPC参数 */
     SET_SYS_RPC_PARAM(SYS_RPC_CLS_RECOVER_TX_LOGZONE, nodeBitmap, &nodeBitmap,
                         sizeof(uint32_t), SYS_SEND_POWER_ON_MSG_TIME_OUT, &sysRpcParam);
 
-    /* ֪ͨڵָ־ */
+    /* 通知节点恢复事务日志区 */
     retVal = START_SYS_RPC_TASK(&sysRpcParam, task);
     if (RETURN_OK != retVal)
     {
@@ -283,12 +283,12 @@
         TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(task, RETURN_ERROR);
     }
 
-    /* TracePoint start ֪ͨڵģָ־ʱȺλ */
+    /* TracePoint start 通知各节点事务模块恢复日志区时，集群主复位 */
     LVOS_TP_NOPARAM_START(POWER_ON_1_47_15)
     LVOS_TP_END
     /* TracePoint end */
 
-    /* TracePoint start ֪ͨڵģָ־ʱȺ */
+    /* TracePoint start 通知各节点事务模块恢复日志区时，集群主掉电 */
     LVOS_TP_NOPARAM_START(POWER_ON_1_47_16)
     LVOS_TP_END
     /* TracePoint end */
@@ -298,10 +298,10 @@
 
 /******************added by w00285264   @2014. 12. 09 *****begin************************/
 /**************************************************************************
-     :TLVϢ
- :  
- :  
- ֵ  :  
+ 功    能:TLV消息编码
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
 **************************************************************************/
 int32_t sysCtrllMsgTlvEncode(void* v_pMsgObj, void** v_ppstMsg, uint32_t* v_puiMsgLen)
 {
@@ -309,9 +309,9 @@
     uint32_t uiMsgLengthRet = 0;
     void* pstMsg = NULL;
 
-    /* ڲӿڣɵ֤߱˲Чԣ˴ü */
+    /* 内部接口，由调用者保证了参数有效性，此处不用检查 */
 
-    /*ȷObjڱĳ*/
+    /*确定Obj在编码后的长度*/
     iRet = MSGOBJ_GetObjInfo(v_pMsgObj, &uiMsgLengthRet, NULL, NULL);
     if (RETURN_ERROR == iRet)
     {
@@ -337,20 +337,20 @@
     *v_ppstMsg = pstMsg;
     *v_puiMsgLen = uiMsgLengthRet;
 
-    /*ͷԴObj */
+    /*释放资源Obj */
     return RETURN_OK;
 }
 
 /**************************************************************************
-     :  ڵϼ¼ϵ׶
- :  task -- Taskָ
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上记录上电阶段
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
  *************************************************************************/
 static void nodeRecordPowerOnStep(void *rpcContext)
 {
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
 
     DBG_LogInfo(LOG_ID_12E5, "CLS_OBJ_CACHE: Node record power on step.");
@@ -363,11 +363,11 @@
 }
 
 /**************************************************************************
-     :  ڵlogzoneľ־Ļص
- :  rpcContext  RPC
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上设置logzone的镜像标志的回调
+ 输入参数:  rpcContext  RPC上下文
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void nodeSetCacheWorkModeCallBack(void* arg, int32_t result)
 {
@@ -385,11 +385,11 @@
 }
 
 /**************************************************************************
-     :  ڵCacheģʽ
- :  task -- Taskָ
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上设置Cache工作模式
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
  *************************************************************************/
 static void nodeSetCacheWorkMode(void *rpcContext)
 {
@@ -398,12 +398,12 @@
     uint32_t bufferLen = 0;
     bool doubleWorkModeFlag = B_FALSE;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
 
     DBG_LogDebug(LOG_ID_12E6, "CLS_OBJ_CACHE: Set cache work mode.");
 
-    /* ȡRPC */
+    /* 获取RPC数据 */
     retVal = GET_SYS_RPC_DATA((void**)&buffer, &bufferLen, rpcContext);
     if (RETURN_OK != retVal)
     {
@@ -430,7 +430,7 @@
         DBG_LogInfo(LOG_ID_12E8,
                     "CLS_OBJ_CACHE: Set cache double ctrl work mode and mirror enable.");
 
-        /* ˫عģʽCACHE */
+        /* 设置双控工作模式和CACHE镜像 */
         SET_ALL_CACHE_MIRROR_STATE(CACHE_DOUBLE_CTRL_WORK_MODE,
                                    CLI_CACHE_MIRROR_ENABLE,
                                    nodeSetCacheWorkModeCallBack,
@@ -441,7 +441,7 @@
         DBG_LogInfo(LOG_ID_12E9,
                     "CLS_OBJ_CACHE: Set cache single ctrl work mode and mirror disable.");
 
-        /* õعģʽCACHE*/
+        /* 设置单控工作模式和CACHE镜像*/
         SET_ALL_CACHE_MIRROR_STATE(CACHE_SINGLE_CTRL_WORK_MODE,
                            CLI_CACHE_MIRROR_DISABLE,
                            nodeSetCacheWorkModeCallBack,
@@ -451,30 +451,30 @@
 }
 
 /**************************************************************************
-     :  ڵָʧܵı
- :  task -- Taskָ
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上清理恢复失败的保险箱脏数据
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
  *************************************************************************/
 static void nodeClearNodeCoffer(void *rpcContext)
 {
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
 
     DBG_LogInfo(LOG_ID_12EB, "CLS_OBJ_CACHE: Enter node clear recover not success coffer data.");
 
-    /* ҪCacheṩһָʧܵıݵĽӿ */
+    /* 需要Cache提供一个清除恢复失败的保险箱脏数据的接口 */
     END_SYS_RPC_TASK(RETURN_OK, rpcContext);
     return;
 }
 
 /**************************************************************************
-     :  ڵϻָǰЧԱ־
- :  task -- Taskָ
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上恢复脏数据前更新脏数据有效性标志
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
  *************************************************************************/
 static void nodeUpdateDirtyFlag(void *rpcContext)
 {
@@ -484,11 +484,11 @@
     uint32_t len;
     nid_t node;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
     DBG_LogInfo(LOG_ID_12EC, "CLS_OBJ_CACHE: Update dirty flag.");
 
-    /* ȡRPC */
+    /* 获取RPC数据 */
     retVal = GET_SYS_RPC_DATA((void**)&opType, &len, rpcContext);
     if (RETURN_OK != retVal)
     {
@@ -504,7 +504,7 @@
         return;
     }
 
-    /* øλڴָɹ:ʱõ */
+    /* 设置复位保内存恢复成功:流程重入时用到 */
     setNodeMemRecoverResult(MEM_RECOVER_SUCCESS);
     node = getLocalNid();
 
@@ -515,15 +515,15 @@
 }
 
 /**************************************************************************
-     :  ڵλڴ
- :  task -- Taskָ
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上清除复位保内存标记
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
  *************************************************************************/
 static void nodeCleanMemProtectFlag(void *rpcContext)
 {
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
     DBG_LogInfo(LOG_ID_12EE, "CLS_OBJ_CACHE: Enter node clear memory protect flag.");
 
@@ -537,15 +537,15 @@
 }
 
 /**************************************************************************
-     :  ڵøλڴ
- :  task -- Taskָ
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上设置复位保内存标记
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  无
  *************************************************************************/
+extern void recoverCpuCheck(void);
 static void nodeSetMemProtectFlag(void *rpcContext)
 {
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
 
 
@@ -555,28 +555,28 @@
     SET_MEMORY_RECOVERY_FLAG_VALID();
 
     DBG_LogInfo(LOG_ID_12F1, "CLS_OBJ_CACHE: Node set memory protect flag finished.");
-
+    recoverCpuCheck();
     END_SYS_RPC_TASK(RETURN_OK, rpcContext);
     return;
 }
 
 /**************************************************************************
-     :  RPCжԱҪصĽӿ
- :  rpcContext  RPC
-            result      
- :  
- ֵ  :  
-     :  
+ 功    能:  RPC处理函数中对保险箱操作需要回调的接口
+ 输入参数:  rpcContext  RPC上下文
+            result      子任务处理结果
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void cofferOperateRpcCallBack(void *rpcContext, int32_t result)
 {
     int32_t retVal = RETURN_ERROR;
     RECOVER_DIRTY_DATA_RESULT_E cacheResult = RECOVER_DIRTY_DATA_RESULT_BUTT;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
 
-    /* 첽ʧܣӡʧϢ */
+    /* 异步处理函数返回失败，打印失败信息 */
     if (OPERATE_COFFER_RETURN_OK != result)
     {
         SMLOG_TRACE_WARN_RSP(SM_SYS_CLS_RECOVER_COFFER_FAIL, "CACHE", "CLS_CACHE: Coffer operate failed, ret(%d).", result);
@@ -588,7 +588,7 @@
         cacheResult = RECOVER_SUCCESS;
     }
 
-    /* ÷ԭڵ */
+    /* 设置返回原节点的数据 */
     retVal = SET_SYS_RPC_DATA((void*)&cacheResult, sizeof(int32_t), rpcContext);
     if (RETURN_OK != retVal)
     {
@@ -602,52 +602,52 @@
 }
 
 /**************************************************************************
-     :  ڵϻָ
- :  task -- Taskָ
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上恢复脏数据
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
  *************************************************************************/
 static void nodeRecoverDirtyData(void *rpcContext)
 {
-    /* ȡͱ modify by b90006288 2014.0410 begin */
+    /* 新增获取保险箱类型变量 modify by b90006288 2014.0410 begin */
     //COFFER_TYPE_E cofferType = COFFER_TYPE_BUTT;
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
 
     DBG_LogInfo(LOG_ID_12F8, "CLS_OBJ_CACHE: Enter node recover dirty data.");
 
-    /* TracePoint start Ӹλڴлȡcacheʱͨڵ㸴λ */
+    /* TracePoint start 从复位保内存数据中获取cache数据时，普通节点复位 */
     LVOS_TP_NOPARAM_START(POWER_ON_1_47_13)
     LVOS_TP_END
     /* TracePoint end */
 
-    /* TracePoint start Ӹλڴлȡcacheʱͨڵ */
+    /* TracePoint start 从复位保内存数据中获取cache数据时，普通节点掉电 */
     LVOS_TP_NOPARAM_START(POWER_ON_1_47_14)
     LVOS_TP_END
     /* TracePoint end */
 
-    /* 첽ãChild numΪ1 */
+    /* 异步函数调用，设置Child num为1 */
     SET_SYS_RPC_CHILD_NUM(1, rpcContext);
 
 
     DBG_LogInfo(LOG_ID_12F9, "CLS_OBJ_CACHE: Node recover coffer dirty data.");
 
-    /* ·cacheӿʱٴ뱣 baoxiaofei 2014-07-05 begine*/
-    /* COFFERлָݵڴ */
+    /* 新方案，调用cache接口时不再传入保险箱类型 baoxiaofei 2014-07-05 begine*/
+    /* 从COFFER中恢复脏数据到内存 */
     //cofferType = getCofferType();
     RECOVER_FROM_COFFER(COFFER_DATA_TYPE_ALL, cofferOperateRpcCallBack, rpcContext);
-    /* ·cacheӿʱٴ뱣 baoxiaofei 2014-07-05 end*/
+    /* 新方案，调用cache接口时不再传入保险箱类型 baoxiaofei 2014-07-05 end*/
 
     return;
 }
 
 /**************************************************************************
-     :  COFFERϢ
- :  cofferSysInfo -- 䱣ϵͳϢṹָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  检查COFFER信息
+ 输入参数:  cofferSysInfo -- 保险箱保存的系统信息结构体指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 int32_t checkCofferInfo(COFFER_SYS_INFO_S *cofferSysInfo)
 {
@@ -662,7 +662,7 @@
 
     CTRL_UTIL_IF(NULL != cofferSysInfo);
 
-    /* ȡÿƿк */
+    /* 获取该控制框的序列号 */
 	//modify by t00104528 for PANGEA DMI 2013/11/28 begin
     retVal = (int32_t)GET_CTRL_WWN(&ctrlFrameSn);
 	//modify by t00104528 for PANGEA DMI 2013/11/28 end
@@ -673,17 +673,17 @@
         return RETURN_ERROR;
     }
 
-    /* DTSDTS2015073104703 modify by lwx207050 2015-07-31 begin */
+    /* DTS：DTS2015073104703 modify by lwx207050 2015-07-31 begin */
     LVOS_TP_START(POWER_ON_1_47_77,&(cofferSysInfo->sysSn))
     LVOS_TP_END
-    /* DTSDTS2015073104703 modify by lwx207050 2015-07-31 end */
-    /* ȡλͼ */
+    /* DTS：DTS2015073104703 modify by lwx207050 2015-07-31 end */
+    /* 获取本地位图 */
     localNid = getLocalNid();
     SET_NODEMAP_BIT(localNid, bitMap);
     getFrameNamebyNid(localNid, frameName);
     GET_CTRL_NAME(localNid, nodeName, NODE_NAME_FOR_UI);
 
-    /* жϸSSDǷڸÿƿ򣬲ʱжϿк */
+    /* 首先判断该SSD是否属于该控制框，插框复用时不用判断框序列号 */
 	//modify by t00104528 for PANGEA DMI 2013/11/28 begin
     if ((EAM_COMMON_CTRL_SN != ctrlFrameSn)
         && (cofferSysInfo->sysSn != ctrlFrameSn))
@@ -694,20 +694,20 @@
                     cofferSysInfo->sysSn, ctrlFrameSn,
                     DEBUG_DESC("Check if the ctrl or frame was replaced."));
 
-        /* DTSDTS2015073104703 modify by lwx207050 2015-07-31 begin */
+        /* DTS：DTS2015073104703 modify by lwx207050 2015-07-31 begin */
         (void)ALM_SendInnerAlarm (SYS_ERROR_PWRON_CTRL_FRAME_SN_NOT_MATCH_PARAM, bitMap);
-        /* DTSDTS2015073104703 modify by lwx207050 2015-07-31 end */
+        /* DTS：DTS2015073104703 modify by lwx207050 2015-07-31 end */
 
-        //¼ϵʧϢ
+        //记录上电失败信息
         memset(powerOnFailedInfo,0,NODE_FAULT_INFO_SYNC_LENGTH);
         snprintf(powerOnFailedInfo, sizeof(powerOnFailedInfo), "%s,%s,%llu,%llu;", 
                                 frameName,nodeName,ctrlFrameSn,cofferSysInfo->sysSn);
         (void)recordPowerOnFailedInfo(localNid,SYS_ERROR_PWRON_CTRL_FRAME_SN_NOT_MATCH_PARAM,
                                             powerOnFailedInfo,(int32_t)strlen(powerOnFailedInfo)+1);
 
-        /* DTS2015040908588 modify by lwx207050 2015-04-07 begin ϵ */
+        /* DTS2015040908588 modify by lwx207050 2015-04-07 begin 上电错误码 */
         return SYS_ERROR_PWRON_CTRL_FRAME_SN_NOT_MATCH_PARAM;
-        /* DTS2015040908588 modify by lwx207050 2015-04-07 end ϵ */
+        /* DTS2015040908588 modify by lwx207050 2015-04-07 end 上电错误码 */
     }
 
     //DBG_ASSERT(checkNodeIdValid(localNid));
@@ -717,15 +717,15 @@
         return RETURN_ERROR;
     }
 
-    /* DTS2015040908588 modify by lwx207050 2015-04-07 begin ϵ */
+    /* DTS2015040908588 modify by lwx207050 2015-04-07 begin 上电错误码 */
     LVOS_TP_START(POWER_ON_1_47_67,&(cofferSysInfo->nodeId))
     LVOS_TP_END
-    /* DTS2015040908588 modify by lwx207050 2015-04-07 end ϵ */
+    /* DTS2015040908588 modify by lwx207050 2015-04-07 end 上电错误码 */
 
-    /* ȻжϸSSDǷڸϵͳĸÿ */
+    /* 然后判断该SSD是否属于该系统的该控制器 */
     if (localNid != cofferSysInfo->nodeId)
     {
-        /* ȡ */
+        /* 获取框槽内容 */
         getFrameNamebyNid(cofferSysInfo->nodeId, frameName);
         GET_CTRL_NAME(cofferSysInfo->nodeId, nodeName, NODE_NAME_FOR_UI);
         SMLOG_TRACE_ERROR(SM_SYS_CLS_COFFER_NID_NOT_MATCH, 
@@ -740,11 +740,11 @@
                     frameName, nodeName);
         /*Modified by j00358105 for DTS2016052602987 at 2015/5/26 end*/
 
-        /* DTSDTS2015073104703 modify by lwx207050 2015-07-31 begin */
+        /* DTS：DTS2015073104703 modify by lwx207050 2015-07-31 begin */
         (void)ALM_SendInnerAlarm (SYS_ERROR_PWRON_CTRL_ID_NOT_MATCH_PARAM, bitMap);
-        /* DTSDTS2015073104703 modify by lwx207050 2015-07-31 end */
+        /* DTS：DTS2015073104703 modify by lwx207050 2015-07-31 end */
 
-        //¼ϵʧϢ
+        //记录上电失败信息
         GET_CTRL_NAME(localNid, currentNodeName, NODE_NAME_FOR_UI);
         memset(powerOnFailedInfo,0,NODE_FAULT_INFO_SYNC_LENGTH);
         snprintf(powerOnFailedInfo, sizeof(powerOnFailedInfo), "%s,%s,%s;", 
@@ -752,47 +752,47 @@
         (void)recordPowerOnFailedInfo(localNid,SYS_ERROR_PWRON_CTRL_ID_NOT_MATCH_PARAM,
                                             powerOnFailedInfo,(int32_t)strlen(powerOnFailedInfo)+1);
 
-        /* DTS2015040908588 modify by lwx207050 2015-04-07 begin ϵ */
+        /* DTS2015040908588 modify by lwx207050 2015-04-07 begin 上电错误码 */
         return SYS_ERROR_PWRON_CTRL_ID_NOT_MATCH_PARAM;
-        /* DTS2015040908588 modify by lwx207050 2015-04-07 end ϵ */
+        /* DTS2015040908588 modify by lwx207050 2015-04-07 end 上电错误码 */
     }
 
     return RETURN_OK;
 }
 
 /**************************************************************************
-     :  ڵͬ
- :  task -- Taskָ
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上同步脏数据
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
  *************************************************************************/
 static void nodeSyncDirtyData(void *rpcContext)
 {
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
 
-    /* ӡ־ */
+    /* 打印日志 */
     DBG_LogInfo(LOG_ID_12FD, "CLS_OBJ_CACHE: Node sync dirty data.");
 
-    /* ôRPCΪ1 */
+    /* 设置处理RPC的子任务数为1 */
     SET_SYS_RPC_CHILD_NUM(1, rpcContext);
 
-    /* ͬغ;ݵԶ */
+    /* 同步本地和镜像数据到对端 */
     SYNC_CACHE_OBJ_AND_FORCE_MIRROR(B_TRUE, B_TRUE, defaultProcRpcCallBack, rpcContext);
 
-    /* TracePoint:ͬʱ챾˸λ */
+    /* TracePoint:同步脏数据时制造本端复位 */
     LVOS_TP_NOPARAM_START(POWER_ON_1_47_36)
     LVOS_TP_END
     return;
 }
 
 /**************************************************************************
-     :  ڵϿ־ģ
- :  rpcContext -- rpcָ
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上开工日志模块
+ 输入参数:  rpcContext -- rpc上下文指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void nodeLogZoneStartWork(void *rpcContext)
 {
@@ -800,12 +800,12 @@
     void *dataBuffer  = NULL;
     uint32_t bufferLen = INVALID_VALUE32;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
 
     DBG_LogInfo(LOG_ID_12FE, "CLS_OBJ_CACHE: Enter Log Zone start work." );
 
-    /* ȡݹ */
+    /* 获取传递过来的数据 */
     retVal = GET_SYS_RPC_DATA(&dataBuffer, &bufferLen, rpcContext);
     if (RETURN_OK != retVal)
     {
@@ -827,20 +827,20 @@
                  "CLS_OBJ_CACHE: Log zone start work para(is recover power on %d).",
                  *(bool *)dataBuffer);
 
-    /* ϵ,logzoneָadd by f00285214,2014-12-23 begin */
-    /* ڵ־ģ鿪 */
+    /* 持续镜像上电流程,logzone恢复add by f00285214,2014-12-23 begin */
+    /* 节点日志模块开工 */
     SET_SYS_RPC_CHILD_NUM(1, rpcContext);
     LOGZONE_WORK_START(defaultProcRpcCallBack, rpcContext);
-    /* ϵ,logzoneָadd by f00285214,2014-12-23 end */
+    /* 持续镜像上电流程,logzone恢复add by f00285214,2014-12-23 end */
 	return;
 }
 
 /**************************************************************************
-     :  ڵ־
- :  rpcContext -- rpcָ
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上设置日志区工作控制器
+ 输入参数:  rpcContext -- rpc上下文指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void nodeSetLogZoneWorkCtrl(void *rpcContext)
 {
@@ -848,12 +848,12 @@
     void * dataBuffer  = NULL;
     uint32_t bufferLen = INVALID_VALUE32;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
 
     DBG_LogDebug(LOG_ID_1302, "CLS_OBJ_CACHE: Enter node set log zone work controller." );
 
-    /* ȡݹ */
+    /* 获取传递过来的数据 */
     retVal = GET_SYS_RPC_DATA(&dataBuffer, &bufferLen, rpcContext);
     if (RETURN_OK != retVal)
     {
@@ -871,34 +871,34 @@
         return;
     }
 
-    /* ӡõĽڵλͼ㶨λ */
+    /* 打印设置的节点位图，方便定位问题 */
     DBG_LogInfo(LOG_ID_1304, "CLS_OBJ_CACHE: Set log zone node bitmap(%u).",
                  *(uint32_t *)dataBuffer);
 
-    /* ôRPCΪ1 */
+    /* 设置处理RPC的子任务数为1 */
     SET_SYS_RPC_CHILD_NUM(1, rpcContext);
 
-    /* ڵ־ģ鿪 */
+    /* 节点日志模块开工 */
     SET_LOG_ZONE_WORKCTRL(*(uint32_t *)dataBuffer, defaultProcRpcCallBack, rpcContext);
 
     return;
 }
 
 /**************************************************************************
-     :  ڵϻָLogZoneԪ
- :  rpcContext -- rpcָ
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上恢复LogZone的元数据
+ 输入参数:  rpcContext -- rpc上下文指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void nodeRecoverLogZoneMetaData(void *rpcContext)
 {
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
 
     DBG_LogInfo(LOG_ID_1305, "CLS_OBJ_CACHE: Enter node recover log zone meta data.");
 
-    /* RPCΪ1 */
+    /* 设置RPC子任务为1 */
     SET_SYS_RPC_CHILD_NUM(1, rpcContext);
 
     RECOVER_LOG_ZONE_METADATA(defaultProcRpcCallBack, rpcContext);
@@ -907,44 +907,44 @@
 }
 
 /**************************************************************************
-     :  ڵϻָ־
- :  rpcContext -- rpcָ
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上恢复事务日志区
+ 输入参数:  rpcContext -- rpc上下文指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void nodeRecoverTxLogZone(void *rpcContext)
 {
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
 
     DBG_LogInfo(LOG_ID_1306, "CLS_OBJ_CACHE: Enter node recover transaction log zone." );
 
-    /* ôRPCΪ1 */
+    /* 设置处理RPC的子任务数为1 */
     SET_SYS_RPC_CHILD_NUM(1, rpcContext);
 
-    /* TracePoint start ֪ͨڵģָ־ʱͨڵ㸴λ */
+    /* TracePoint start 通知各节点事务模块恢复日志区时，普通节点复位 */
     LVOS_TP_NOPARAM_START(POWER_ON_1_47_17)
     LVOS_TP_END
     /* TracePoint end */
 
-    /* TracePoint start ֪ͨڵģָ־ʱͨڵ */
+    /* TracePoint start 通知各节点事务模块恢复日志区时，普通节点掉电 */
     LVOS_TP_NOPARAM_START(POWER_ON_1_47_18)
     LVOS_TP_END
     /* TracePoint end */
 
-    /* ڵ־ģ鿪 */
+    /* 节点日志模块开工 */
     RECOVER_TX_LOG_ZONE(defaultProcRpcCallBack, rpcContext);
 
     return;
 }
 
 /**************************************************************************
-     :  ڵϻָ־
- :  rpcContext -- rpcָ
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上恢复事务日志区
+ 输入参数:  rpcContext -- rpc上下文指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void nodeHangLogZone(void *rpcContext)
 {
@@ -952,10 +952,10 @@
     uint32_t *nodeBitmap  = NULL;
     uint32_t bufferLen    = INVALID_VALUE32;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
 
-    /* ȡRPC */
+    /* 获取RPC的数据 */
     retVal = GET_SYS_RPC_DATA((void**)&nodeBitmap, &bufferLen, rpcContext);
     if (RETURN_OK != retVal)
     {
@@ -963,14 +963,14 @@
                      "SYS_RPC: Get rpc para return error(code %d).",
                      retVal);
 
-        /* RPC */
+        /* 结束RPC处理过程 */
         END_SYS_RPC_TASK(retVal, rpcContext);
         return;
     }
 
     DBG_LogInfo(LOG_ID_1308, "CLS_OBJ_CACHE: Enter node hang log zone.");
 
-    /* LogZoneӿ */
+    /* 调用LogZone接口悬挂 */
     NOTIFY_LOG_ZONE_PAUSE_SERVICE(*nodeBitmap);
 
     END_SYS_RPC_TASK(RETURN_OK, rpcContext);
@@ -978,23 +978,23 @@
 }
 
 /**************************************************************************
-     :  ڵQos DBϢ
- :  task -- Taskָ
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上设置Qos DB信息
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 
 /**************************************************************************
-     :  ڵøλڴЧ־
- :  task -- Taskָ
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上设置复位保内存有效标志
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void nodeSetMemoryFlagValid(void *rpcContext)
 {
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
 
     DBG_LogInfo(LOG_ID_130C, "CLS_OBJ_CACHE: Set CMM memory recover flag valid.");
@@ -1008,22 +1008,22 @@
 }
 
 /**************************************************************************
-     :  ڵøλڴЧ
- :  rpcContext  RPC
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上设置复位保内存无效
+ 输入参数:  rpcContext  RPC上下文
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void nodeSetMemoryFlagInvalid(void *rpcContext)
 {
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
 
     DBG_LogInfo(LOG_ID_130D, "CLS_OBJ_CACHE: Set CMM memory recover flag invalid.");
 
     SET_MEMORY_RECOVERY_FLAG_INVALID();
 
-    /* λڴر,֪ͨBSP */
+    /* 复位保内存关闭,通知BSP */
     BSP_NotifyIsSetMemoryRecovery(B_FALSE);
 
     END_SYS_RPC_TASK(RETURN_OK, rpcContext);
@@ -1032,20 +1032,20 @@
 
 /* modified by z90002192 for DTS2015090901851, 2015-09-17 begin */
 /**************************************************************************
-     : ABORT Cache IOĻص
- : rpcContext  RPC
-           result      
- :  
- ֵ  :  
-     :  
+ 功    能: ABORT Cache IO的回调函数
+ 输入参数: rpcContext  RPC上下文
+           result      子任务处理结果
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void abortCacheIOCallBack(void *rpcContext, int32_t result)
 {
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
     LVOS_TP_START(OFFLINE_NODE_1_47_11, &result)
     LVOS_TP_END
-    /* 첽ʧܣӡʧϢ */
+    /* 异步处理函数返回失败，打印失败信息 */
     if (RETURN_OK != result)
     {
         DBG_LogError(DBG_LOGID_NEW, "CLS_OBJ_CACHE: Handle abort cache io child task call back failed, error code(%d).", result);
@@ -1060,26 +1060,26 @@
 /* modified by z90002192 for DTS2015090901851, 2015-09-17 end */
 
 /**************************************************************************
-     :  ڵabort volume cache io
- :  rpcContext  RPC
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上设置abort volume cache io
+ 输入参数:  rpcContext  RPC上下文
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void nodeAbortCacheIO(void *rpcContext)
 {
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
 
     DBG_LogInfo(LOG_ID_130E, "CLS_OBJ_CACHE: Abort cache io.");
 
-    /* RPCΪ2 */
+    /* 设置RPC处理的子任务数为2 */
     SET_SYS_RPC_CHILD_NUM(2, rpcContext);
 
     /* modified by z90002192 for DTS2015090901851, 2015-09-17 begin */
-    /* ֪ͨCACHE abort volume cahce io */
+    /* 通知CACHE abort volume cahce io */
     ABORT_ALL_VOLUME_CACHE_HANDLE_IO(abortCacheIOCallBack, rpcContext);
-    /* ֪ͨCACHE abort stripe cahce io */
+    /* 通知CACHE abort stripe cahce io */
     ABORT_ALL_STRIPE_CACHE_HANDLE_IO(abortCacheIOCallBack, rpcContext);
     /* modified by z90002192 for DTS2015090901851, 2015-09-17 end */
     
@@ -1087,11 +1087,11 @@
 }
 
 /**************************************************************************
-     :  ڵlogzoneľ־Ļص
- :  rpcContext  RPC
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上设置logzone的镜像标志的回调
+ 输入参数:  rpcContext  RPC上下文
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void setLogZoneMirrorFlagCallBack(void* arg, int32_t result)
 {
@@ -1105,11 +1105,11 @@
 }
 
 /**************************************************************************
-     :  ڵlogzoneľ־
- :  rpcContext  RPC
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上设置logzone的镜像标志
+ 输入参数:  rpcContext  RPC上下文
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void nodeSetLogZoneMirrorFlag(void* rpcContext)
 {
@@ -1141,12 +1141,12 @@
 }
 
 /**************************************************************************
-     :  ڵϻָݵķͶ˴
- :  rpcContext -- RPC
-            context -- ҵ
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上恢复脏数据的发送端处理
+ 输入参数:  rpcContext -- RPC上下文
+            context -- 业务上下文
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void recoverDirtyDataRpcSrcHandle(void *rpcContext, void *context)
 {
@@ -1160,14 +1160,14 @@
     RECOVER_DIRTY_DATA_RESULT_E *cacheResult   = NULL;
     POWER_ON_RECOVERY_DIRTY_TASK_S* recoveryTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != context);
     CTRL_UTIL_IF(NULL != rpcContext);
 
     recoveryTask = (POWER_ON_RECOVERY_DIRTY_TASK_S * )context;
     baseTask = &(recoveryTask->baseTask);
 
-    /* ӡ־ */
+    /* 打印日志 */
     DBG_LogInfo(LOG_ID_1312, "CLS_OBJ: Receive recover dirty data result.");
 
     retVal = GET_SYS_RPC_RESULT(rpcContext);
@@ -1176,7 +1176,7 @@
         DBG_LogWarning(LOG_ID_1313,
             "CLS_OBJ: Get rpc para return error(code %d).", retVal);
 
-         /* RPC */
+         /* 结束RPC处理过程 */
         END_SYS_RPC_TASK(retVal, rpcContext);
         TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(baseTask, retVal);
         return;
@@ -1184,13 +1184,13 @@
 
     memset(&rpcParam, 0, sizeof(SYS_RPC_PARAM_S));
 
-    /* ȡϢĽڵλͼ */
+    /* 获取发送消息的节点位图 */
     retVal = GET_SYS_RPC_PARAM(&rpcParam, rpcContext);
     if (RETURN_OK != retVal)
     {
         DBG_LogError(LOG_ID_1314, "CLS_OBJ: Get rpc para return error(code %d).", retVal);
 
-        /* RPC */
+        /* 结束RPC处理过程 */
         END_SYS_RPC_TASK(retVal, rpcContext);
         TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(baseTask, retVal);
         return;
@@ -1200,7 +1200,7 @@
     {
         DBG_LogError(DBG_LOGID_NEW, "CLS_OBJ: Get send RPC bitmap is 0.");
 
-        /* RPC */
+        /* 结束RPC处理过程 */
         END_SYS_RPC_TASK(RETURN_ERROR, rpcContext);
         TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(baseTask, RETURN_ERROR);
         return;
@@ -1213,7 +1213,7 @@
             continue;
         }
 
-        /* ȡϢ볤 */
+        /* 获取消息内容与长度 */
         retVal = GET_NODE_SYS_RPC_DATA(index, (void**)(&cacheResult), &bufferLen, rpcContext);
         if (RETURN_OK != retVal)
         {
@@ -1224,7 +1224,7 @@
             return;
         }
 
-        /* 鴫ݹĲǷȷ */
+        /* 检查传递过来的参数长度是否正确 */
         if (sizeof(RECOVER_DIRTY_DATA_RESULT_E) != bufferLen)
         {
             DBG_LogError(DBG_LOGID_NEW, "CLS_OBJ: Get RPC buffer length(%u) error.", bufferLen);
@@ -1234,38 +1234,38 @@
             return;
         }
 
-        /* Чڵλͼбڵλͼ */
+        /* 清除脏数据有效节点位图中本节点位图 */
         CLEAR_NODEMAP_BIT(index, recoveryTask->dirtyBitmap);
 
         peerNid = getPeerNodeIdInGroup(index);
 
-        /* ڵݻָɹ */
+        /* 本节点脏数据恢复成功 */
         if (RECOVER_SUCCESS == *cacheResult)
         {
             SET_NODEMAP_BIT(index, recoveryTask->recoveryOkBitmap);
 
-            /* ˻ָɹԶǱݣȥԶ˵ЧԱ־
-               ֹʱظָ */
+            /* 本端恢复成功，对端是保险箱脏数据，则去除对端的脏数据有效性标志，
+               防止流程重入时重复恢复 */
             if(DIRTY_DATA_TYPE_COFFER == recoveryTask->localNodeInfo[peerNid].dirtyDataType)
             {
                 SET_NODEMAP_BIT(peerNid, recoveryTask->dirtyBitmap);
             }
             continue;
         }
-        /* ڵָʧ */
+        /* 本节点恢复脏数据失败 */
         else if (RECOVER_FAIL == *cacheResult)
         {
             SET_NODEMAP_BIT(index, recoveryTask->recoveryfailBitmap);
         }
-        /* ڵû */
-        /* ûַݱ */
+        /* 本节点没有脏数据 */
+        /* 没有这种返回情况，暂保留 */
         else if (RECOVER_NO_DIRTY_DATA == *cacheResult)
         {
             SET_NODEMAP_BIT(index, recoveryTask->recoveryNULLBitmap);
         }
 
-        /* дָʧܺͻָɹݵ */
-        /* Զ˽ڵݣ */
+        /* 集中处理恢复失败和恢复成功但无数据的情况 */
+        /* 对端节点有脏数据，可以重试 */
 
         if (CHECK_NODEMAP_BIT_VALID(peerNid, recoveryTask->dirtyBitmap))
         {
@@ -1273,7 +1273,7 @@
             continue;
         }
 
-        /* Զ, ˻ָʧܣʧܷ */
+        /* 对端无脏数据, 本端恢复失败，任务失败返回 */
         if (CHECK_NODEMAP_BIT_VALID(index, recoveryTask->recoveryfailBitmap))
         {
             DBG_LogError(LOG_ID_1316, "CLS_OBJ: Recovery dirty data(id %u) failed.", index);
@@ -1283,11 +1283,11 @@
         }
     }
 
-    /* ӡָݳɹĽڵλͼ */
+    /* 打印恢复脏数据成功的节点位图 */
     DBG_LogInfo(LOG_ID_1317,  "CLS_OBJ: Recovery coffer dirty data success node bitmap(%u).",
                  recoveryTask->recoveryOkBitmap);
 
-    /* µִиActionָ */
+    /* 重新调度执行该Action，恢复备份脏数据 */
     if (B_TRUE == restartFlag)
     {
         DBG_LogInfo(LOG_ID_1318,
@@ -1304,12 +1304,12 @@
 }
 
 /**************************************************************************
-     :  cacheϵ
- :  argv û
-                         result 
- :  
- ֵ  :  
-     :  
+ 功    能:  清除cache在盘上的脏数据
+ 输入参数:  argv 用户的上下文
+                         result 结果
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void cleanCofferCb(void* argv, int32_t result)
 {
@@ -1320,21 +1320,21 @@
         DBG_LogWarning(DBG_LOGID_NEW, "CLS_OBJ: Clean coffer failed.");
     }
     
-    /*Դ*/
+    /*忽略错误*/
     END_RPC_CALL(RETURN_OK, argv);
     return;
 }
 
 /**************************************************************************
-     :  cacheϵ
- :  rpcContext  RPC
- :  
- ֵ  :  
-     :  
+ 功    能:  清除cache在盘上的脏数据
+ 输入参数:  rpcContext  RPC上下文
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void nodeCleanDirtyDataInDisk(void* rpcContext)
 {
-    /*ж*/
+    /*入参判断*/
     CTRL_UTIL_IF(NULL != rpcContext);
 
     DBG_LogInfo(DBG_LOGID_NEW,"The power lost flag is : %s.", getNodeACFlag()?"true":"false");
@@ -1358,95 +1358,95 @@
 }
 
 
-/******************ActionXnetע*********************/
-/* CLS_OBJ_CACHEڲϢע */
+/******************Action，Xnet注册管理*********************/
+/* CLS_OBJ_CACHE内部消息的注册数组 */
 SYS_RPC_PROC_ENTRY_S s_clsObjCacheRpcProcEntrySet[] =
 {
-    /* ¼ϵ׶ */
+    /* 记录上电阶段 */
     {SYS_RPC_CLS_RECORD_POWER_ON_STEP,
      nodeRecordPowerOnStep,
      defaultRpcSrcHandle,
      "nodeRecordPowerOnStep",
      NULL, NULL},
 
-    /* Cacheģʽ */
+    /* 设置Cache工作模式 */
     {SYS_RPC_CLS_SET_CACHE_WORK_MODE,
      nodeSetCacheWorkMode,
      defaultRpcSrcChildHandle,
      "nodeSetCacheWorkMode",
      NULL, NULL},
 
-    /* ڵϻָ */
+    /* 节点上恢复脏数据 */
     {SYS_RPC_CLS_RECOVER_NODE_DIRTY_DATA,
      nodeRecoverDirtyData,
      recoverDirtyDataRpcSrcHandle,
      "nodeRecoverDirtyData",
      NULL, NULL},
 
-    /* ڵϻָǰָʧܵı */
+    /* 节点上恢复脏数据前清理恢复失败的保险箱脏数据 */
     {SYS_RPC_CLS_CLEAR_NODE_COFFER,
      nodeClearNodeCoffer,
      defaultRpcSrcHandle,
      "nodeRecoverClearRecoverFailCoffer",
      NULL, NULL},
 
-    /* ڵϸݱ־*/
+    /* 节点上更新脏数据标志*/
     {SYS_RPC_CLS_UPDATE_NODE_DIRTY_FLAG,
      nodeUpdateDirtyFlag,
      defaultRpcSrcChildHandle,
      "nodeUpdateDirtyFlag",
      NULL, NULL},
 
-    /* ڵλڴ־*/
+    /* 节点上清除复位保内存标志*/
     {SYS_RPC_CLS_CLEAN_MEM_PROTECT_FLAG,
      nodeCleanMemProtectFlag,
      defaultRpcSrcHandle,
      "nodeCleanMemProtectFlag",
      NULL, NULL},
 
-    /* ڵͬ */
+    /* 节点上同步脏数据 */
     {SYS_RPC_CLS_SYNC_NODE_DIRTY_DATA,
      nodeSyncDirtyData,
      defaultRpcSrcHandle,
      "nodeSyncDirtyData",
      NULL, NULL},
 
-    /* ڵøλڴ־*/
+    /* 节点上设置复位保内存标志*/
     {SYS_RPC_CLS_SET_MEM_PROTECT_FLAG,
      nodeSetMemProtectFlag,
      defaultRpcSrcHandle,
      "nodeSetMemProtectFlag",
      NULL, NULL},
 
-    /* ֪ͨ־ģ鿪 */
+    /* 通知日志模块开工 */
     {SYS_RPC_CLS_LOGZONE_START_WORK,
      nodeLogZoneStartWork,
      defaultRpcSrcHandle,
      "nodeLogZoneStartWork",
      NULL, NULL},
 
-    /* ־ */
+    /* 设置日志区工作控制器 */
     {SYS_RPC_CLS_SET_LOGZONE_WORK_CTRL,
      nodeSetLogZoneWorkCtrl,
      defaultRpcSrcHandle,
      "nodeSetLogZoneWorkCtrl",
      NULL, NULL},
 
-    /* ָlogzone meta data */
+    /* 恢复logzone meta data */
     {SYS_RPC_CLS_RECOVER_LOG_ZONE_META_DATA,
      nodeRecoverLogZoneMetaData,
      defaultRpcSrcHandle,
      "nodeRecoveryLogZoneMeta",
      NULL, NULL},
 
-    /* ָ־ */
+    /* 恢复事务日志区 */
     {SYS_RPC_CLS_RECOVER_TX_LOGZONE,
      nodeRecoverTxLogZone,
      defaultRpcSrcHandle,
      "nodeRecoverTxLogZone",
      NULL, NULL},
 
-    /* LogZone */
+    /* 悬挂LogZone */
     {SYS_RPC_CLS_HANG_LOG_ZONE,
      nodeHangLogZone,
      defaultRpcSrcHandle,
@@ -1454,14 +1454,14 @@
      NULL, NULL},
 
 
-    /* øλڴЧ */
+    /* 设置复位保内存标记有效 */
     {SYS_RPC_CLS_SET_MEMORY_FLAG_VALID,
      nodeSetMemoryFlagValid,
      defaultRpcSrcHandle,
      "nodeSetMemoryFlagValid",
      NULL, NULL},
 
-    /* øλڴЧ */
+    /* 设置复位保内存无效 */
     {SYS_RPC_CLS_SET_MEMORY_FLAG_INVALID,
      nodeSetMemoryFlagInvalid,
      defaultRpcSrcHandle,
@@ -1475,13 +1475,13 @@
      "nodeAbortCacheIO",
      NULL, NULL},
 
-    /* ޸: DTSXXXXX modified by l00221048, 2014/08/11 begin */
+    /* 升级相关修改: DTSXXXXX modified by l00221048, 2014/08/11 begin */
     {SYS_RPC_OBJ_SET_LOGZONE_MIRROR_FLAG,
      nodeSetLogZoneMirrorFlag,
      defaultRpcIgdiffSrcChildHandle,
      "nodeSetLogZoneMirrorFlag",
      NULL, NULL},
-     /* ޸: DTSXXXXX modified by l00221048, 2014/08/11 end */
+     /* 升级相关修改: DTSXXXXX modified by l00221048, 2014/08/11 end */
 
 {
     SYS_RPC_OBJ_CLEAN_DIRTY_DATA,
@@ -1493,22 +1493,22 @@
 
 };
 
-/* CLS_OBJ_CACHEصԶ̵ô */
+/* CLS_OBJ_CACHE相关的远程调用处理个数 */
 static uint32_t s_clsObjCacheRpcProcEntryNum =
     sizeof(s_clsObjCacheRpcProcEntrySet) / sizeof(s_clsObjCacheRpcProcEntrySet[0]);
 
 /**************************************************************************
-     : CLS_OBJ_CACHEĴעắ
- : 
- : 
- ֵ  : RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     : 
+ 功    能: CLS_OBJ_CACHE的处理函数的注册函数
+ 输入参数: 无
+ 输出参数: 无
+ 返回值  : RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   : 无
 **************************************************************************/
 int32_t initClsObjCache(void)
 {
     int32_t retVal = RETURN_ERROR;
 
-    /* עϢ */
+    /* 注册消息处理集 */
     retVal = regSysRpcEntrySet("CLS_OBJ_CACHE rpc handle",
                                SYS_RPC_ENTRY_CLS_OBJ_CACHE_CTRL,
                                s_clsObjCacheRpcProcEntryNum,
@@ -1526,15 +1526,15 @@
 }
 
 /**************************************************************************
-     : CLS_OBJ_CACHEĴע
- : 
- : 
- ֵ  : 
-     : 
+ 功    能: CLS_OBJ_CACHE的处理函数的注销函数
+ 输入参数: 无
+ 输出参数: 无
+ 返回值  : 无
+ 其 他   : 无
 **************************************************************************/
 void exitClsObjCache(void)
 {
-    ///TODO: 油˳
+    ///TODO: 后面补充退出函数
     DBG_LogInfo(LOG_ID_131B, "CLS_OBJ_CACHE: Exit succeeded.");
     return;
 }
--- ./source/private_module/sys/cls/cls_power_on.c	2018-04-25 09:54:21.000000000 +0000
+++ ./source/private_module/sys/cls/cls_power_on.c.hotpatch	2023-01-06 10:11:19.000000000 +0000
@@ -1,17 +1,17 @@
 /**************************************************************************
 
-    (C) 2007 ~2019   Ϊ޹˾  ȨУһȨ
+    (C) 2007 ~2019   华为技术有限公司  版权所有，保留一切权利。
 
 ***************************************************************************
-   :  
-     :  s90003381
- :  20121228
- :  Ⱥϵ紦
-     ע:
- ޸ļ¼:
-        1.ʱ     :
-             :
-          ޸ :
+ 版 本 号:  初稿
+ 作    者:  s90003381
+ 完成日期:  2012年12月28日
+ 功能描述:  集群上电处理
+ 备    注:
+ 修改记录:
+        1.时    间 :
+          修 改 人 :
+          修改内容 :
 **************************************************************************/
 #include <lvos.h>
 #include <xve_spec.h>
@@ -19,7 +19,7 @@
 #include <ld.h>
 #include <task.h>
 #include <cmm.h>
-#include <page_pool_sys_use.h> //C20 ͬDB
+#include <page_pool_sys_use.h> //C20新增 同步DB
 #include <alarm.h>
 #include <eam_intf.h>
 #include <db_config.h>
@@ -73,12 +73,12 @@
 
 MODULE_ID(OSP_SYS);
 
-/*****************************************************************/
-/* ȴDBϵ紦 60, ÿ5s ѯ */
+/*************************变量定义****************************************/
+/* 等待DB上电处理 60次, 每次5s 轮询 */
 #define MAX_CHECK_BDM_DISK_OVER_WAIT_COUNT (60)
 #define BDM_DISK_OVER_LOOP_CHECK_INERVAL (5000)
 
-/* ȴBBU״̬ 360Σÿ30µȲѯ */
+/* 等待检查BBU状态处理 360次，每次30秒重新调度查询 */
 
 #define CLS_CHECK_BBU_STATUS_WAIT_TIME   (30000)
 
@@ -89,43 +89,43 @@
 #endif
 
 /* modified by g90006267 for DTS2014011602301, 2014-1-16 begin */
-/* ϵʱһ治λʱĵȴʱ:10 */
+/* 定义上电时一对引擎不在位时的等待时间:10分钟 */
 #define PAIR_FAULT_POWER_ON_WAIT_TIME (10*60*1000)
 /* modified by g90006267 for DTS2014011602301, 2014-1-16 end */
 
 
-/*¼ϵִеض׶εȫֱ*/
+/*定义记录上电流程执行到特定阶段的全局变量*/
 bool g_powerOnStep;
 
-/*¼Ⱥϵ̿ʼִʱȫֱ*/
+/*定义记录集群上电流程开始执行时间的全局变量*/
 static uint64_t g_powerOnStartTime;
 
 /* modified by g90006267 for DTS2015051900076, 2015-5-28 begin */
-/* ǷBBUǷı */
+/* 定义是否检查BBU电量是否充足的标记 */
 bool g_checkBbuFlag;
 /* modified by g90006267 for DTS2015051900076, 2015-5-28 end */
 
-/*BBU״̬ȫֱ*/
+/*定义检查BBU状态次数的全局变量*/
 uint32_t g_loopCheckBbuStatusCnt;
 
-/*¼ϵʧܴȫֱ*/
+/*定义记录上电失败错误码的全局变量*/
 uint32_t g_pwrOnErrCode;
 
-/*¼ϵʧϢȫֱ*/
+/*定义记录上电失败信息的全局变量*/
 POWER_ON_FAILED_INFO_S g_pwrOnErrAuxiliaryInfo[MAX_CTRL_NODE_NUM];
 
-/*¼ϵԴ*/
+/*定义记录上电重试错误码*/
 int32_t g_pwrOnNeedRetryErrCode;
 
 /* modified by g90006267 for DTS2015042102849, 2015-04-20 begin */
-/* ¼PanicλСϵͳĴȫֱ */
-int32_t g_panicErrCode[MAX_CTRL_NODE_NUM] = {0}; //ͼŲ飬ȫֱʼ2016-5-18
+/* 定义记录Panic复位后进小系统的错误码的全局变量 */
+int32_t g_panicErrCode[MAX_CTRL_NODE_NUM] = {0}; //低级问题排查，全局变量初始化，2016-5-18
 /* modified by g90006267 for DTS2015042102849, 2015-04-20 end */
 
-/* Ƿָģʽ */
+/* 是否恢复出厂模式 */
 extern bool g_isFactoryDataResetMode;
 
-/* 弯ȺϵʧܵĻ˴˳Դ˳ */
+/* 定义集群上电失败的回退处理表，标的顺序必须是资源处理的顺序 */
 static FAIL_ACTION_ENTRY_S s_objClsPowerOnFailActionEntry[] =
 {
     {CLS_POWER_ON_ERRLOG_SET_RB_FALG, ACTION_CLS_POWER_ON_ERR_INFO, "write error code"},
@@ -134,10 +134,10 @@
     {CLS_POWER_ON_COLLECT_FAILED_INFO, ACTION_CLS_POWER_ON_COLLECT_FAILED_INFO, "collect poweron failed info"},
 };
 
-PWRON_ERROR_INFO_S localNodeFaultInfo;//ؽڵϵʧϢ
+PWRON_ERROR_INFO_S localNodeFaultInfo;//本地节点上电失败信息
 spinlock_t localNodeFaultInfoLock;
 
-/*****************************************************************/
+/*************************函数定义****************************************/
 
 #ifdef __KERNEL__
 extern void panic(const char *fmt, ...);
@@ -148,11 +148,11 @@
 static int32_t pwrOnRecordDifMemSize(TASK_S * task, nid_t nodeId);
 
 /**************************************************************************
-     :  ָڵͬλԭļ
- :  nid_t nodeId  -- ҪͬĽڵid
- :  
-   ֵ:  
-     :  
+ 功    能:  从指定节点同步复位原因错误码文件
+ 输入参数:  nid_t nodeId  -- 需要同步的节点id
+ 输出参数:  无
+ 返 回 值:  无
+ 其    他:  无
 **************************************************************************/
 void syncNodeResetReasonFile(nid_t nodeId)
 {
@@ -165,7 +165,7 @@
     CTRL_UTIL_IF_RETURN(MAX_CTRL_NODE_NUM > nodeId);
 
 #ifndef WIN32
-    /* ȡڲIP */
+    /* 获取内部IP */
     retVal = getInternalIPOrHeartIPByNid(nodeId, ipAddr);
 
     if (RETURN_OK != retVal)
@@ -180,15 +180,15 @@
     LVOS_strncpy(ipAddr, "127.0.0.1", BUF_SIZE_64);
 #endif 
 
-    /* װű */
+    /* 组装脚本命令 */
     snprintf(cCommand, MAX_NAME_LEN - 1, "%s %s %s %s",
             OSP_SYNC_COPY_SCRIPT, ipAddr, srcPathFile, dstPathFile);
 
-    /* ͬļ */
+    /* 同步文件 */
     retVal = callUserExcuteShell(cCommand);
     if (RETURN_OK != retVal) 
     {
-        /* űʧֱܻ߳Ӻ */
+        /* 脚本失败或者出错，直接忽略 */
         DBG_LogError(DBG_LOGID_NEW, "POWER_ON: Execute shell failed.");
         return;
     } 
@@ -196,11 +196,11 @@
     return;
 }
 /**************************************************************************
-     :  ɾڵԭļ
- :  nid_t fileNodeId  -- ļڵid
- :  
-   ֵ:  
-     :  
+ 功    能:  删除节点错误码原因文件
+ 输入参数:  nid_t fileNodeId  -- 文件所属节点id
+ 输出参数:  无
+ 返 回 值:  无
+ 其    他:  无
 **************************************************************************/
 void deleteNodeResetReasonFile(void)
 {
@@ -213,7 +213,7 @@
     snprintf(cFilePath, MAX_NAME_LEN, OSP_RECORD_RESET_REASON_FILE_PATH);
     cFilePath[MAX_NAME_LEN - 1] = '\0';
     
-    /* жļЧԣѡ· */
+    /* 判断文件有效性，选择路径 */
     retVal = LVOS_access(cFilePath, MODE_EXIST);
     if (RETURN_OK != retVal)
     {
@@ -223,7 +223,7 @@
         return;
     }
 
-    /* ļʽɾļ */
+    /* 用文件句柄形式删除错误码文件 */
     retVal = LVOS_CmdRm(cFilePath, B_FALSE);
     if (RETURN_OK != retVal) 
     {
@@ -236,11 +236,11 @@
     return;
 }
 /**************************************************************************
-     :  ļڵԭ
- :  nid_t fileNodeId  -- ļڵid
- :  
-   ֵ:  
-     :  
+ 功    能:  从文件解析节点错误码原因
+ 输入参数:  nid_t fileNodeId  -- 文件所属节点id
+ 输出参数:  无
+ 返 回 值:  无
+ 其    他:  无
 **************************************************************************/
 void analyzeNodeResetReasonFile(nid_t fileNodeId)
 {
@@ -253,7 +253,7 @@
 
     CTRL_UTIL_IF_RETURN(MAX_CTRL_NODE_NUM > fileNodeId);
     
-    /* жļЧԣѡ· */
+    /* 判断文件有效性，选择路径 */
     retVal = LVOS_access(OSP_RECORD_RESET_REASON_FILE_PATH, MODE_EXIST);
     if (RETURN_OK != retVal)
     {
@@ -261,7 +261,7 @@
         return;
     }
 
-    /* ļ */
+    /* 打开文件 */
     fd = LVOS_open(OSP_RECORD_RESET_REASON_FILE_PATH, O_RDONLY, S_IRUSR);
     if (0 > fd )
     {
@@ -271,7 +271,7 @@
         return;
     }
 
-    /* ȡļ */
+    /* 读取文件 */
     (void)LVOS_lseek(fd, 0, SEEK_SET);
     if (NULL == LVOS_readline(fd, acBuf, sizeof(acBuf) - 1))
     {
@@ -280,13 +280,13 @@
         return;
     }
 
-    /* رļ */
+    /* 关闭文件 */
     LVOS_close(fd);
     acBuf[sizeof(acBuf) -1 ] = '\0';
 
-    /*20171030_SR_PowerOnFailureDiagnosis_006_֧ϵʧܸЯڶλ
-                        FRUĹؼššSNȣ
-                        ӾϢΪ̳ԭ߼'\0'
+    /*20171030_SR_PowerOnFailureDiagnosis_006_支持上电失败根因描述中携带可用于定位
+                        到具体FRU的关键参数（如框号、控制器号、SN等）
+                        会增加具体参数信息，为继承原有逻辑单独加'\0'
       */
     ptr = acBuf;
     for (;*ptr != '\0';ptr++)
@@ -304,10 +304,10 @@
     LVOS_TP_NOPARAM_START(NODE_FAULT_1_47_15);
     LVOS_TP_END;
     
-    /* ת */
+    /* 转换错误码 */
     errCode = (int32_t)LVOS_StrToU64(acBuf);
     
-    /* ϵʧܴԭ̫㣬жЧ*/
+    /* 上电失败错误码原因太广，不需判断有效性*/
     setNodeFaultReasonByNodeId(fileNodeId, errCode, SYS_DEFAULT_ERROR_CODE);
 
 #else
@@ -318,19 +318,19 @@
 }
 
 /**************************************************************************
-     :  ýڵԭ
- :  uint32_t nodeBitMap -- ڵλͼ
-            int32_t errCode     -- 
-            int32_t paraCode    -- 
- :  
-   ֵ:  
-     :  
+ 功    能:  设置节点故障原因
+ 输入参数:  uint32_t nodeBitMap -- 节点位图
+            int32_t errCode     -- 错误码
+            int32_t paraCode    -- 错误参数
+ 输出参数:  无
+ 返 回 值:  无
+ 其    他:  无
 **************************************************************************/
 void setNodeFaultReasonByBitMap(uint32_t nodeBitMap, int32_t errCode, int32_t paraCode)
 {
     nid_t nodeId = INVALID_NID;
 
-    /*λɶλԴ룬SYS_BUGҪ¼ӡ־*/
+    /*复位可定位性错误码，自愈和SYS_BUG，不需要记录，仅打印日志*/
     if (((errCode < SYS_RESET_REASON_MAX_ERROR_CODE)&&(errCode > SYS_RESET_REASON_MIN_ERROR_CODE))
       ||(errCode == CTRL_BOARD_SYS_BUG_RESET)
       ||(errCode == CTRL_BOARD_FAILURE_RECOVERY_RESET))
@@ -340,7 +340,7 @@
                     nodeBitMap, errCode, paraCode);
         return;
     }
-    /*ˢ´ */
+    /*刷新错误码 */
     for(nodeId = 0; nodeId < MAX_CTRL_NODE_NUM; nodeId ++)
     {
         if(CHECK_NODEMAP_BIT_VALID(nodeId, nodeBitMap))
@@ -349,7 +349,7 @@
             g_pwrOnErrAuxiliaryInfo[nodeId].nodeFaultReasonParaCode = paraCode;
         }
     }
-    /* ѡԴӡЧˢ²Ŵ */
+    /* 清除错误码选择性打印，有效性刷新才打 */
     if((errCode == SYS_DEFAULT_ERROR_CODE)
      ||(errCode == CTRL_BOARD_PLANNED_RESET && paraCode == SYS_DEFAULT_ERROR_CODE))
     {
@@ -367,19 +367,19 @@
 }
 
 /**************************************************************************
-     :  ýڵԭ
- :  nid_t nodeId     -- ڵid
-            int32_t errCode  -- 
-            int32_t paraCode -- 
- :  
-   ֵ:  
-     :  
+ 功    能:  设置节点故障原因
+ 输入参数:  nid_t nodeId     -- 节点id
+            int32_t errCode  -- 错误码
+            int32_t paraCode -- 错误参数
+ 输出参数:  无
+ 返 回 值:  无
+ 其    他:  无
 **************************************************************************/
 void setNodeFaultReasonByNodeId(nid_t nodeId, int32_t errCode, int32_t paraCode)
 {
     CTRL_UTIL_IF_RETURN(nodeId < MAX_CTRL_NODE_NUM);
 
-    /*λɶλԴ룬SYS_BUGҪ¼ӡ־*/
+    /*复位可定位性错误码，自愈和SYS_BUG，不需要记录，仅打印日志*/
     if (((errCode < SYS_RESET_REASON_MAX_ERROR_CODE)&&(errCode > SYS_RESET_REASON_MIN_ERROR_CODE))
       ||(errCode == CTRL_BOARD_SYS_BUG_RESET)
       ||(errCode == CTRL_BOARD_FAILURE_RECOVERY_RESET))
@@ -390,11 +390,11 @@
         return;
     }
 
-    /*ˢ´ */
+    /*刷新错误码 */
     g_pwrOnErrAuxiliaryInfo[nodeId].nodeFaultReasonErrCode  = errCode;
     g_pwrOnErrAuxiliaryInfo[nodeId].nodeFaultReasonParaCode = paraCode;
 
-    /* ѡԴӡЧˢ²Ŵ */
+    /* 清除错误码选择性打印，有效性刷新才打 */
     if((errCode == SYS_DEFAULT_ERROR_CODE)
      ||(errCode == CTRL_BOARD_PLANNED_RESET && paraCode == SYS_DEFAULT_ERROR_CODE))
     {
@@ -412,18 +412,18 @@
 }
 
 /**************************************************************************
-     :  Ƿڽڵԭ
- :  nid_t nodeId      -- ڵid
- :  
-   ֵ:  B_FALSE  -- 
-            B_TRUE   -- 
-     :  
+ 功    能:  检查是否存在节点故障原因
+ 输入参数:  nid_t nodeId      -- 节点id
+ 输出参数:  无
+ 返 回 值:  B_FALSE  -- 不存在
+            B_TRUE   -- 存在
+ 其    他:  无
 **************************************************************************/
 bool isExistNodeFaultReason(nid_t nodeId)
 {
     int32_t errCode = SYS_DEFAULT_ERROR_CODE;
     int32_t paraCode = SYS_DEFAULT_ERROR_CODE;
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF_RET(nodeId < MAX_CTRL_NODE_NUM, B_FALSE);
 
     getNodeFaultReason(nodeId, &errCode, &paraCode);
@@ -437,17 +437,17 @@
 }
 
 /**************************************************************************
-     :  ȡڵԭ
- :  nid_t nodeId      -- ڵid
-            int32_t* errCode  -- 
-            int32_t* paraCode -- 
- :  
-   ֵ:  
-     :  
+ 功    能:  获取节点故障原因
+ 输入参数:  nid_t nodeId      -- 节点id
+            int32_t* errCode  -- 错误码
+            int32_t* paraCode -- 错误参数
+ 输出参数:  无
+ 返 回 值:  无
+ 其    他:  无
 **************************************************************************/
 void getNodeFaultReason(nid_t nodeId, int32_t* errCode, int32_t* paraCode)
 {
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF_RETURN(nodeId < MAX_CTRL_NODE_NUM);
     
     *errCode  = g_pwrOnErrAuxiliaryInfo[nodeId].nodeFaultReasonErrCode;
@@ -464,11 +464,11 @@
 }
 
 /**************************************************************************
-     :  ýڵԭ
- :  uint32_t nodeBitMap  -- ڵλͼ
- :  
-   ֵ:
-     :  
+ 功    能:  重置节点故障原因
+ 输入参数:  uint32_t nodeBitMap  -- 节点位图
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void clearNodeFaultReason(uint32_t nodeBitMap)
 {
@@ -493,11 +493,11 @@
 }
 
 /**************************************************************************
-     :  ϵʧԴϢ
- :  int32_t errCode 
- :  
-   ֵ:  
-     :  
+ 功    能:  设置上电失败重试错误码信息
+ 输入参数:  int32_t errCode 错误码
+ 输出参数:  无
+ 返 回 值:  无
+ 其    他:  无
 **************************************************************************/
 void setPowerOnNeedRetry(int32_t errCode)
 {
@@ -510,11 +510,11 @@
 }
 
 /**************************************************************************
-     :  ȡϵʧԴϢ
- :  
- :  
-   ֵ:  int32_t errCode 
-     :  
+ 功    能:  获取上电失败重试错误码信息
+ 输入参数:  无
+ 输出参数:  无
+ 返 回 值:  int32_t errCode 错误码
+ 其    他:  无
 **************************************************************************/
 int32_t getPowerOnNeedRetry(void)
 {
@@ -525,16 +525,16 @@
     return errCode;
 }
 /**************************************************************************
-     :  ȡϵʧܴϢ
- :  nid_t nodeId ڵID
- :  
-   ֵ:  int32_t errCode 
-     :  
+ 功    能:  获取上电失败错误码信息
+ 输入参数:  nid_t nodeId 节点ID
+ 输出参数:  无
+ 返 回 值:  int32_t errCode 错误码
+ 其    他:  无
 **************************************************************************/
 int32_t getNodePowerOnFailInfo(nid_t nodeId)
 {
     int32_t errCode = 0;
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF_RET(nodeId < MAX_CTRL_NODE_NUM, INVALID_VALUE32);
 
     errCode = g_pwrOnErrAuxiliaryInfo[nodeId].pwrOnFailedNodeErrCode;
@@ -546,12 +546,12 @@
 }
 
 /**************************************************************************
-     :  ϵʧܴϢ
- :  nid_t nodeId  ڵID
-            int32_t errCode 
- :  
-   ֵ:
-     :  
+ 功    能:  设置上电失败错误码信息
+ 输入参数:  nid_t nodeId  节点ID
+            int32_t errCode 错误码
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void setNodePowerOnFailInfo(nid_t nodeId, int32_t errCode)
 {
@@ -566,17 +566,17 @@
 }
 
 /**************************************************************************
-     :  ϵʧܴϢ(λͼ)
- :  uint32_t nodeBitMap  ڵλͼ
-            int32_t errCode 
- :  
-   ֵ:
-     :  
+ 功    能:  设置上电失败错误码信息(位图)
+ 输入参数:  uint32_t nodeBitMap  节点位图
+            int32_t errCode 错误码
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void setPowerOnFailErrcodeInfoByBitMap(uint32_t nodeBitMap, int32_t errCode)
 {
     nid_t nodeNid = INVALID_NID;
-    /* ϵʧܴϢ*/
+    /* 设置上电失败错误码信息*/
     for(nodeNid = 0; nodeNid < MAX_CTRL_NODE_NUM; nodeNid++)
     {
         if(CHECK_NODEMAP_BIT_VALID(nodeNid, nodeBitMap))
@@ -589,12 +589,12 @@
 }
 
 /**************************************************************************
-     :  ϵʧܴϢ
- :  nid_t nodeId  ڵID
-            int32_t errCode 
- :  
-   ֵ:
-     :  
+ 功    能:  清除上电失败错误码信息
+ 输入参数:  nid_t nodeId  节点ID
+            int32_t errCode 错误码
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void clearPowerOnFailErrcodeInfo()
 {
@@ -609,15 +609,15 @@
 }
 
 /**************************************************************************
-     :  ȡϵʧϢλͼ
- :  nid_t nodeId
- :  
-   ֵ:
-     :  
+ 功    能:  获取上电失败信息辅助位图
+ 输入参数:  nid_t nodeId
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void getNodePowerOnFailAuxiliaryInfo(nid_t nodeId, char* auxInfo)
 {
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF_RETURN(nodeId < MAX_CTRL_NODE_NUM);
     CTRL_UTIL_IF_RETURN(NULL != auxInfo);
 
@@ -630,12 +630,12 @@
 }
 
 /**************************************************************************
-     :  ϵʧϢλͼ
- :  nid_t nodeId  ڵID
-            char* auxInfo Ϣ
- :  
-   ֵ:
-     :  
+ 功    能:  设置上电失败信息辅助位图
+ 输入参数:  nid_t nodeId  节点ID
+            char* auxInfo 辅助信息
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void setNodePowerOnFailAuxiliaryInfo(nid_t nodeId, char* auxInfo)
 {
@@ -657,11 +657,11 @@
 }
 
 /**************************************************************************
-     :  ϵʧܸϢ
- :  uint32_t nodeBitMap
- :  
-   ֵ:
-     :  
+ 功    能:  重置上电失败辅助信息
+ 输入参数:  uint32_t nodeBitMap
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void clearPowerOnFailAuxiliaryInfo(uint32_t nodeBitMap)
 {
@@ -682,15 +682,15 @@
 }
 
 /**************************************************************************
-     :  ȡϵʧܵĴ
- :  rpcContext  RPC
- :  
-   ֵ:
-     :  
+ 功    能:  获取上电失败的错误码
+ 输入参数:  rpcContext  RPC上下文
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void getPowerOnFailCode(uint32_t* errCode)
 {
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != errCode);
 
     *errCode = g_pwrOnErrCode;
@@ -699,11 +699,11 @@
 }
 
 /**************************************************************************
-     :  ϵʧܵĴ
- :  errCode  
- :  
-   ֵ:
-     :  
+ 功    能:  设置上电失败的错误码
+ 输入参数:  errCode  错误码
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void setPowerOnFailCode(uint32_t errCode)
 {
@@ -713,11 +713,11 @@
 }
 
 /**************************************************************************
- :  Ƿûõ߼涼нڵϵλͼ(ϵרãӷ͸Ϣ)
- :  nodeBitmap -- ڵλͼ
- :  
- ֵ:  B_TRUE: 涼нڵָλͼ, B_FALSE: ûнڵָλͼ
- :  
+ 功能:  检查是否用户配置的逻辑引擎都有节点在上电位图中(上电专用，增加发送辅助信息)
+ 输入参数:  nodeBitmap -- 节点位图
+ 输出参数:  无
+ 返回值:  B_TRUE: 所有引擎都有节点在指定位图中, B_FALSE: 有引擎没有节点在指定位图中
+ 其他:  无
  **************************************************************************/
 bool checkGroupHaveNodeInClsAtPwrOn(uint32_t nodeBitmap)
 {
@@ -730,7 +730,7 @@
     char pwrOnFailedParaInfo[MAX_POWER_ON_FAILED_AUX_INFO_SIZE] = {0};
     char frameName[FRAME_NAME_LEN] = {0};
     char tmpFailedInfo[MAX_POWER_ON_FAILED_AUX_INFO_SIZE] = {0};
-    /* ȡûõ߼ */
+    /* 获取用户配置的逻辑引擎数量 */
     getUsrConfigNodeGroupNum(&userConfGroupNum);
 
     for (index = 0; index < userConfGroupNum; index++)
@@ -743,7 +743,7 @@
         }
     }
 
-    /* ȡûõĽڵ */
+    /* 获取用户配置的节点数量 */
     getUsrConfigNodeNum(&usrCfgNodeNum);
     
     for (index = 0; index < usrCfgNodeNum; index++)
@@ -757,7 +757,7 @@
                      MAX_POWER_ON_FAILED_AUX_INFO_SIZE - 1,
                      "%s;",
                      frameName);
-            //ֹڴ棬ǿƽض
+            //防止踩内存，强制截断
             if ( (strlen(pwrOnFailedParaInfo)+strlen(tmpFailedInfo)) >= (SYS_POWERON_FAILED_MAX_LEN-1) )
             {
                 break;
@@ -768,7 +768,7 @@
     
     if(!realReturnValue)
     {
-        //ϵʧܸ
+        //上电失败辅助信
         recordPwrOnFailedInfoByBitMap(nodeBitmap, 
                                 SYS_ERROR_PWRON_CNDTN_CHECK_NO_USR_LOGIC_ENGINE_PARAM, 
                                 pwrOnFailedParaInfo,
@@ -778,11 +778,11 @@
 }
 
 /**************************************************************************
-     :  Ƿûõ߼涼нڵ㶼ָλͼ
- :   nodeBitmap -- ڵλͼ
- :  
- ֵ  :  B_TRUE:涼нڵָλͼ;B_FALSE:ûнڵָλͼ
-     :  
+ 功    能:  检查是否用户配置的逻辑引擎都有节点都在指定位图中
+ 输入参数:   nodeBitmap -- 节点位图
+ 输出参数:  无
+ 返回值  :  B_TRUE:所有引擎都有节点在指定位图中;B_FALSE:有引擎没有节点在指定位图中
+ 其 他   :  无
 **************************************************************************/
 bool checkGroupHaveNodeInCls(uint32_t nodeBitmap)
 {
@@ -790,7 +790,7 @@
     uint32_t groupNodeBitmap = 0;
     uint16_t userConfGroupNum = 0;
 
-    /* ȡûõ߼ */
+    /* 获取用户配置的逻辑引擎数量 */
     getUsrConfigNodeGroupNum(&userConfGroupNum);
 
     for (index = 0; index < userConfGroupNum; index++)
@@ -806,11 +806,11 @@
 }
 
 /**************************************************************************
-     :  ģ鼯ȺϵTaskܷ
- :  sysCmd ϵͳ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :
+ 功    能:  互斥模块检查集群上电Task能否运行
+ 输入参数:  sysCmd 系统命令字
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :
 **************************************************************************/
 int32_t checkClsPowerOnTaskCanExecute(void *sysCmd)
 {
@@ -826,11 +826,11 @@
 
     tempSysCmd = (SYS_CMD_S *)sysCmd;
 
-    /* Ⱥ״̬ȷмȺϵ */
+    /* 集群状态不正确，不进行集群上电 */
     getClusterMode(&clsMode);
 
     /* modified by g90006267 for DTS2014011300199, 2014-1-13 begin */
-    /* ݼȺ״̬ȡϵĽڵλͼ */
+    /* 根据集群状态获取参与上电的节点位图 */
     if(SYS_CLUSTER_MODE_ONLINE == clsMode)
     {
         getNodeBitMap(SYS_NODE_STATUS_STANDBY, &pwrOnBitmap);
@@ -840,7 +840,7 @@
     {
         if(true == tempSysCmd->isMirrorCmd)
         {
-            /* Ⱥ״̬Normal£ȡaliveĽڵλͼΪϵڵλͼ */
+            /* 集群状态Normal的情况下，获取alive的节点位图，作为上电节点位图 */
             getAliveNodeBitMap(&pwrOnBitmap);
             DBG_LogInfo(LOG_ID_13F9,
                         "POWER_ON: Cluster mode is normal and mirror cmd to cls power on."
@@ -865,13 +865,13 @@
     }
     /* modified by g90006267 for DTS2014011300199, 2014-1-13 end */
 
-    /* ûõĳ߼Ľڵ㶼ڼ뼯ȺĽڵλͼУȴ10ӣ̼ */
+    /* 用户配置的某个逻辑引擎的节点都不在加入集群的节点位图中，等待10分钟，流程继续 */
     if(!checkGroupHaveNodeInCls(pwrOnBitmap))
     {
         DBG_LogError(LOG_ID_13FE,
                      "POWER_ON: Group not join in cluster, can not execute power on task.");
 
-        /* ʼȺϵʱ */
+        /* 初始化集群上电时间 */
         if(0 == g_powerOnStartTime)
         {
             g_powerOnStartTime = LVOS_GetMilliSecond();
@@ -890,7 +890,7 @@
             }
             /* modified by g90006267 for DTS2014053008790  2014-06-12 end*/
 
-            /* ¹һػУȴµ */
+            /* 该命令重新挂回互斥队列，等待重新调度 */
             PAUSE_MUTEX_REQUEST((SYS_CMD_S *)sysCmd, PAIR_FAULT_POWER_ON_WAIT_TIME);
             return RETURN_ERROR;
         }
@@ -904,20 +904,20 @@
     }
 
     /* modified by g90006267 for DTS2014050902796 , 2014-5-9 begin */
-    /* ³ʼȺϵʱ䣬ֹһϵʱһ治λʼʱȻλ
-      нڵ룬ϵ㣬ᵼºнڵλ()
-      ʹһ治λʱϵͳֱӽȫģʽ */
+    /* 重新初始化集群上电时间，防止第一次上电时一对引擎不在位，开始计时，然后不在位
+      的引擎有节点加入，满足了上电条件，但计数不清零，会导致后面有节点正常复位(如插框复用)
+      使一对引擎不在位时，系统直接进安全模式 */
     g_powerOnStartTime = 0;
     /* modified by g90006267 for DTS2014050902796 , 2014-5-9 end */
     return RETURN_OK;
 }
 
 /**************************************************************************
-     :  伯ȺϵԼ졢ָõĲԲ
- :  task -- ȺϵTaskָ
- :  
- ֵ  :  
-     :  
+ 功    能:  填充集群上电自检、恢复配置的策略步骤
+ 输入参数:  task -- 集群主上电流程Task指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void fillPwrOnTaskActions(TASK_S *task)
 {
@@ -935,81 +935,81 @@
     idx++;
 
     /* modified by g90006267 for DTS2014032010797, 2014-4-09 begin */
-    /* ϵ */
+    /* 检查上电流程重入次数 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_CHECK_POWER_ON_RETRY_TIME);
     idx++;
     /* modified by g90006267 for DTS2014032010797, 2014-4-09 end */
 
-    /* ֪ͨC99DB */
+    /* 通知C99禁配DB */
     //SET_TASK_ACTION(task, idx, ACTION_CLS_UPGRADE_C99_NOTIFY_DB_UNCONFIGURABLE);
     //idx++;
 
-    /* C99C00ش, RSS */
+    /* C99升级到C00相关处理, 处理RSS场景 */
     //SET_TASK_ACTION(task, idx, ACTION_CLS_UPGRADE_C99_PROCESS_RSS);
     //idx++;
 
-    /* üȺ״̬ͬϵڵ */
+    /* 设置集群运行状态，并同步上电节点 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_POWER_ON_SET_RUN_STATUS);
     idx++;
 
-    /* ϵԼ(PairԼ졢ȺԼ) */
+    /* 上电自检(Pair自检、集群自检) */
     SET_TASK_ACTION(task, idx, ACTION_CLS_POWER_ON_SELF_CHECK);
     idx++;
 
-    /* Ⱥϵ */
+    /* 集群上电条件检查 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_POWER_ON_CONDITION_CHECK);
     idx++;
 
-    /* ָ */
+    /* 恢复脏数据 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_POWER_ON_RECOVER_DIRTY_DATA);
     idx++;
 
-    /* ָ */
+    /* 恢复配置 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_POWER_ON_RECOVER_CONFIGURE);
     idx++;
 
-    /* ϵͳNormalش */
+    /* 系统Normal相关处理 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_POWER_ON_SYSTEM_NORMAL_HANDLE);
     idx++;
 
-    /* ̶ */
+    /* 检查盘都接入完成 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_POWER_ON_CHECK_ALL_DISK_OVER);
     idx++;
 
-    /* ͼȺϵ¼ */
+    /* 发送集群上电完毕事件 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_POWER_ON_SEND_EVENT);
     idx++;
 
-    /* ռڵϵʧϢ */
+    /* 收集各节点上电失败信息 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_POWER_ON_COLLECT_FAILED_INFO);
     idx++;
 
-    /* ֪ͨڵдϵʧϢ */
+    /* 通知各节点写上电失败信息 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_POWER_ON_WRITE_FAILED_INFO);
     idx++;
 
-    /* ϵ/ָ ɹ/ʧ 쳣ڵ */
+    /* 上电/恢复 成功/失败 处理异常节点 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_POWER_ON_DEAL_ABNORMAL_NODE);
     idx++;
 
-    /* ¼ϵ쳣/־ */
+    /* 记录上电异常/错误日志 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_POWER_ON_ERR_INFO);
     idx++;
 
-    /*  */
+    /* 结束 */
     SET_TASK_ACTION(task, idx, ACTION_OPCODE_BUTT);
 
     return;
 }
 
 /**************************************************************************
-     :  ʼϵTASKֵ
- :  task -- ϵTaskָ
- :  
- ֵ  :  
-     :
- 1.Ⱥ״̬ΪNormal˵ǰִеNormal׶κȺϣ˴ϵȡ
-   ״̬ΪAliveĽڵΪϵĽڵ㡣
+ 功    能:  初始化上电TASK值
+ 输入参数:  task -- 上电流程Task指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :
+ 1.集群状态为Normal，说明前面流程执行到Normal阶段后集群主故障，此次上电获取
+   状态为Alive的节点作为参与上电的节点。
 **************************************************************************/
 void initPwrOnTask(POWER_ON_TASK_S *powerOnTask)
 {
@@ -1018,11 +1018,11 @@
     SYS_CLUSTER_MODE_E clsMode = SYS_CLUSTER_MODE_BUTT;
     nid_t nodeNid = INVALID_NID;
 
-    /* ȡȺ״̬ */
+    /* 获取集群状态 */
     getClusterMode(&clsMode);
 
     /* modified by g90006267 for DTS2014011300199, 2014-1-13 begin */
-    /* ݼȺ״̬ȡϵĽڵλͼ */
+    /* 根据集群状态，获取上电的节点位图 */
     if(SYS_CLUSTER_MODE_NORMAL != clsMode)
     {
         getNodeBitMap(SYS_NODE_STATUS_STANDBY, &pwrOnBitmap);
@@ -1054,13 +1054,13 @@
         memset(&(powerOnTask->localNodeInfo[idx]), 0, sizeof(LOCAL_NODE_INFO_S));
     }
 
-    /*ϵʧܸϢ*/
+    /*清除上电失败辅助信息*/
     nodeSyncClearPowerOnFailAuxInfo(powerOnTask->pwrBitmap);
-    /*ϵʧܴ*/
+    /*清除上电失败错误码*/
     setPowerOnFailErrcodeInfoByBitMap(powerOnTask->pwrBitmap, SYS_DEFAULT_ERROR_CODE);
-    /*ϵʧԴ*/
+    /*清除上电失败重试错误码*/
     setPowerOnNeedRetry(SYS_DEFAULT_ERROR_CODE);
-    /*ϵ縴λϢͬ*/
+    /*上电复位信息集同步*/
     nodeSyncResetInfo(powerOnTask->pwrBitmap);
 
     for (nodeNid = 0; nodeNid < MAX_CTRL_NODE_NUM; nodeNid++)
@@ -1073,11 +1073,11 @@
 
 
 /**************************************************************************
-     :  PowerOnTaskִ
- :  sysCmd - MUTEXģ鴫µָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  创建PowerOn的Task并执行
+ 输入参数:  sysCmd - MUTEX模块传下的命令指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 int32_t createClsPowerOnTask(void *sysCmd)
 {
@@ -1088,10 +1088,10 @@
 
     CTRL_UTIL_IF(NULL != sysCmd);
 
-    /* ӡ־ */
+    /* 打印日志 */
     DBG_LogInfo(LOG_ID_1401, "POWER_ON: Create power on task.");
 
-    /*ϵͳsys task*/
+    /*创建系统管理sys task*/
     retVal = CREATE_SYS_TASK((TASK_S**)&powerOnTask,
                              sizeof(POWER_ON_TASK_S),
                              fillPwrOnTaskActions);
@@ -1103,35 +1103,35 @@
 
     baseTask = &(powerOnTask->baseTask);
 
-    /* ʼϵ̵ĵϢ */
+    /* 初始化上电流程的调试信息 */
     INIT_SYS_TRACE(SYS_TRACE_TYPE_POWER_ON);
 
-    /* ʼϵTaskֵ */
+    /* 初始化上电流程Task值 */
     initPwrOnTask(powerOnTask);
 
-    /* ӡϢ */
+    /* 打印调试描述信息 */
     SET_SYS_TRACE_DESC_INFO(SYS_TRACE_TYPE_POWER_ON, "Power on node bitmap(%u).",
                             powerOnTask->pwrBitmap);
 
     SET_TASK_NAME(baseTask, "POWER_ON");
 
-    /* óɸȼ */
+    /* 设置成高优先级 */
     SET_TASK_PRIORITY_HIGH(baseTask);
 
-    /* sysCmdָ뱣浽taskУԱtaskʱص */
+    /* 将sysCmd指针保存到task中，以便该task结束时回调用 */
     SET_TASK_PRIVATE_PTR(baseTask, (SYS_CMD_S*)sysCmd);
 
     ADD_TASK_TO_SYSCMD(baseTask, (SYS_CMD_S*)sysCmd);
 
-    /* û˴ */
+    /* 设置回退处理表 */
     //arraySize = ARRAY_LEN(s_clsC99UpgradeFailActionEntry);
     //SET_TASK_FAIL_POLICY_TABLE(baseTask, s_clsC99UpgradeFailActionEntry, arraySize);
 
-    /* û˴ */
+    /* 设置回退处理表 */
     arraySize = ARRAY_LEN(s_objClsPowerOnFailActionEntry);
     SET_TASK_FAIL_POLICY_TABLE(baseTask, s_objClsPowerOnFailActionEntry, arraySize);
 
-    /* FDSA̳ʱע */
+    /* FDSA流程超时策略注册 */
     (void)REG_FLOW_TMO_FDSA((uint64_t)SYS_FLOW_FDSA_POWER_ON, SYS_FLOW_TMO_POWERON, HEAL_CRITICAL_LEVEL);
 
     TASK_CALL_ACTION_START_ASYNC(baseTask);
@@ -1140,11 +1140,11 @@
 }
 
 /**************************************************************************
-     :  ϵrebootڵ
- :
- :  
- ֵ  :  
-     :  
+ 功    能:  上电结束处理reboot节点
+ 输入参数:
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void pwrOnHandleRebootNode(uint32_t nodeBitMap)
 {
@@ -1163,11 +1163,11 @@
 }
 
 /**************************************************************************
-     :  ϵpanicڵ
- :
- :  
- ֵ  :  
-     :  
+ 功    能:  上电结束处理panic节点
+ 输入参数:
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void pwrOnHandlePanicNode(uint32_t nodeBitMap)
 {
@@ -1196,13 +1196,13 @@
         }
     }
 
-    /* λɶλ: ϵʧpanic*/
+    /* 复位可定位性: 上电失败panic控制器*/
     recordNodeFaultReasonByBitMap(nodeBitMap, SYS_RESET_REASON_POWER_ON_FAILED_PANIC, SYS_DEFAULT_ERROR_CODE);
 
-    /* ʼRPC */
+    /* 初始化RPC任务参数 */
     SET_SYS_RPC_PARAM(SYS_RPC_CLS_NTF_PANIC_RESET, nodeBitMap,
                       &rebootInfo, sizeof(rebootInfo), SYS_SEND_POWER_ON_MSG_TIME_OUT, &sysRpcParam);
-    /* ָ֪ͨPanicλ */
+    /* 通知指定控制器Panic复位 */
     retVal = START_SYS_RPC_TASK(&sysRpcParam, NULL);
     if (RETURN_OK != retVal)
     {
@@ -1213,11 +1213,11 @@
 }
 
 /**************************************************************************
-     :  ϵisolateڵ
- :
- :  
- ֵ  :  
-     :  
+ 功    能:  上电结束处理isolate节点
+ 输入参数:
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void pwrOnHandleIsolateNode(POWER_ON_TASK_S* powerOnTask)
 {
@@ -1226,17 +1226,17 @@
 
     
     getAliveNodeBitMapInfo(&sendBitMap);
-    /* ͸澯,Ϊpanicͷrebootȶ̬ڵ*/
+    /* 发送告警,为非panic和非reboot的稳定态隔离节点*/
     sendBitMap = sendBitMap & powerOnTask->isolatedBitmap & (~powerOnTask->panicBitmap) & (~powerOnTask->rebootBitmap);
     sendNodePwrOnAbnormalAlarm(sendBitMap, powerOnTask->isolatedReason, ALM_ALARM_TYPE_FAULT);
 
-    /* ô־*/
+    /* 设置错误码日志*/
     retVal = notifyNodeSetIsolateLog(powerOnTask->isolatedBitmap, powerOnTask->isolatedReason, (void*)powerOnTask);
 
     LVOS_TP_START(POWER_ON_1_47_93, &retVal)
     LVOS_TP_END
 
-    /* ʧܽӡӰϵ*/
+    /* 失败仅打印，不影响上电流程*/
     if (RETURN_OK != retVal)
     {
         DBG_LogError(DBG_LOGID_NEW,
@@ -1246,11 +1246,11 @@
 }
 
 /**************************************************************************
-     :  ϵʧܻع
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  设置上电失败回滚标记
+ 输入参数:  
+ 输出参数:  无
+ 返回值  :  
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnSetRbFlag(TASK_S * task)
 {
@@ -1265,28 +1265,28 @@
 }
 
 /**************************************************************************
-     :  ϵ쳣ڵ(reboot/panic/isolate)
- :  task -- Taskָ
- :  
- ֵ  :  
-     :  ϵɹʧܣҪreboot/panic/isolateڵ
+ 功    能:  上电结束处理异常节点(reboot/panic/isolate)
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  上电成功或者失败，处理需要reboot/panic/isolate节点
 **************************************************************************/
 static int32_t pwrOnHandleAbnormalNode(TASK_S* task)
 {
     nid_t masterNid = INVALID_NID;
     POWER_ON_TASK_S *powerOnTask = NULL;
 
-    /*μ*/
+    /*入参检查*/
     CTRL_UTIL_IF(NULL != task);
     powerOnTask = (POWER_ON_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(powerOnTask);
 
-    /* ˱ʶ */
+    /* 清除回退标识 */
     UNSET_ONE_UNDO_RES_FLAG(task, CLS_POWER_ON_ABNORMAL_NODE_SET_RB_FALG);
 
-    /* ǼȺҪ, ҪλȺ, Աڱشϵ*/
+    /* 如果是集群主需要隔离, 需要复位集群主, 以便于备控触发上电流程*/
     (void)getGlbMasterNodeId(&masterNid);
 
     if (CHECK_NODEMAP_BIT_VALID(masterNid, powerOnTask->isolatedBitmap))
@@ -1295,22 +1295,22 @@
         SET_NODEMAP_BIT(masterNid, powerOnTask->rebootBitmap);
     }
 
-    /* ҪpanicλĽڵ */
+    /* 处理需要panic复位的节点 */
     if (0 != powerOnTask->panicBitmap)
     {
         pwrOnHandlePanicNode(powerOnTask->panicBitmap);
     }
 
-    /* ϵڵָλָڵ */
+    /* 上电或节点恢复，复位指定节点 */
     if (0 != powerOnTask->rebootBitmap)
     {
-        /* ϵárebootλڼƻԸλüƻԸλԭ*/
+        /* 上电查框复用、升级的reboot复位属于计划性复位，置计划性复位原因*/
         recordNodeFaultReasonByBitMap((powerOnTask->planRebootBitMap & powerOnTask->rebootBitmap),
                                       CTRL_BOARD_PLANNED_RESET, SYS_DEFAULT_VALUE_CODE);
         pwrOnHandleRebootNode(powerOnTask->rebootBitmap);
     }
 
-    /* Ⱥϵɹڵ | Ⱥָϵʧܸڵ ڲreq-child task*/
+    /* 集群上电成功隔离节点 | 集群恢复上电失败隔离节点 内部有req-child task*/
     if (0 != powerOnTask->isolatedBitmap)
     {
         pwrOnHandleIsolateNode(powerOnTask);
@@ -1324,11 +1324,11 @@
 }
 
 /**************************************************************************
-     : PowerOn ̵ĲԲ亯
- : v_pTask - 崦̵Task
- : 
- ֵ  : 
-     : ۽ڵϵ׶ιݲȺϵ׶
+ 功    能: PowerOn 错误处理流程的策略步骤填充函数
+ 输入参数: v_pTask - 定义处理流程的Task
+ 输出参数: 无
+ 返回值  : 无
+ 其 他   : 经讨论节点上电阶段故障暂不处理，仅处理集群上电阶段
 **************************************************************************/
 static void fillPowerOnErrHandleActions(TASK_S * task)
 {
@@ -1347,12 +1347,12 @@
 }
 
 /**************************************************************************
-     : PowerOn̵ִв - ͬȺϢ
- : v_pTask
- : 
- ֵ  : RETURN_OK ɹ
-        : RETURN_ERROR ʧ
-     :
+ 功    能: PowerOn流程的执行步骤 - 同步集群信息
+ 输入参数: v_pTask
+ 输出参数: 无
+ 返回值  : RETURN_OK 成功
+        : RETURN_ERROR 失败
+ 其 他   :
 **************************************************************************/
 static int32_t pwrOnErrSyncClsInfo(TASK_S *task)
 {
@@ -1380,13 +1380,13 @@
 }
 
 /**************************************************************************
-     : ¼ļ
- : errCode
- : 
- ֵ  : RETURN_OK ɹ
-        : RETURN_ERROR ʧ
-     : 1ϵʧԭ2µʧԭ򣬼ϵ硢µʧʱ޷½
-         ¼ԭ
+ 功    能: 错误码记录到文件中
+ 输入参数: errCode
+ 输出参数: 无
+ 返回值  : RETURN_OK 成功
+        : RETURN_ERROR 失败
+ 其 他   : 1、上电失败原因；2、下电失败原因，即上电、下电失败时网管无法登陆
+         记录错误原因
 **************************************************************************/
 void setFailLog(uint32_t errCode)
 {
@@ -1400,7 +1400,7 @@
     {
         DBG_LogError(LOG_ID_1404,"POWER_ON: Invalid errcode(%u).", errCode);
 
-        /*Ч滻*/
+        /*无效错误码替换*/
        errCode = SYS_ERROR_PWRON_ERRHANDLE_INVALID_ERRCODE;
     }
 
@@ -1410,7 +1410,7 @@
     cCommand[MAX_NAME_LEN - 1] = '\0';
 
     retVal = callUserExcuteShell(cCommand);
-    if (RETURN_OK != retVal) /* ӡ */
+    if (RETURN_OK != retVal) /* 出错仅仅打印下 */
     {
         DBG_LogError(LOG_ID_1405, "POWER_ON: Execute shell failed.");
     }
@@ -1419,11 +1419,11 @@
 }
 
 /**************************************************************************
-     :  ڵͬλϢ
- :  uint32_t pwrOnBitMap  -- ϵλͼ
- :  
-   ֵ:
-     :  
+ 功    能:  节点同步复位信息集
+ 输入参数:  uint32_t pwrOnBitMap  -- 上电位图
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void nodeSyncResetInfo(uint32_t pwrOnBitMap)
 {
@@ -1437,21 +1437,21 @@
                         NULL);
     if (RETURN_OK != retVal)
     {
-        /*ֻӡ*/
+        /*只打印错误*/
         DBG_LogError(DBG_LOGID_NEW, "POWER_ON: Send sys rpc failed.");
     }
     return;
 }
 
 /**************************************************************************
-     : PowerOn̵ִв - ϵͳϵ־
- : bitmap   - λͼ
-           errCode  -  (MAX_CTRL_NODE_NUM )
-           context  - 
- : 
- ֵ  : RETURN_OK ɹ
-           RETURN_ERROR ʧ
-     :
+ 功    能: PowerOn流程的执行步骤 - 设置系统上电隔离错误日志
+ 输入参数: bitmap   - 位图
+           errCode  - 错误码 (MAX_CTRL_NODE_NUM 个)
+           context  - 上下文
+ 输出参数: 无
+ 返回值  : RETURN_OK 成功
+           RETURN_ERROR 失败
+ 其 他   :
 **************************************************************************/
 int32_t notifyNodeSetIsolateLog(uint32_t bitmap, int32_t* errCode, void* context)
 {
@@ -1485,11 +1485,11 @@
 }
 
 /**************************************************************************
-     :  Ϣ
- :  task
- :  
- ֵ  :     
-     :  
+ 功    能:  主控清除错误信息
+ 输入参数:  task
+ 输出参数:  无
+ 返回值  :     无
+ 其 他   :  无
 **************************************************************************/
 static void pwrOnClearMasterFailedInfo(uint32_t pwrBitMap)
 {
@@ -1501,7 +1501,7 @@
         {
             continue;
         }
-        //ڴϢ
+        //清除主控清除错误内存信息
         spin_lock(&localNodeFaultInfoLock);
         memset(&(localNodeFaultInfo.allNodeFaultInfo[nodeNid]), 0, sizeof(EVENT_NODE_FAULT_INFO_SYNC_S));
         spin_unlock(&localNodeFaultInfoLock);
@@ -1509,13 +1509,13 @@
 }
 
 /**************************************************************************
-     : PowerOn̵ִв - ϵͳϵ־
- : bitmap   - λͼ
-           context  - 
- : 
- ֵ  : RETURN_OK ɹ
-           RETURN_ERROR ʧ
-     :
+ 功    能: PowerOn流程的执行步骤 - 清除系统上电错误日志
+ 输入参数: bitmap   - 位图
+           context  - 上下文
+ 输出参数: 无
+ 返回值  : RETURN_OK 成功
+           RETURN_ERROR 失败
+ 其 他   :
 **************************************************************************/
 int32_t notifyNodeClearFailLog(void* context)
 {
@@ -1549,11 +1549,11 @@
 }
 
 /**************************************************************************
-     :  PowerOn̵ִв--ϵʧʧܴ־(ʧܽڵ㣬 reboot|panic|isolate)
- :  task - Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  PowerOn流程的执行步骤--上电失败设置失败错误码日志(仅失败节点，非 reboot|panic|isolate)
+ 输入参数:  task - 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static void pwrOnFailSetFailLog(TASK_S* task)
 {
@@ -1562,14 +1562,14 @@
     uint32_t pwrOnFailBitMap = 0;
     POWER_ON_TASK_S* powerOnTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     powerOnTask = (POWER_ON_TASK_S*)task;
 
     retVal = GET_TASK_RESULT(task); 
 
-    /* δĴ룬ͳһΪڲ */
+    /* 未定义的错误码，统一定义为内部错误码 */
     if (RETURN_ERROR == retVal || (MAX_INNER_ERROR > retVal && RETURN_OK < retVal))
     {
         errCode = RETURN_SYSTEM_INNER_ERROR;
@@ -1587,7 +1587,7 @@
         errCode = retVal;
     }
 
-    /* ϵλͼų λ panic  λͼ */
+    /* 上电位图排除 复位 panic 隔离 位图 */
     pwrOnFailBitMap = powerOnTask->pwrBitmap &
                      (~(powerOnTask->isolatedBitmap | 
                          powerOnTask->rebootBitmap | 
@@ -1607,7 +1607,7 @@
                 "%s: Send message to node(bitmap %u) and set wrong code =%d.",
                 GET_TASK_NAME(task), pwrOnFailBitMap, errCode);
 
-    /* ָϵʧܲŷ͸澯ΪOMMCCDB*/
+    /* 恢复上电失败才发送告警，因为OMM依赖CCDB开工*/
     if(NODE_RECOVER_POWER_ON == powerOnTask->powerOnType)
     {
         sendClsPwrOnFailAlarm(pwrOnFailBitMap, errCode, ALM_ALARM_TYPE_FAULT);
@@ -1615,7 +1615,7 @@
 
     setPowerOnFailErrcodeInfoByBitMap(pwrOnFailBitMap, errCode);
 
-    /* ϵʧܣҪд */
+    /* 上电失败，均要写错误码 */
     retVal = clsSendRpc(SYS_RPC_CLS_SET_FAIL_LOG,
                         pwrOnFailBitMap, 
                         &errCode, 
@@ -1632,11 +1632,11 @@
 }
 
 /**************************************************************************
-     : ڵ㸴λϢ
- : pwrOnBitMap   - λͼ
- : 
- ֵ  : 
-     :
+ 功    能: 清除节点复位信息
+ 输入参数: pwrOnBitMap   - 位图
+ 输出参数: 无
+ 返回值  : 无
+ 其 他   :
 **************************************************************************/
 void notifyNodeClearResetReasonInfo(uint32_t pwrOnBitMap)
 {
@@ -1665,21 +1665,21 @@
 }
 
 /**************************************************************************
-     :  PowerOn̵쳣
- :  task - ̸Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  PowerOn流程的异常处理子流程
+ 输入参数:  task - 流程父Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnErrorHandleChildTask(TASK_S *parentTask)
 {
     int32_t retVal   = RETURN_ERROR;
     TASK_S *baseTask = NULL;
 
-    /*μ*/
+    /*入参检查*/
     CTRL_UTIL_IF(NULL != parentTask);
 
-    /* ӡҪ־ */
+    /* 打印重要函数入口日志 */
     DBG_LogInfo(LOG_ID_140A,
                 "%s:  Create Error Handle Child Task.",
                 GET_TASK_NAME(parentTask));
@@ -1689,20 +1689,20 @@
                                                  fillPowerOnErrHandleActions);
     if (RETURN_OK != retVal)
     {
-        /* ӡ־ */
+        /* 打印日志 */
         DBG_LogError(LOG_ID_140B, "%s: Create error handle child task failed.",
                      GET_TASK_NAME(parentTask));
         return RETURN_ERROR;
     }
 
 
-    /* Task Name */
+    /* 设置Task Name */
     SET_TASK_NAME(baseTask, "ERR_HANDLE");
 
-    /* óɸȼ */
+    /* 设置成高优先级 */
     SET_TASK_PRIORITY_HIGH(baseTask);
 
-    /* parentTaskָ뱣浽taskУԱtaskʱص */
+    /* 将parentTask指针保存到task中，以便该task结束时回调用 */
     SET_PARENT_TASK(baseTask, parentTask);
 
     TASK_CALL_ACTION_START_ASYNC(baseTask);
@@ -1710,24 +1710,24 @@
 }
 
 /**************************************************************************
-     :  ϵTask
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电错误处理Task结束处理函数
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnErrHandleTaskOver(TASK_S *task)
 {
     int32_t retVal;
     TASK_S * parentTask = NULL;
 
-    /*μ*/
+    /*入参检查*/
     CTRL_UTIL_IF(NULL != task);
 
-    /* ȡǰִеParent Task */
+    /* 获取当前执行的Parent Task */
     parentTask = GET_PARENT_TASK(task);
 
-    /* TaskִнϢ */
+    /* 根据整个Task执行结果输出调试信息 */
     retVal = GET_TASK_RESULT(task);
     if (RETURN_OK != retVal)
     {
@@ -1740,30 +1740,30 @@
                     GET_TASK_NAME(task));
     }
 
-    /* 񣬻صĸ */
+    /* 子任务，回调母任务 */
     if (NULL != parentTask)
     {
         DESTROY_SYS_TASK(task);
-        /* г˴,سɹ*/
+        /* 错误处理过程中出了错,返回成功*/
         TASK_CALL_ACTION_CHILDDONE(parentTask, retVal);
         return RETURN_OK;
     }
 
-    /*ͷTASK*/
+    /*释放TASK*/
     DESTROY_SYS_TASK(task);
 
     return RETURN_OK;
 }
 
 /**************************************************************************
-     :  Ƿ밲ȫģʽж
- :  powerOnTask -- ϵTaskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :
- 1.Ⱥ밲ȫģʽ
- 2.һ밲ȫģʽ
- 3.һһڵ룬һڵ밲ȫģʽ
+ 功    能:  是否进入安全模式的判断
+ 输入参数:  powerOnTask -- 上电流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :
+ 1.集群主被隔离或重启，不进入安全模式
+ 2.一对引擎重启，不进入安全模式
+ 3.一对引擎中一个节点隔离，一个节点重启，不进入安全模式
 **************************************************************************/
 static bool isEnterSafeMode(POWER_ON_TASK_S *powerOnTask)
 {
@@ -1773,15 +1773,15 @@
     uint32_t usrConfigBitmap = 0;
     uint16_t index = 0;
 
-    /* ڵϵ磬Ҹýڵ㱻룬ϵʧܣȫģʽλڵ;
-       ýڵҪλ򲻽ȫģʽ */
+    /* 单节点上电，且该节点被隔离，则上电失败，进安全模式，不复位节点;
+       若该节点需要复位，则不进安全模式 */
     (void)getGlbMasterNodeId(&masterNid);
     nodeBitmap = powerOnTask->pwrBitmap | powerOnTask->rebootBitmap | powerOnTask->isolatedBitmap;
     CLEAR_NODEMAP_BIT(masterNid, nodeBitmap);
     if (0 == nodeBitmap)
     {
-       /* ȺҪ밲ȫģʽ:C99V2R2ϵ磬ȺҪ
-          밲ȫģʽ򹤾ʾʧ */
+       /* 集群主需要重启不进入安全模式:C99升级V2R2，单控上电，集群主需要重启，
+          不进入安全模式，否则工具显示升级失败 */
        if(CHECK_NODEMAP_BIT_VALID(masterNid, powerOnTask->rebootBitmap))
        {
            DBG_LogInfo(LOG_ID_140E,
@@ -1791,20 +1791,20 @@
        return B_TRUE;
     }
 
-    /* ȡûõĽڵλͼ */
+    /* 获取用户配置的节点位图 */
     getUsrConfigNodeNum(&usrConfigNum);
     for(index = 0; index < usrConfigNum; index++)
     {
         SET_NODEMAP_BIT(index, usrConfigBitmap);
     }
 
-    /* δϵĽڵλͼ͸Ľڵλͼ0 */
-    /* ûϵĽڵλͼ = ûõĽڵ - ϵڵ - λڵ - ڵ */
+    /* 把未参与上电的节点位图和隔离的节点位图置0 */
+    /* 没参与上电的节点位图 = 用户配置的节点 - 上电节点 - 复位节点 - 隔离节点 */
     nodeBitmap = powerOnTask->pwrBitmap | powerOnTask->rebootBitmap;
 
     DBG_LogInfo(LOG_ID_1416, "Isolate and not power on node(bitmap %u).", usrConfigBitmap&(~nodeBitmap));
 
-    /* ڵδϵĽڵ㹹һ棬ϵʧܣȫģʽ */
+    /* 隔离节点和未参与上电的节点构成了一对引擎，上电失败，进安全模式 */
     if(B_FALSE == checkGroupHaveNodeInCls(nodeBitmap))
     {
         DBG_LogInfo(LOG_ID_140F,
@@ -1812,8 +1812,8 @@
         return B_TRUE;
     }
 
-    /* ǼȺҪҪȫģʽ */
-    /* ȺҪλ->л->ؽӹܼȺ´ϵ*/
+    /* 如果是集群主需要隔离或重启，则不需要进安全模式 */
+    /* 集群主需要复位，主故障->主备切换->备控接管集群后重新触发上电流程*/
     (void)getGlbMasterNodeId(&masterNid);
     if ((0 != powerOnTask->pwrBitmap)
          &&(CHECK_NODEMAP_BIT_VALID(masterNid, (powerOnTask->isolatedBitmap | powerOnTask->rebootBitmap))))
@@ -1823,11 +1823,11 @@
         return B_FALSE;
     }
 
-    /* 롢δϵĽڵλͼ0 */
+    /* 把重启、隔离、未参与上电的节点位图置0 */
     nodeBitmap = powerOnTask->pwrBitmap;
     DBG_LogInfo(LOG_ID_24F7, "Not power on and reboot and isolate node(bitmap %u).", usrConfigBitmap&(~nodeBitmap));
 
-    /* ǰĹˣϵλͼУһ治λ밲ȫģʽ */
+    /* 经过前面的过滤，如果上电位图中，有一对引擎不在位，不进入安全模式 */
     if(B_FALSE == checkGroupHaveNodeInCls(nodeBitmap))
     {
         DBG_LogInfo(LOG_ID_1410,
@@ -1848,7 +1848,7 @@
                         SM_SYS_CLS_CLS_POWER_ON_FAIL, "CLS_POWER_ON: Power on failed, ret(0x%X).", retVal);
         }
         COMPLETE_SYS_TRACE(SYS_TRACE_TYPE_POWER_ON, (TASK_S*)powerOnTask);
-        /* FDSA̳ʱע */
+        /* FDSA流程超时策略注销 */
         (void)UNREG_FLOW_TMO_FDSA((uint64_t)SYS_FLOW_FDSA_POWER_ON);
     }
     else
@@ -1860,16 +1860,16 @@
         }
         COMPLETE_SYS_TRACE(SYS_TRACE_TYPE_RECOVERY_POWER_ON, (TASK_S*)powerOnTask);
         *pFailActionId = getSysTraceFailStepAcion(SYS_TRACE_TYPE_RECOVERY_POWER_ON);
-        /* FDSA̳ʱע */
+        /* FDSA流程超时策略注销 */
         (void)UNREG_FLOW_TMO_FDSA((uint64_t)SYS_FLOW_FDSA_RE_POWER_ON);
     }
 }
 /**************************************************************************
-     :  PowerOn̽Ĵ
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  PowerOn流程结束的处理函数
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnTaskOver(TASK_S *task)
 {
@@ -1881,32 +1881,32 @@
     /* Add by g00285223 for DTS2014081910109 2014-08-20 end*/
     uint32_t failSecActionId = INVALID_VALUE32;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     powerOnTask = (POWER_ON_TASK_S*)task;
     retVal = GET_TASK_RESULT(task);
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(powerOnTask);
-        /* FDSA̳ʱע */
+        /* FDSA流程超时策略注销 */
     finishPwrOnSystrace(powerOnTask, retVal, &failSecActionId);
-        /* FDSA̳ʱע */
+        /* FDSA流程超时策略注销 */
 
-    /* ̽ǰȺλ */
+    /* 在流程结束前，集群主复位 */
     LVOS_TP_NOPARAM_START(POWER_ON_1_47_23)
     LVOS_TP_END
 
-    /* TaskִнϢ */
+    /* 根据整个Task执行结果输出调试信息 */
     
     if (RETURN_OK == retVal)
     {
         DBG_LogInfo(LOG_ID_1411, "%s: Process succeeded.", GET_TASK_NAME(task));
-        /* ָظ澯 */
+        /* 恢复相关告警 */
         pwrOnRecvAlarm(powerOnTask->powerOnType, powerOnTask->pwrBitmap);
     }
 
-    /* ϵʧܣ밲ȫģʽ */
+    /* 不可重入错误，上电失败，进入安全模式 */
     else if(RETURN_ERROR == retVal
             || (MIN_POWER_ON_ERROR_CODE < retVal))
     {
@@ -1917,7 +1917,7 @@
 
         if (CLUSTER_POWER_ON == powerOnTask->powerOnType)
         {
-            /* жǷüȺģʽΪȫģʽ */
+            /* 判断是否设置集群模式为安全模式 */
             if(!isEnterSafeMode(powerOnTask))
             {
                 DBG_LogError(LOG_ID_1413, "%s:Need not enter safe mode.", GET_TASK_NAME(task));
@@ -1932,12 +1932,12 @@
             setClusterStatus(SYS_CLUSTER_STATUS_NONE);
 
             /* modified by g90006267 for DTS2015082004584, 2015-08-21 begin */
-            /* ϵͳȫģʽ֪ͨдڵ㱣ڴеݵ */
+            /* 系统进安全模式，通知所有存活节点保存内存中的数据到保险箱盘 */
             saveAppointNodeMemoryData(aliveBitMap);
             /* modified by g90006267 for DTS2015082004584, 2015-08-21 end */
 
-            /* ͬȺϢ */
-            /*ϵʧܴ*/
+            /* 同步集群信息 */
+            /*创建设置上电失败错误码子任务*/
             SET_ACTION_CHILDNUM(task, 1);
             retChildTaskVal = pwrOnErrorHandleChildTask(task);
             if(RETURN_OK != retChildTaskVal)
@@ -1950,13 +1950,13 @@
         }
         else
         {
-            /* ¼־ */
+            /* 记录运行日志 */
             nodeRecvPwrOnFailRunLog(powerOnTask->pwrBitmap);
 
             /* modified by g90006267 for DTS2015082004584, 2015-08-21 begin */
-            /* ָϵʧܣ֪ͨϵڵ㱣ڴеݵ */
-            /* нڵ㱻ҪϵλͼУ˴ⲿֽ
-               ڴݵ̣Ҫʱɳʱˢ̱ */
+            /* 恢复上电失败，通知上电节点保存内存中的数据到保险箱盘 */
+            /* 如果有节点被隔离或需要重启，不在上电位图中，则此处不保存这部分节
+               点的内存数据到保险箱盘，需要保存时由超时刷盘流程保存数据 */
             saveAppointNodeMemoryData(powerOnTask->pwrBitmap);
             /* modified by g90006267 for DTS2015082004584, 2015-08-21 end */
             sendEventForUpgrade(powerOnTask->pwrBitmap,
@@ -1970,7 +1970,7 @@
 
         if (0 != aliveBitMap)
         {
-           /* ͬȺϢ */
+           /* 同步集群信息 */
            sendClusterInfoAsyn(task, aliveBitMap, SYS_SEND_POWER_ON_MSG_TIME_OUT);
         }
         /* modified by g00285223 for DTS2014081910109 2014-08-20 end*/
@@ -1981,14 +1981,14 @@
 
         return RETURN_ERROR;
     }
-/* BEGIN: Modified by r90006280, 2014/2/21   ⵥ:DTS2014021705276 */
-    /* :XNET󣬰 */
+/* BEGIN: Modified by r90006280, 2014/2/21   问题单号:DTS2014021705276 */
+    /* 其它结果:可重入错误、XNET错误，按可重入错误进行重试 */
     else if (RETURN_NEED_RETRY == retVal)
     {
         powerOnTask->isNeedRetry = B_TRUE;
         DBG_LogError(LOG_ID_1414, "%s: Process result(%u), can retry.",
                  GET_TASK_NAME(task), retVal);
-        /*ģ鷵ԣʱʱ*/
+        /*模块返回重试，按照最大超时时间重试*/
         powerOnTask->retryDelayTime = SYS_PAUSE_CLS_POWER_ON_MAX_INTERVAL;
     }
     else
@@ -1996,41 +1996,41 @@
         powerOnTask->isNeedRetry = B_TRUE;
         DBG_LogError(LOG_ID_255D, "%s: Process result(%u), can retry.",
                  GET_TASK_NAME(task), retVal);
-        /*ģ鷵ԣСʱ*/
+        /*非模块返回重试，按照最小时间重试*/
         powerOnTask->retryDelayTime = SYS_PAUSE_CLS_POWER_ON_MIN_INTERVAL;
     }
 /* END:   Modified by r90006280, 2014/2/21 */
 
-    /* TaskOverDoneͷTASKԴ */
+    /* 在TaskOver的Done函数里释放TASK资源 */
     TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(task, retVal);
     return retVal;
 }
 
 /**************************************************************************
-     :  PowerOn̵ִв--ָϵɾļ
- :  task - Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  PowerOn流程的执行步骤--恢复上电删除错误码文件
+ 输入参数:  task - 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static void pwrOnClearFailLog(TASK_S* task)
 {
     int32_t retVal = RETURN_ERROR;
     POWER_ON_TASK_S* powerOnTask = NULL;
     
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
     powerOnTask = (POWER_ON_TASK_S*)task;
 
-    /* شʾϢ */
+    /* 清除主控错误码显示信息 */
     setPowerOnFailErrcodeInfoByBitMap(powerOnTask->pwrBitmap, SYS_DEFAULT_ERROR_CODE);
 
-    /* ϵɹĸλԭ¼ */
+    /* 清除上电成功控制器的复位原因记录 */
     notifyNodeClearResetReasonInfo(powerOnTask->pwrBitmap);
 
-    /* ϵɹϵʧܴļ */
+    /* 清除上电成功控制器的上电失败错误码文件 */
     retVal = notifyNodeClearFailLog((void*)task);
-    /* ʧܽӡӰϵ*/
+    /* 失败仅打印，不影响上电流程*/
     if (RETURN_OK != retVal)
     {
         DBG_LogError(DBG_LOGID_NEW,
@@ -2039,11 +2039,11 @@
 }
 
 /**************************************************************************
-     :  PowerOn̽Done
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  PowerOn流程结束处理函数的Done函数
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnTaskOverDone(TASK_S *task)
 {
@@ -2051,38 +2051,38 @@
     SYS_CMD_S *sysCmd = NULL;
     POWER_ON_TASK_S *powerOnTask = NULL;
 
-    /*μ*/
+    /*入参检查*/
     CTRL_UTIL_IF(NULL != task);
     powerOnTask = (POWER_ON_TASK_S*)task;
 
-    /* ȡǰִеSysCmd */
+    /* 获取当前执行的SysCmd */
     sysCmd = (SYS_CMD_S *)GET_TASK_PRIVATE_PTR(task);
     CTRL_UTIL_IF(NULL != sysCmd);
 
-/* BEGIN: Modified by r90006280, 2014/2/21   ⵥ:DTS2014021705276 */
+/* BEGIN: Modified by r90006280, 2014/2/21   问题单号:DTS2014021705276 */
     if (B_TRUE == powerOnTask->isNeedRetry)
     {
-        /* ¹һػУȴµ */
+        /* 该命令重新挂回互斥队列，等待重新调度 */
         PAUSE_MUTEX_REQUEST(sysCmd, powerOnTask->retryDelayTime);
     }
     else
     {
-        /* صMUTEXģ飬syscmd */
+        /* 回调MUTEX模块，该syscmd完成 */
         COMPLETE_MUTEX_REQUEST(sysCmd, retVal);
     }
 /* END:   Modified by r90006280, 2014/2/21 */
-    /*ͷTASK*/
+    /*释放TASK*/
     DESTROY_SYS_TASK(task);
 
     return RETURN_OK;
 }
 
 /**************************************************************************
-     :  ϵ(Ⱥϵ硢ָϵ)Լ칫TaskĲԲ
- :  task -- Taskָ
- :  
- ֵ  :  
-     :  
+ 功    能:  填充上电(集群上电、恢复上电)自检公共子Task的策略步骤
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void fillSelfCheckCommTaskActions(TASK_S *task)
 {
@@ -2093,44 +2093,44 @@
     SET_TASK_ACTION(task, idx, ACTION_CLS_POWER_ON_SELF_CHECK_TASK_OVER);
     idx++;
 
-    /* modified by z00285203 ͬC10ⵥ DTS2014121509541, 2015-01-05 begin */
-    /* Ƿо */
+    /* modified by z00285203 同步C10问题单 DTS2014121509541, 2015-01-05 begin */
+    /* 检查是否有镜像命令在运行 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_POWER_ON_CHECK_MIRROR_CMD);
     idx++;
-    /* modified by z00285203 ͬC10ⵥ DTS2014121509541, 2015-01-05 end */
+    /* modified by z00285203 同步C10问题单 DTS2014121509541, 2015-01-05 end */
 
-    /* Ƿ治λ */
+    /* 检查是否有引擎不在位 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_CHECK_NO_USR_LOGIC_ENGINE);
     idx++;
 
-    /* PCIEûв */
+    /* 检查PCIE线缆有没有插错 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_CHECK_PCIE_LINE_CONNECT);
     idx++;
 
-    /* ֪ͨOM· */
+    /* 通知OM进行链路检查 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_NOTIFY_OM_CHECK_LINK);
     idx++;
 
     /* modified by x00281454 for AR-0000904705, 2015-05-07 begin */
-    /* ֪ͨEMP豸 */
+    /* 通知EMP接入设备 */
     //SET_TASK_ACTION(task, idx, ACTION_CLS_NOTIFY_EMP_DEVICE_IN);
     //idx++;
     /* modified by x00281454 for AR-0000904705, 2015-05-07 end */
 
     /* modified by g90006267 for DTS2014060904760, 2014-6-17 begin */
-    /* ʼϵͳSN */
+    /* 初始化系统SN */
     SET_TASK_ACTION(task, idx, ACTION_CLS_INIT_SYS_SN);
     idx++;
 
-    /* ʼϵͳWWN */
+    /* 初始化系统WWN */
     SET_TASK_ACTION(task, idx, ACTION_CLS_INIT_SYS_WWN);
     idx++;
 
-    /* ֪ͨģа汾͹̼ͬ */
+    /* 通知升级模块进行版本检查和固件同步 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_NOTIFY_UPGRADE_START_CHECK);
     idx++;
 
-    /* PCIE· */
+    /* 检查PCIE链路 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_CHECK_PCIE_LINK);
     idx++;
     /* modified by g90006267 for DTS2014060904760, 2014-6-17 end */
@@ -2138,19 +2138,19 @@
     SET_TASK_ACTION(task, idx, ACTION_CLS_BDM_START_WORK);
     idx++;
 
-    /* ָģʽ */
+    /* 恢复出厂模式下清盘 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_FORCE_CLEAR_DISK);
     idx++;
     
-    /* ֪ͨCCDBRAID */
+    /* 通知CCDB开工软RAID */
     SET_TASK_ACTION(task, idx, ACTION_CLS_CCDB_START_RAID);
     idx++;
     
-    /* ֪ͨOMָ */
+    /* 通知OM恢复配置数据 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_NOTIFY_OM_START_BACKUP_CFG);
     idx++;
     
-    /* ȡؽڵϢ */
+    /* 获取本地节点信息 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_GET_NODE_INFO);
     idx++;
 
@@ -2162,41 +2162,41 @@
 /* END:   Modified by r90006280, 2013/9/11 */
 /* END:   Modified by r90006280, 2014/11/17 */
 
-    /* ڵƷͺǷһ */
+    /* 检查节点产品型号是否一致 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_CHECK_PRODUCT_MODEL);
     idx++;
 
 /* BEGIN: Modified by r90006280, 2013/9/11   ID(TV2R2):MULTI_MODELS*/
     /* modified by z00248602 for DTS2014062601615, 2014-6-20 begin */
-    /* ڴǷ */
+    /* 检查内存条是否屏蔽 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_CHECK_DIMM_SHIELD);
     idx++;
     /* modified by z00248602 for DTS2014062601615, 2014-6-20 end */
 
-    /* ڴһԼ */
+    /* 内存一致性检查 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_CHECK_MEM_SIZE);
     idx++;
 
 /* BEGIN: Modified by r90006280, 2014/11/17   ID:C30*/
-/* AA޸ģmodified by h002819232014-12-23 begin */
-    /* ݻָ */
+/* 后端AA适配修改，modified by h00281923，2014-12-23 begin */
+    /* 脏数据恢复条件检查 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_CHECK_RECOV_DIRTY_DATA);
     idx++;
-/* AA޸ģmodified by h002819232014-12-23 end */
+/* 后端AA适配修改，modified by h00281923，2014-12-23 end */
 /* END:   Modified by r90006280, 2014/11/17 */
 /* END:   Modified by r90006280, 2013/9/11 */
 
-/* BEGIN: Modified by r90006280, 2015/02/10  ʱ*/
-    /* ͬļ */
+/* BEGIN: Modified by r90006280, 2015/02/10  临时方案*/
+    /* 同步配置文件 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_POWER_ON_SYNC_CFG_FILE);
     idx++;
 /* END: Modified by r90006280, 2015/02/10 */
 
-    /*ͬļ*/
+    /*同步增量文件*/
     SET_TASK_ACTION(task, idx, ACTION_CLS_SYNC_EXTEND_FILE);
     idx++;
 
-    /**/
+    /*结束*/
     SET_TASK_ACTION(task, idx, ACTION_OPCODE_BUTT);
 
     return;
@@ -2204,11 +2204,11 @@
 
 
 /**************************************************************************
-     :  ʼϵԼ칫TASKֵ
- :  task -- ϵ繫Taskָ
- :  
- ֵ  :  
-     :  
+ 功    能:  初始化上电自检公共TASK值
+ 输入参数:  task -- 上电公共流程Task指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void initPwrOnSelfCheckTask(POWER_ON_SELF_CHECK_TASK_S *task,
                             uint32_t pwrBitmap,
@@ -2217,7 +2217,7 @@
 {
     uint16_t i = 0;
 
-    /* TaskԱʼ */
+    /* Task成员变量初始化 */
     task->powerOnType = pwrType;
     task->pwrBitmap = pwrBitmap;
     task->normalBitmap = normalBitmap;
@@ -2238,15 +2238,15 @@
 
 
 /**************************************************************************
-     :  ϵԼ
- :  task -- Taskָ
-            nodeBitmap   -- ڵλͼ
-            powerOnType -- ϵ
-            normalBitmap -- ״̬Ľڵλͼ
-            parentTask -- 
- :  
- ֵ  :  
-     :  
+ 功    能:  上电自检
+ 输入参数:  task -- 流程Task指针
+            nodeBitmap   -- 节点位图
+            powerOnType -- 上电类型
+            normalBitmap -- 正常状态的节点位图
+            parentTask -- 父任务
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 int32_t selfCheckAsync(TASK_S *parentTask, uint32_t pwrBitmap,
                        uint32_t normalBitmap, POWER_ON_TYPE_E powerOnType)
@@ -2255,7 +2255,7 @@
     TASK_S *baseTask = NULL;
     POWER_ON_SELF_CHECK_TASK_S *pwrTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     if (0 == pwrBitmap)
     {
         DBG_LogWarning(DBG_LOGID_NEW, "SELF_CHECK: Input pwrBitMap is 0.");
@@ -2268,34 +2268,34 @@
     CTRL_UTIL_IF((POWER_ON_TYPE_BUTT > powerOnType)
                && (CLUSTER_POWER_ON <= powerOnType));
 
-    /* ӡҪ־ */
+    /* 打印重要函数入口日志 */
     DBG_LogInfo(LOG_ID_141C, "%s: Create self check common task.", GET_TASK_NAME(parentTask));
 
-    /* ϵԼTASK */
+    /* 创建上电自检的子TASK */
     retVal = CREATE_SYS_TASK((TASK_S**)&pwrTask,
                              sizeof(POWER_ON_SELF_CHECK_TASK_S),
                              fillSelfCheckCommTaskActions);
     if (RETURN_OK != retVal)
     {
-        /* ӡ־ */
+        /* 打印日志 */
         DBG_LogError(LOG_ID_141D, "%s: Create self check common task failed.",
                      GET_TASK_NAME(parentTask));
 
         return RETURN_ERROR;
     }
 
-    /* ʼ˽ֶ */
+    /* 初始化私有字段 */
     initPwrOnSelfCheckTask(pwrTask, pwrBitmap, normalBitmap, powerOnType);
 
     baseTask = &(pwrTask->baseTask);
 
-    /* Task Name */
+    /* 设置Task Name */
     SET_TASK_NAME(baseTask, "SELF_CHECK");
 
-    /* óɸȼ */
+    /* 设置成高优先级 */
     SET_TASK_PRIORITY_HIGH(baseTask);
 
-    /* parentTaskָ뱣浽taskУԱtaskʱص */
+    /* 将parentTask指针保存到task中，以便该task结束时回调用 */
     SET_PARENT_TASK(baseTask, parentTask);
 
     TASK_CALL_ACTION_START_ASYNC(baseTask);
@@ -2305,11 +2305,11 @@
 
 /*added by x00281454 for SR-0000486518 ,2015/04/13 begin*/
 /**************************************************************************
-     :  PowerOn̵ִв--syncļ
- :  task - Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  PowerOn流程的执行步骤--sync配置文件
+ 输入参数:  task - 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnSyncCfgFile(TASK_S *task)
 {
@@ -2322,7 +2322,7 @@
 
     pwrSCheckTask = (POWER_ON_SELF_CHECK_TASK_S *)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(pwrSCheckTask);
 
     getConfigNodeNum(&ctrlNum);
@@ -2349,11 +2349,11 @@
 /*added by x00281454 for SR-0000486518 ,2015/04/13 end*/
 
 /**************************************************************************
-     :  PowerOn̵ִв--ͬ
- :  task - Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  PowerOn流程的执行步骤--配置同步
+ 输入参数:  task - 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnSyncExtend(TASK_S *task)
 {
@@ -2363,7 +2363,7 @@
 
     pwrSCheckTask = (POWER_ON_SELF_CHECK_TASK_S *)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(pwrSCheckTask);
 
     getAliveNodeBitMap(&pwrSCheckTask->syncCfgBitmap);
@@ -2374,27 +2374,27 @@
 }
 
 /**************************************************************************
-     :  PowerOn̵ִв--syncȺϢ
- :  task - Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  PowerOn流程的执行步骤--sync集群信息
+ 输入参数:  task - 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnSyncClsInfo(TASK_S *task)
 {
     POWER_ON_SELF_CHECK_TASK_S *pwrSCheckTask = NULL;
 
-    /*ж*/
+    /*入参判断*/
     CTRL_UTIL_IF(NULL != task);
     pwrSCheckTask = (POWER_ON_SELF_CHECK_TASK_S *)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(pwrSCheckTask);
 
-    /* 㲥ȺϢ */
+    /* 广播集群消息 */
     (void)sendEventClusterChange();
 
-    /* ͬȺϢ */
+    /* 同步集群信息 */
     sendClusterInfoAsyn(task, pwrSCheckTask->syncCfgBitmap, SYS_SEND_POWER_ON_MSG_TIME_OUT);
 
     return RETURN_OK;
@@ -2402,11 +2402,11 @@
 
 /* modified by g90006267 for DTS2014032010797, 2014-4-09 begin */
 /**************************************************************************
-     :  PowerOn̵ִв--ϵϵ
- :  task - Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  PowerOn流程的执行步骤--上电检查上电流程重入次数
+ 输入参数:  task - 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 STATIC int32_t pwrOnCheckRetryTime(TASK_S *task)
 {
@@ -2415,18 +2415,18 @@
     uint32_t retryCnt = 0;
     uint32_t maxRetryCount = 0;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     powerOnTask = (POWER_ON_TASK_S *)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(powerOnTask);
 
     tempSysCmd = (SYS_CMD_S *)(task->pPrivateData);
     retryCnt = GET_SYSCMD_RETRY_CNT(tempSysCmd);
 
-    /* ӡԴ㶨λ */
+    /* 打印重试次数，方便定位问题 */
     DBG_LogInfo(LOG_ID_13FB, "POWER_ON: Power on(type %d) retry times(%u).",
                 powerOnTask->powerOnType, retryCnt);
 
@@ -2439,7 +2439,7 @@
         maxRetryCount = MAX_POWER_ON_RETRY_TIME;
     }
 
-    /* Դϵʧ */
+    /* 重试次数超过最大次数，上电失败 */
     if(maxRetryCount <= retryCnt)
     {
         DBG_LogError(LOG_ID_13FC,
@@ -2457,15 +2457,15 @@
 }
 /* modified by g90006267 for DTS2014032010797, 2014-4-09 end */
 
-/* modified by z00285203 ͬC10ⵥ DTS2014121509541, 2015-01-05 begin */
+/* modified by z00285203 同步C10问题单 DTS2014121509541, 2015-01-05 begin */
 /**************************************************************************
-     :  ƥڵָϵsyscmdǷͬ
- :  void* srcSysCmd
-            void* dstSysCmd --Ҫƥ
- :  
- ֵ  :  B_TRUE  ƥɹ;
-            B_FALSE ƥʧ
-     :  
+ 功    能:  匹配节点恢复上电的syscmd是否相同
+ 输入参数:  void* srcSysCmd
+            void* dstSysCmd --需要匹配的命令
+ 输出参数:  无
+ 返回值  :  B_TRUE  匹配成功;
+            B_FALSE 匹配失败
+ 其 他   :  无
 **************************************************************************/
 static bool matchSameNodeRecoverMirrorCmd(void* srcSysCmd, void* dstSysCmd)
 {
@@ -2507,10 +2507,10 @@
 
     pwrBitmap = powerOnTask->pwrBitmap;
 
-    /* ȡָϵĽڵID */
+    /* 获取恢复上电的节点ID */
     dstNid = *(nid_t*)GET_SYSCMD_PARAM_PTR(dstSysCmd);
 
-    /* жϾеϵڵǷڵǰϵڵλͼ */
+    /* 判断镜像命令参数中的上电节点是否包含在当前的上电节点位图中 */
     if(CHECK_NODEMAP_BIT_VALID(dstNid, pwrBitmap))
     {
         DBG_LogInfo(LOG_ID_2D95,
@@ -2523,15 +2523,15 @@
 }
 
 /**************************************************************************
-     :  PowerOn̵ִв--ϵ̼Ƿظľڶ
- :  task - Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :
- 1ָϵ̣ǱڵͶԶ˽ڵһϵ磬Ҫ¶ԶǷоĻָ
-    ϵڶУеĻɾֹظԶ˽ڵĻָϵ
- 2Ⱥϵ̣ҪڼȺϵʱǷвϵڵӦľָϵ
-    ڶУеĻɾֹظýڵĻָϵ
+ 功    能:  PowerOn流程的执行步骤--上电流程检查是否有重复的镜像命令在队列中
+ 输入参数:  task - 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :
+ 1、恢复上电流程，如果是本节点和对端节点一起上电，需要检查下对端是否有镜像的恢复
+    上电命令在队列中，如果有的话，需删除掉，防止重复触发对端节点的恢复上电
+ 2、集群上电流程，需要检查下在集群上电时，是否有参与上电节点对应的镜像恢复上电命
+    令在队列中，如果有的话，需删除掉，防止重复触发该节点的恢复上电
 **************************************************************************/
 static int32_t pwrOnCheckMirrorCmd(TASK_S *task)
 {
@@ -2541,15 +2541,15 @@
 //    nid_t nodeId = INVALID_NID;
 //    nid_t peerNid = INVALID_NID;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     pwrTask = (POWER_ON_SELF_CHECK_TASK_S *)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(pwrTask);
 
-    /* ȡǰִеParent Task */
+    /* 获取当前执行的Parent Task */
     parentTask = GET_PARENT_TASK(task);
     CTRL_UTIL_IF(NULL != parentTask);
     sysCmd = (SYS_CMD_S *)(parentTask->pPrivateData);
@@ -2559,25 +2559,25 @@
     return RETURN_OK;
 }
 /* modified by g90006267 for DTS2014071107593, 2014-7-12 end */
-/* modified by z00285203 ͬC10ⵥ DTS2014121509541, 2015-01-05 end */
+/* modified by z00285203 同步C10问题单 DTS2014121509541, 2015-01-05 end */
 
 /**************************************************************************
-     :  PowerOn̵ִв--״̬
- :  task - Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  PowerOn流程的执行步骤--设置运行状态
+ 输入参数:  task - 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnSetRunStatus(TASK_S *task)
 {
     POWER_ON_TASK_S *powerOnTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     powerOnTask = (POWER_ON_TASK_S *)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(powerOnTask);
 
     setClusterStatus(SYS_CLUSTER_STATUS_POWERON);
@@ -2586,25 +2586,25 @@
     return RETURN_OK;
 }
 /**************************************************************************
-     :  PowerOn̵ִв--ϵԼ
- :  task - Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  PowerOn流程的执行步骤--上电自检
+ 输入参数:  task - 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnCommSelfCheck(TASK_S *task)
 {
     int32_t retVal;
     POWER_ON_TASK_S *powerOnTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
     powerOnTask = (POWER_ON_TASK_S *)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(powerOnTask);
 
-    /* ϵԼ*/
+    /* 上电自检*/
     SET_ACTION_CHILDNUM(task, 1);
     retVal = selfCheckAsync(task, powerOnTask->pwrBitmap, powerOnTask->normalBitmap,
                             powerOnTask->powerOnType);
@@ -2618,11 +2618,11 @@
 }
 
 /**************************************************************************
-     :  ϵԼTask
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电自检Task结束处理函数
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnSelfCheckTaskOver(TASK_S *task)
 {
@@ -2632,17 +2632,17 @@
     POWER_ON_SELF_CHECK_TASK_S *pwrTask = NULL;
     POWER_ON_TASK_S *powerOnTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     pwrTask = (POWER_ON_SELF_CHECK_TASK_S *)task;
 
-    /* ȡǰִеParent Task */
+    /* 获取当前执行的Parent Task */
     parentTask = GET_PARENT_TASK(task);
     CTRL_UTIL_IF(NULL != parentTask);
     powerOnTask = (POWER_ON_TASK_S *)parentTask;
 
-    /* ½ڵλͼ */
+    /* 更新节点位图至父流程 */
     powerOnTask->pwrBitmap = pwrTask->pwrBitmap;
     powerOnTask->isolatedBitmap = pwrTask->isolatedBitmap;
     powerOnTask->rebootBitmap = pwrTask->rebootBitmap;
@@ -2654,13 +2654,13 @@
         powerOnTask->isolatedReason[idx] = pwrTask->isolatedReason[idx];
     }
 
-    /* TaskִнϢ */
+    /* 根据整个Task执行结果输出调试信息 */
     retVal = GET_TASK_RESULT(task);
     if (RETURN_OK != retVal)
     {
         DBG_LogError(LOG_ID_1421, "%s: Process result(%d).", GET_TASK_NAME(task), retVal);
 
-        /* ʧԭ򵽸Task */  
+        /* 拷贝流程失败原因到父Task */  
         LVOS_strncpy(parentTask->TaskFailReason, task->TaskFailReason, MAX_TASK_FAIL_DESC_LEN);
     }
 
@@ -2670,7 +2670,7 @@
 
     TASK_CALL_ACTION_CHILDDONE(parentTask, retVal);
 
-    /*ͷTASK*/
+    /*释放TASK*/
     DESTROY_SYS_TASK(task);
     return RETURN_OK;
 }
@@ -2683,18 +2683,18 @@
 
 /* modified by g90006267 for DTS2014050902796 , 2014-5-9 begin */
 /**************************************************************************
-     :  ϵָϵ磬λͼȷϵǷ
- :  pwrBitmap -- ϵλͼ
-            powerOnType -- ϵ
-            isolatedBitmap -- λͼ
-            rebootBitmap -- λͼ
- :  
- ֵ  :  RETURN_OK          
-            RETURN_ERROR       ʧ
-     :
- 1.Ⱥϵ磬+λ+δϵĽڵһ߼棬ϵʧ
- 2.ڵڵа˼Ⱥϵʧ
- 3.ϵĽڵλͼΪ0ϵʧ
+ 功    能:  上电或恢复上电，检查位图，确定上电流程是否继续
+ 输入参数:  pwrBitmap -- 上电位图
+            powerOnType -- 上电类型
+            isolatedBitmap -- 隔离位图
+            rebootBitmap -- 重启位图
+ 输出参数:  无
+ 返回值  :  RETURN_OK          流程正常进行
+            RETURN_ERROR       流程失败
+ 其 他   :
+ 1.集群上电，隔离+复位+未参与上电的节点包含一对逻辑引擎，上电失败
+ 2.隔离节点或重启节点中包含了集群主，上电失败
+ 3.参与上电的节点位图为0，上电失败
 **************************************************************************/
 static int32_t checkPwrOnBitmap(POWER_ON_TYPE_E powerOnType,uint32_t pwrBitmap,
                                 uint32_t isolatedBitmap, uint32_t rebootBitmap)
@@ -2706,29 +2706,29 @@
                 "isolated bitmap(%u), reboot bitmap(%u).",
                 powerOnType, pwrBitmap, isolatedBitmap, rebootBitmap);
 
-    /* ϵĽڵλͼΪ0ϵʧ */
+    /* 参与上电的节点位图为0，上电流程失败 */
     if(0 == pwrBitmap)
     {
         return RETURN_ERROR;
     }
 
-    /* ȡڵλͼ */
+    /* 获取节点位图 */
     if(CLUSTER_POWER_ON == powerOnType)
     {
-        /* һ߼ûϵ */
+        /* 一对逻辑引擎没参与上电 */
         if (B_FALSE == checkGroupHaveNodeInCls(pwrBitmap))
         {
-            /* ӡϢ */
+            /* 打印调试描述信息 */
             SET_SYS_TRACE_DESC_INFO(SYS_TRACE_TYPE_POWER_ON,
                                     "Group not join in cluster, power on failed.");
             return RETURN_ERROR;
         }
 
-        /* ڵڵа˼Ⱥ */
+        /* 隔离节点或重启节点中包含了集群主 */
         (void)getGlbMasterNodeId(&nodeId);
         if (CHECK_NODEMAP_BIT_VALID(nodeId, (isolatedBitmap | rebootBitmap)))
         {
-            /* ӡϢ */
+            /* 打印调试描述信息 */
             SET_SYS_TRACE_DESC_INFO(SYS_TRACE_TYPE_POWER_ON,
                                     "Cluster master need isolate or reboot, process failed.");
             return RETURN_ERROR;
@@ -2739,12 +2739,12 @@
 /* modified by g90006267 for DTS2014050902796 , 2014-5-9 end */
 
 /**************************************************************************
-     :  ϵָϵ磬ǷҪִ
- :  task -- ȺԼTaskص
- :  
- ֵ  :  RETURN_OK          
-            RETURN_ERROR       ʧ
-     :
+ 功    能:  上电或恢复上电，检查流程是否需要继续执行
+ 输入参数:  task -- 集群自检Task回调上下文
+ 输出参数:  无
+ 返回值  :  RETURN_OK          流程正常进行
+            RETURN_ERROR       流程失败
+ 其 他   :
 **************************************************************************/
 int32_t checkPowerOnTaskNeedGo(POWER_ON_SELF_CHECK_TASK_S *task)
 {
@@ -2770,15 +2770,15 @@
 }
 
 /**************************************************************************
-     :  PCIE·Ļص
- :  arg -- ص
-            result -- ص
-            jointBitmap -- ·ڵλͼ
- :  
- ֵ  :  
-     :
- Ⱥϵָϵ磬ͨ·飬ҪĽڵ㣬
- ڵλͼϵ̳ɹʧܺ
+ 功    能:  PCIE链路检查结果的回调函数
+ 输入参数:  arg -- 回调上下文
+            result -- 回调结果
+            jointBitmap -- 链路正常相连节点位图
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :
+ 集群上电或恢复上电，通过链路检查，发现需要隔离的节点，
+ 计入隔离节点位图，上电流程成功或失败后隔离
 **************************************************************************/
 void checkPcieLinkCallback(uint32_t jointBitmap, void *arg, int32_t result)
 {
@@ -2790,23 +2790,23 @@
     int32_t retVal = RETURN_ERROR;
     uint32_t failedBitMap = 0;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != arg);
 
     task = (TASK_S *)arg;
     pwrTask = (POWER_ON_SELF_CHECK_TASK_S*)task;
 
-    /* صж */
+    /* 回调结果判断 */
     if (RETURN_OK != result)
     {
         SMLOG_TRACE_ERROR(SM_SYS_CLS_XNET_DATA_LINK_ERROR, 
                     "%s: Check pcie link failed, error code(%d).", GET_TASK_NAME(task), result);
 
-        /* DTSDTS2015073104703 modify by lwx207050 2015-07-31 begin */
+        /* DTS：DTS2015073104703 modify by lwx207050 2015-07-31 begin */
         (void)ALM_SendInnerAlarm (SYS_ERROR_PWRON_SLFCHK_PCIE_LINK_FAIL_PARAM, pwrTask->pwrBitmap);
-        /* DTSDTS2015073104703 modify by lwx207050 2015-07-31 end */
+        /* DTS：DTS2015073104703 modify by lwx207050 2015-07-31 end */
 
-        //¼ϵʧϢ
+        //记录上电失败信息
         recordFailedWithFrameAndNodeByIsolate(pwrTask->pwrBitmap, SYS_ERROR_PWRON_SLFCHK_PCIE_LINK_FAIL_PARAM);
 
         TASK_CALL_ACTION_CHILDDONE(task, SYS_ERROR_PWRON_SLFCHK_PCIE_LINK_FAIL_PARAM);
@@ -2816,53 +2816,53 @@
     DBG_LogInfo(LOG_ID_142E,
         "%s: Get pcie check result(jointed node bitmap %u).", GET_TASK_NAME(task), jointBitmap);
 
-    /* ·ֵⷢ쳣ڵ㣬ϵڵλͼ޳ */
-    /* ·Ϣ½ڵ״̬ */
+    /* 链路检测发现的异常节点，从上电或正常节点位图中剔除 */
+    /* 根据链路信息，更新节点状态 */
     for (index = 0; index < MAX_CTRL_NODE_NUM; index++)
     {
-        /* ѯڵǷ· */
+        /* 查询节点是否链路正常 */
         if (CHECK_NODEMAP_BIT_VALID(index, jointBitmap))
         {
             continue;
         }
 
-        /* ѯڵǷ񱾴ϵĽڵ */
+        /* 查询节点是否本次上电的节点 */
         if (CHECK_NODEMAP_BIT_VALID(index, pwrTask->pwrBitmap))
         {
-            /* ӡϢ */
+            /* 打印调试描述信息 */
             SMLOG_TRACE_ERROR_RSP(SM_SYS_CLS_XNET_DATA_LINK_ERROR, "XNET",
                         "%s: Node(%u) power on fail, cause the node data link is fault, wait for the link recover.", 
                         GET_TASK_NAME(task), index);
             CLEAR_NODEMAP_BIT(index, pwrTask->pwrBitmap);
             SET_NODEMAP_BIT(index, pwrTask->isolatedBitmap);
-            /* ¼־ */
+            /* 记录运行日志 */
             isolateNodeRunLog(index, NODE_ERR_CODE_PWR_ON_DATA_LINK_DOWN);
             pwrTask->isolatedReason[index] = SYS_ERROR_PWRON_SLFCHK_PCIE_LINK_FAIL_PARAM;
-            //¼ϵʧϢ
+            //记录上电失败信息
             failedBitMap = 0;
             SET_NODEMAP_BIT(index, failedBitMap);
             recordFailedWithFrameAndNodeByIsolate(failedBitMap, SYS_ERROR_PWRON_SLFCHK_PCIE_LINK_FAIL_PARAM);
             continue;
         }
 
-        /* ѯڵǷصĽڵ */
+        /* 查询节点是否相关的节点 */
         if (!CHECK_NODEMAP_BIT_VALID(index, pwrTask->normalBitmap))
         {
             continue;
         }
 
-        /* ָϵʱNORMAL״̬ĽڵϣӰ챾ϵ磬ʧ */
+        /* 恢复上电时检查出NORMAL状态的节点故障，如果影响本次上电，则任务失败 */
         getNodeGroupId(index, &nodeGroupId);
         getAllNodeIdInfoInNodeGroup(nodeGroupId, &nodeMapInGroup);
         SET_NODEMAP_BIT(index, pwrTask->isolatedBitmap);
         pwrTask->isolatedReason[index] = SYS_ERROR_PWRON_SLFCHK_PCIE_LINK_FAIL_PARAM;
 
-        //¼ϵʧϢ
+        //记录上电失败信息
         failedBitMap = 0;
         SET_NODEMAP_BIT(index, failedBitMap);
         recordFailedWithFrameAndNodeByIsolate(failedBitMap, SYS_ERROR_PWRON_SLFCHK_PCIE_LINK_FAIL_PARAM);
 
-        /* ڵнڵμӱϵ */
+        /* 节点组中有节点参加本次上电 */
         if (0 != (nodeMapInGroup & pwrTask->pwrBitmap))
         {
             SMLOG_TRACE_ERROR(SM_SYS_CLS_XNET_DATA_LINK_ERROR, 
@@ -2870,12 +2870,12 @@
                         GET_TASK_NAME(task), index, 
                         DEBUG_DESC("Exec cmd(sys showlink) to achive detail info."));
 
-            /* DTSDTS2015073104703 modify by lwx207050 2015-07-31 begin */
+            /* DTS：DTS2015073104703 modify by lwx207050 2015-07-31 begin */
             (void)ALM_SendInnerAlarm (SYS_ERROR_PWRON_SLFCHK_PCIE_LINK_FAIL_PARAM, pwrTask->isolatedBitmap);
-            /* DTSDTS2015073104703 modify by lwx207050 2015-07-31 end */
-            /* ·ɺûϵڵ㣬ֱʧ */
+            /* DTS：DTS2015073104703 modify by lwx207050 2015-07-31 end */
+            /* 链路检查完成后，如果没有满足条件的上电节点，任务直接失败 */
 
-            //¼ʧϢ
+            //记录失败信息
             recordFailedWithFrameAndNodeByIsolate(pwrTask->isolatedBitmap, SYS_ERROR_PWRON_SLFCHK_PCIE_LINK_FAIL_PARAM);
 
             TASK_CALL_ACTION_CHILDDONE(task, SYS_ERROR_PWRON_SLFCHK_PCIE_LINK_FAIL_PARAM);
@@ -2883,11 +2883,11 @@
         }
     }
 
-    /* DTSDTS2015073104703 modify by lwx207050 2015-07-31 begin */
+    /* DTS：DTS2015073104703 modify by lwx207050 2015-07-31 begin */
     (void)ALM_SendInnerAlarm (SYS_ERROR_PWRON_SLFCHK_PCIE_LINK_FAIL_PARAM, pwrTask->isolatedBitmap);
-    /* DTSDTS2015073104703 modify by lwx207050 2015-07-31 end */
+    /* DTS：DTS2015073104703 modify by lwx207050 2015-07-31 end */
 
-    /* ·ɺûϵڵ㣬ֱʧ */
+    /* 链路检查完成后，如果没有满足条件的上电节点，任务直接失败 */
     retVal = checkPowerOnTaskNeedGo(pwrTask);
     if (RETURN_OK != retVal)
     {
@@ -2900,11 +2900,11 @@
 }
 
 /**************************************************************************
-     :  ϵԼĹTaskִв--Ƿûõ治λ
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :
+ 功    能:  上电自检的公共Task执行步骤--检查是否用户配置的引擎不在位
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :
 **************************************************************************/
 static int32_t pwrOnCheckUsrConfEngine(TASK_S *task)
 {
@@ -2912,12 +2912,12 @@
     POWER_ON_SELF_CHECK_TASK_S *pwrTask = NULL;
     uint32_t bitMap = 0;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     pwrTask = (POWER_ON_SELF_CHECK_TASK_S*)task;
 
-    /* ָϵ粻ü */
+    /* 恢复上电不用检查 */
     if(NODE_RECOVER_POWER_ON == pwrTask->powerOnType)
     {
         DBG_LogInfo(LOG_ID_1430,
@@ -2929,7 +2929,7 @@
 
     getUsrConfigNodeNum(&usrConfigNum);
 
-    /* ˫زü */
+    /* 双控不用检测 */
     if (USR_CONFIG_CLUSTER_DOUBLE_NODE == usrConfigNum)
     {
         DBG_LogInfo(LOG_ID_1431, "%s: No need check user conf engine in double system.", GET_TASK_NAME(task));
@@ -2937,19 +2937,19 @@
         return RETURN_OK;
     }
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(pwrTask);
 
-    /* һ治λ */
+    /* 一对引擎不在位 */
     if(!checkGroupHaveNodeInClsAtPwrOn(pwrTask->pwrBitmap))
     {
         SMLOG_TRACE_ERROR(SM_SYS_CLS_GROUP_NOT_PRESENT, 
                     "CLS_POWER_ON: Power on fail, cause some group is not in cluster.%s", 
                     DEBUG_DESC("Exec cmd(sys showcls), check if any group has not join in the cluster."));
-        /* DTSDTS2015073104703 modify by lwx207050 2015-07-31 begin */
+        /* DTS：DTS2015073104703 modify by lwx207050 2015-07-31 begin */
         SET_NODEMAP_BIT(getLocalNid(), bitMap);
         (void)ALM_SendInnerAlarm (SYS_ERROR_PWRON_CNDTN_CHECK_NO_USR_LOGIC_ENGINE_PARAM, bitMap);
-        /* DTSDTS2015073104703 modify by lwx207050 2015-07-31 end */
+        /* DTS：DTS2015073104703 modify by lwx207050 2015-07-31 end */
 
         TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(task, SYS_ERROR_PWRON_CNDTN_CHECK_NO_USR_LOGIC_ENGINE_PARAM);
         return RETURN_ERROR;
@@ -2959,41 +2959,41 @@
     return RETURN_OK;
 }
 /**************************************************************************
-     :  ϵԼĹTaskִв--PCIEûв
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  ڵPCIE²ϵʧ
+ 功    能:  上电自检的公共Task执行步骤--检查PCIE线缆有没有插错
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  任意节点的PCIE线缆插错，上电流程失败
 **************************************************************************/
 static int32_t pwrOnCheckPcieLineConnect(TASK_S *task)
 {
     uint16_t usrConfigNum = 0;
     POWER_ON_SELF_CHECK_TASK_S *pwrTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     pwrTask = (POWER_ON_SELF_CHECK_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(pwrTask);
 
     getUsrConfigNodeNum(&usrConfigNum);
 
-    /*˫زü*/
-/* AA޸ģmodified by h002819232014-12-23 begin */
+    /*双控不用检测*/
+/* 后端AA适配修改，modified by h00281923，2014-12-23 begin */
     if (!clsPwrOnNeedChkPCIE())
-/* AA޸ģmodified by h002819232014-12-23 end */
+/* 后端AA适配修改，modified by h00281923，2014-12-23 end */
     {
         DBG_LogInfo(LOG_ID_1432, "%s: No need check pcie line in double system.", GET_TASK_NAME(task));
         TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(task, RETURN_OK);
         return RETURN_OK;
     }
 
-    /* ֪ͨEmpPCIE */
+    /* 通知Emp检查PCIE线缆 */
     noitfyEmpPowerOnReq(task, pwrTask->pwrBitmap, CLS_TO_EMP_CHECK_PICE_LINE);
 
-    /* TracePoint start Ⱥ֪ͨ豸PCIE¼ʱ,Ⱥλ */
+    /* TracePoint start 集群主通知设备管理作PCIE线缆检测时,集群主复位 */
     LVOS_TP_NOPARAM_START(POWER_ON_1_47_41)
     LVOS_TP_END
     /* TracePoint end */
@@ -3003,11 +3003,11 @@
 
 
 /**************************************************************************
-     :  ϵԼĹTaskִв--PCIE·
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电自检的公共Task执行步骤--检查PCIE链路
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnCheckPcieLink(TASK_S *task)
 {
@@ -3017,7 +3017,7 @@
 
     POWER_ON_SELF_CHECK_TASK_S *pwrTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     pwrTask = (POWER_ON_SELF_CHECK_TASK_S*)task;
@@ -3025,7 +3025,7 @@
     normalMap = pwrTask->normalBitmap;
     onlineMap = standbyMap | normalMap;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(pwrTask);
 
     /*SR-0000498483, added by x00291101, 2015-01-28 begin*/
@@ -3038,21 +3038,21 @@
     }
     /*SR-0000498483, added by x00291101, 2015-01-28 end*/
 
-    /* child numΪ1 */
+    /* 设置child num为1 */
     SET_ACTION_CHILDNUM(task, 1);
 
-    /* ·ĽӿڣPCIE· */
+    /* 调用链路检查的接口，进行PCIE链路检查 */
     queryNormalNodeByLink(checkPcieLinkCallback, task, onlineMap);
 
     return RETURN_OK;
 }
 
 /**************************************************************************
-     :  BDM
- :
- :  
-   ֵ:
-     :  
+ 功    能:  BDM开工
+ 输入参数:
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 static int32_t pwrOnBdmStartWork(TASK_S *task)
 {
@@ -3060,7 +3060,7 @@
     int32_t retVal = RETURN_ERROR;
     nid_t masterNid = INVALID_NID;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     pwrTask = (POWER_ON_SELF_CHECK_TASK_S*)task;
@@ -3079,11 +3079,11 @@
     return RETURN_OK;
 }
 /**************************************************************************
-     :  ϵ֪ͨCCDBRAID
- :
- :  
-   ֵ:
-     :  
+ 功    能:  上电通知CCDB开工软RAID
+ 输入参数:
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 static int32_t pwrOnCcdbRecoverRaid(TASK_S *task)
 {
@@ -3099,11 +3099,11 @@
     return RETURN_OK;
 }
 /**************************************************************************
-     :  BDMָ
- :
- :  
-   ֵ:
-     :  
+ 功    能:  BDM恢复配置
+ 输入参数:
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 static int32_t pwrOnBdmRecoverConf(TASK_S *task)
 {
@@ -3111,7 +3111,7 @@
     int32_t retVal = RETURN_ERROR;
     nid_t masterNid = INVALID_NID;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     pwrTask = (POWER_ON_SELF_CHECK_TASK_S*)task;
@@ -3130,11 +3130,11 @@
 }
 
 /**************************************************************************
-     :  EAM ָûص
- :
- :  
-   ֵ:
-     :  
+ 功    能:  EAM 恢复配置回调
+ 输入参数:
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void eamRecoverConfCb(uint32_t normalBitmap, uint32_t rebootBitmap, int32_t failReason, void* context)
 {
@@ -3144,14 +3144,14 @@
     uint32_t pwrBitmap = 0;
     TASK_S * baseTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != context);
 
     recoveryTask = (POWER_ON_RECOVERY_PROFILE_TASK_S*)context;
 
     baseTask = &(recoveryTask->baseTask);
 
-    /* ϲĸλͼ */
+    /* 计算合并后的隔离位图 */
     pwrBitmap = recoveryTask->pwrBitmap;
 
     /* modified by g90006267 for DTS2014092202664, 2014-9-19 begin */
@@ -3162,9 +3162,9 @@
     LVOS_TP_START(POWER_ON_1_47_95, &rebootBitmap)
     LVOS_TP_END;
 
-    /*ųEAMɹĽڵ*/
+    /*先排除EAM开工成功的节点*/
     isolateBitmap = (~normalBitmap) & pwrBitmap;
-    /*ųΪöʧܵĽڵ*/
+    /*再排除因为插框复用而失败的节点*/
     isolateBitmap = (~rebootBitmap) & isolateBitmap;
 
     DBG_LogInfo(LOG_ID_17EA, "%s: Eam power on callback, original pwr bitmap 0x%x, successful bitmap 0x%x,"
@@ -3172,25 +3172,25 @@
                GET_TASK_NAME(baseTask), pwrBitmap, normalBitmap, rebootBitmap, isolateBitmap);
 
     /* modified by g90006267 for DTS2014092202664, 2014-9-19 begin */
-    /* λͼΪ0ʾ˲õĽڵ㣬ڵeamʧܣ
-       ԭEMP̣üȺϵʧ */
+    /* 隔离的位图不为0，表示除了插框复用的节点，还有其它节点的eam开工失败，按照
+       原有EMP开工流程，置集群上电失败 */
     if(0 != isolateBitmap)
     {
         SMLOG_TRACE_ERROR_RSP(SM_SYS_CLS_EAM_RECOVER_CONF_FAIL, "EAM",
                     "%s: Eam recover configure failed(bitmap %u).", GET_TASK_NAME(baseTask), isolateBitmap);
-        /* DTS2015040908588 modify by lwx207050 2015-04-07 begin ϵ */
-        /* EAMŵ֧failReasonضΪOKΪOKΪܳ */
+        /* DTS2015040908588 modify by lwx207050 2015-04-07 begin 上电错误码 */
+        /* EAM承诺如果进入这个分支，failReason必定不为OK，如果为OK则为不可能场景 */
         if(RETURN_ERROR == failReason || RETURN_OK == failReason)
         {
             failReason = SYS_ERROR_PWRON_NOTIFY_EAM_RECOV_CFG;
         }
         TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(baseTask, failReason);
-        /* DTS2015040908588 modify by lwx207050 2015-04-07 end ϵ */
+        /* DTS2015040908588 modify by lwx207050 2015-04-07 end 上电错误码 */
         return;
     }
     /* modified by g90006267 for DTS2014092202664, 2014-9-19 end */
 
-    /**/
+    /*插框复用*/
     if(0 != rebootBitmap)
     {
         SMLOG_TRACE_WARN_RSP(SM_SYS_CLS_EAM_RECOVER_CONF_FAIL, "EAM",
@@ -3201,31 +3201,31 @@
     }
     /* DTS2015020204415, modified by c00281451, 2015-02-02, end*/
 
-    /* ϲϵλͼ */
+    /* 计算合并后的上电位图 */
     recoveryTask->pwrBitmap &= normalBitmap;
     DBG_LogInfo(LOG_ID_17FC, "%s: Eam recover cfg call back, return bitmap(0x%x),"
                 " isolate bitmap(0x%x) power on bitmap(0x%x).",
                 GET_TASK_NAME(&recoveryTask->baseTask), normalBitmap,
                 recoveryTask->isolatedBitmap, recoveryTask->pwrBitmap);
 
-    /* Ƿϵ */
+    /* 检查是否继续开工上电 */
     ret = checkProcessNeedGo(recoveryTask);
 
     TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(&recoveryTask->baseTask, ret);
     return;
 }
 /**************************************************************************
-     :  EAMָ
- :
- :  
-   ֵ:
-     :  
+ 功    能:  EAM恢复配置
+ 输入参数:
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 static int32_t pwrOnEamRecoverConf(TASK_S *task)
 {
     POWER_ON_SELF_CHECK_TASK_S *pwrTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     pwrTask = (POWER_ON_SELF_CHECK_TASK_S*)task;
@@ -3236,36 +3236,36 @@
 }
 
 /**************************************************************************
-     :  ϵԼĹTaskִв--֪ͨOM·
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电自检的公共Task执行步骤--通知OM进行链路检查
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnNotifyOmCheckLink(TASK_S *task)
 {
     POWER_ON_SELF_CHECK_TASK_S *pwrTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     pwrTask = (POWER_ON_SELF_CHECK_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(pwrTask);
 
-    /* ֪ͨOM· */
+    /* 通知OM检查链路 */
     notifyOmCheckLinkAsync(task, pwrTask->pwrBitmap);
 
     return RETURN_OK;
 }
 
 /**************************************************************************
-     :  ϵԼĹTaskִв--ȡڵϢ
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电自检的公共Task执行步骤--获取节点信息
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnGetNodeInfo(TASK_S *task)
 {
@@ -3278,21 +3278,21 @@
     uint32_t nodeIdBitmap = 0;
     POWER_ON_SELF_CHECK_TASK_S *pwrTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     pwrTask = (POWER_ON_SELF_CHECK_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(pwrTask);
 
     pwrBitmap = pwrTask->pwrBitmap;
     normalBitmap = pwrTask->normalBitmap;
 
-    /* ȡҪѯĽڵλͼ*/
-    /* ͨ ϵڵ㣬ҵڵжԶ˽ڵ*/
-    /* Զ˽ڵϵλͼҪбȽ*/
-    /* λͼҪбȽ */
+    /* 获取需要查询的节点位图*/
+    /* 通过 本次上电节点，找到节点组中对端节点*/
+    /* 如果对端节点在上电位图或已正常，则需要进行比较*/
+    /* 如果不在两个位图，则不需要进行比较 */
     for (index = 0; index < MAX_CTRL_NODE_NUM; index++)
     {
         if (!CHECK_NODEMAP_BIT_VALID(index, pwrBitmap))
@@ -3308,8 +3308,8 @@
         getNodeGroupId(index, &nodeGroupId);
         getAllNodeIdInfoInNodeGroup(nodeGroupId, &nodeIdBitmap);
 
-        /* ڵϵλͼλͼУҪڵϢ */
-        /* λؽڵ㣬Ҫѯ */
+        /* 节点组在上电位图或正常位图中，需要查节点信息 */
+        /* 在位的相关节点，需要查询 */
         nodeIdBitmap = nodeIdBitmap & (pwrBitmap | normalBitmap);
         checkBitmap = checkBitmap | nodeIdBitmap;
     }
@@ -3342,11 +3342,11 @@
 
 
 /**************************************************************************
-     :  ϵԼĹTaskִв--ʼϵͳSN
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电自检的公共Task执行步骤--初始化系统SN
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnInitSysSn(TASK_S *task)
 {
@@ -3357,12 +3357,12 @@
     POWER_ON_SELF_CHECK_TASK_S *pwrTask = NULL;
     nid_t nodeIdx;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     pwrTask = (POWER_ON_SELF_CHECK_TASK_S*)task;
 
-    /* ָϵ磬ҪʼϵͳSN */
+    /* 恢复上电，不需要初始化系统SN */
     if (NODE_RECOVER_POWER_ON == pwrTask->powerOnType)
     {
         DBG_LogInfo(LOG_ID_1442, "%s: Recover power on, no need to init sys sn.", GET_TASK_NAME(task));
@@ -3370,13 +3370,13 @@
         return RETURN_OK;
     }
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(pwrTask);
 
     powerBitmap = pwrTask->pwrBitmap;
     normalBitmap = pwrTask->normalBitmap;
 
-    /* 0 EMP ȡ豸SN */
+    /* 向0 号物理引擎EMP 获取设备SN */
     getAllNodeIdInEngine(0, &nodeBitmap);
     nodeBitmap = nodeBitmap & (powerBitmap | normalBitmap);
     if (0 == nodeBitmap)
@@ -3384,7 +3384,7 @@
         DBG_LogError(LOG_ID_1443,
                      "%s: Cluster power on and pair 0 not exist.", GET_TASK_NAME(task));
 
-        /* ¼ʧԭ */
+        /* 记录流程失败原因 */
         SET_SYS_TRACE_FAIL_INFO(task,
                      "%s: Cluster power on and pair 0 not exist.", GET_TASK_NAME(task));
 
@@ -3392,7 +3392,7 @@
         return RETURN_ERROR;
     }
 
-    /* ѡ0 һڵѯ豸SN */
+    /* 选择0 号物理引擎中一个节点查询设备SN */
     for (nodeIdx = 0; nodeIdx < MAX_CTRL_NODE_NUM; nodeIdx++)
     {
         if (CHECK_NODEMAP_BIT_VALID(nodeIdx, nodeBitmap))
@@ -3403,7 +3403,7 @@
         }
     }
 
-    /* ʼRPC */
+    /* 初始化RPC任务参数 */
     retVal = clsSendRpc(SYS_RPC_CLS_GET_SYS_SN, nodeBitmap, NULL, 0, SYS_SEND_POWER_ON_MSG_TIME_OUT, task);
     if (RETURN_OK != retVal)
     {
@@ -3417,11 +3417,11 @@
     return RETURN_OK;
 }
 /**************************************************************************
-     :  ϵԼĹTaskִв--ʼϵͳWWN
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电自检的公共Task执行步骤--初始化系统WWN
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnInitSysWWN(TASK_S *task)
 {
@@ -3432,12 +3432,12 @@
     POWER_ON_SELF_CHECK_TASK_S *pwrTask = NULL;
     nid_t nodeIdx;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     pwrTask = (POWER_ON_SELF_CHECK_TASK_S*)task;
 
-    /* ָϵ磬ҪʼϵͳWWN */
+    /* 恢复上电，不需要初始化系统WWN */
     if (NODE_RECOVER_POWER_ON == pwrTask->powerOnType)
     {
         DBG_LogInfo(LOG_ID_1445, "%s: Recover power on, no need to init sys wwn.", GET_TASK_NAME(task));
@@ -3445,13 +3445,13 @@
         return RETURN_OK;
     }
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(pwrTask);
 
     powerBitmap = pwrTask->pwrBitmap;
     normalBitmap = pwrTask->normalBitmap;
 
-    /* 0 EMP ȡ豸WWN */
+    /* 向0 号物理引擎EMP 获取设备WWN */
     getAllNodeIdInEngine(0, &nodeBitmap);
     nodeBitmap = nodeBitmap & (powerBitmap | normalBitmap);
     if (0 == nodeBitmap)
@@ -3459,7 +3459,7 @@
         DBG_LogError(LOG_ID_1446,
                      "%s: Cluster power on and pair 0 not exist.", GET_TASK_NAME(task));
 
-        /* ¼ʧԭ */
+        /* 记录流程失败原因 */
         SET_SYS_TRACE_FAIL_INFO(task,
                      "%s: Cluster power on and pair 0 not exist.", GET_TASK_NAME(task));
 
@@ -3467,7 +3467,7 @@
         return RETURN_ERROR;
     }
 
-    /* ѡ0 һڵѯ豸WWN */
+    /* 选择0 号物理引擎中一个节点查询设备WWN */
     for (nodeIdx = 0; nodeIdx < MAX_CTRL_NODE_NUM; nodeIdx++)
     {
         if (CHECK_NODEMAP_BIT_VALID(nodeIdx, nodeBitmap))
@@ -3478,7 +3478,7 @@
         }
     }
 
-    /* ʼRPC */
+    /* 初始化RPC任务参数 */
     retVal = clsSendRpc(SYS_RPC_CLS_GET_SYS_WWN, nodeBitmap, NULL, 0, SYS_SEND_POWER_ON_MSG_TIME_OUT, task);
     if (RETURN_OK != retVal)
     {
@@ -3492,11 +3492,11 @@
     return RETURN_OK;
 }
 /**************************************************************************
-     :  ϵԼĹTaskִв--ڵƷͺǷһ
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电自检的公共Task执行步骤--检查节点产品型号是否一致
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnCheckProductModel(TASK_S *task)
 {
@@ -3508,20 +3508,20 @@
     int32_t retVal;
     //modify by t00104528 for PANGEA DMI 2013/11/28 end
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     pwrTask = (POWER_ON_SELF_CHECK_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(pwrTask);
 
     pwrBitmap = pwrTask->pwrBitmap;
 
-    /* ȡȽϵĻ׼Ʒͺ */
+    /* 获取用来比较的基准产品型号 */
     if(CLUSTER_POWER_ON == pwrTask->powerOnType)
     {
-        /* Ⱥϵ磬ȡһǲýڵĲƷͺţΪ׼Ʒͺ */
+        /* 集群上电，获取第一个不是插框复用节点的产品型号，作为基准产品型号 */
         for (nodeIndex = 0; nodeIndex < MAX_CTRL_NODE_NUM; nodeIndex++)
         {
             if (!CHECK_NODEMAP_BIT_VALID(nodeIndex, pwrBitmap))
@@ -3540,7 +3540,7 @@
          }
     }
 
-    /* ڵָϵ磬ȺĲƷͺΪ׼Ʒͺ */
+    /* 节点恢复上电，集群主的产品型号作为基准产品型号 */
     else
     {
         //modify by t00104528 for PANGEA DMI 2013/11/28 begin
@@ -3559,7 +3559,7 @@
                     GET_TASK_NAME(task), productModel);
     }
 
-    /* ȽϽڵĲƷͺ */
+    /* 比较节点的产品型号 */
     for (nodeIndex = 0; nodeIndex < MAX_CTRL_NODE_NUM; nodeIndex++)
     {
         if (!CHECK_NODEMAP_BIT_VALID(nodeIndex, pwrBitmap))
@@ -3567,19 +3567,19 @@
             continue;
         }
 
-        /* ӡƷͺ */
+        /* 打印产品型号 */
         DBG_LogInfo(LOG_ID_144B,
                     "%s: Product model of node(id %u) is (%u).",
                     GET_TASK_NAME(task), nodeIndex,
                     pwrTask->localNodeInfo[nodeIndex].productModel);
 
-        /* õĽڵ㣬Ƚ */
+        /* 插框复用的节点，不比较 */
         if(BACKUP_FRAME_PRODUCT_MODEL == pwrTask->localNodeInfo[nodeIndex].productModel)
         {
             continue;
         }
 
-        /* ׼ƷͺŲһ£ʧ */
+        /* 与标准产品型号不一致，流程失败 */
         if (pwrTask->localNodeInfo[nodeIndex].productModel != productModel)
         {
             SMLOG_TRACE_ERROR(SM_SYS_CLS_CHECK_PRODUCT_MODE_FAIL,
@@ -3599,14 +3599,14 @@
 
 #ifdef __KERNEL__
 /**************************************************************************
-     :  ģа汾Ĵص
- :  arg -- ص
-            rebootBitmap -- ҪĽڵλͼ
-            failBitmap --  ʧܣҪĽڵλͼ
- :  
- ֵ  :
-     :  ģԼresultֻRETURN_ERRORRETURN_OKRETURN_NEED_RETRY
-ֵַRETURN_NEED_RETRYֻڼȺϵ糡Ż᷵ء
+ 功    能:  升级模块进行版本检查的处理结果回调函数
+ 输入参数:  arg -- 回调上下文
+            rebootBitmap -- 需要重启的节点位图
+            failBitmap --  升级失败，需要隔离的节点位图
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  与升级模块约定result只有RETURN_ERROR、RETURN_OK、RETURN_NEED_RETRY
+三种返回值，且RETURN_NEED_RETRY只在集群上电场景才会返回。
 **************************************************************************/
 void upgradeResultCallback(void *arg, int32_t result,
                            uint32_t rebootBitmap, uint32_t failBitmap)
@@ -3619,7 +3619,7 @@
     uint32_t sendBitMap = 0;
     uint32_t lostBitMap = 0;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != arg);
 
     pwrTask = (POWER_ON_SELF_CHECK_TASK_S*)arg;
@@ -3629,7 +3629,7 @@
     LVOS_TP_END;
     LVOS_TP_START(POWER_ON_1_47_84, &failBitmap);
     LVOS_TP_END;
-    /* ӡ־ */
+    /* 打印日志 */
     DBG_LogInfo(LOG_ID_144D,
                 "%s: Upgrade sync version callback return (reboot bitmap %u, isolet bitmap %u).",
                 GET_TASK_NAME(baseTask), rebootBitmap, failBitmap);
@@ -3643,24 +3643,24 @@
         return;
     }
 
-    /* reboot ڵλͼ */
+    /* 增加reboot 节点位图 */
     nodeMap = pwrTask->rebootBitmap;
     pwrTask->rebootBitmap = nodeMap |rebootBitmap;
     pwrTask->planRebootBitMap |= rebootBitmap;
 
     /* modified by g90006267 for DTS2014011602301, 2014-1-16 begin */
-    /* ӡϢ */
+    /* 打印调试描述信息 */
     if(0 != rebootBitmap)
     {
-        /* ¼־ */
+        /* 记录运行日志 */
         rebootNodeRunLog(rebootBitmap, NODE_ERR_CODE_VERSION_NEED_SYNC);
         SMLOG_TRACE_WARN_RSP(SM_SYS_CLS_SYNC_VER_FAIL, "UPGRADE",
                     "CLS_POWER_ON: Upgrade sync version need reboot node(bitmap %u).", rebootBitmap);
     }
     if(0 != failBitmap)
     {
-        /* Ӹ־ ȥϽڵ Ϊͬ汾ڵҲ᷵failλͼ ڵ״̬δ
-         Ż ȫ*/          
+        /* 增加隔离运行日志 去除故障节点 因为升级同步版本遇到节点故障也会返回fail位图 节点状态可能未
+        更新 这儿仅优化 不能完全避免*/          
         getAliveNodeBitMapInfo(&sendBitMap);
         sendBitMap &= failBitmap;
         
@@ -3668,8 +3668,8 @@
         SMLOG_TRACE_ERROR_RSP(SM_SYS_CLS_SYNC_VER_FAIL, "UPGRADE",
                     "CLS_POWER_ON: Upgrade sync version failed, isolate node(bitmap %u).", sendBitMap);
 
-        /* һͬ汾ʱֹϻ磬᷵failλͼ
-        ó¼ȺϵӦԣʱĽڵ״̬δ£˴Żȫ*/
+        /* 如果有一整个引擎在升级同步版本时出现故障或掉电，升级会返回fail位图，
+        该场景下集群上电应该重试，此时的节点状态可能未更新，此处仅优化，不能完全避免*/
         getAliveNodeBitMapInfo(&aliveBitMap);
         lostBitMap = (~aliveBitMap)&failBitmap;
         if ((CLUSTER_POWER_ON == pwrTask->powerOnType) && 
@@ -3684,15 +3684,15 @@
     }
     /* modified by g90006267 for DTS2014011602301, 2014-1-16 begin */
 
-    /* Ӹڵλͼ */
+    /* 增加隔离节点位图 */
     nodeMap = pwrTask->isolatedBitmap;
     pwrTask->isolatedBitmap = nodeMap | failBitmap;
 
-    /* reboot ڵ㣬ϵڵλͼ޳ */
+    /* 将隔离和reboot 节点，从上电节点位图中剔除 */
     nodeMap = pwrTask->pwrBitmap;
     pwrTask->pwrBitmap = nodeMap & (~ (rebootBitmap | failBitmap));
 
-    /* жִܷ */
+    /* 判断流程能否继续执行 */
     retVal = checkPowerOnTaskNeedGo(pwrTask);
     if (RETURN_OK != retVal)
     {
@@ -3705,37 +3705,37 @@
 }
 #endif
 /**************************************************************************
-     :  ϵԼĹTaskִв--֪ͨģа汾͹̼ͬ
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电自检的公共Task执行步骤--通知升级模块进行版本检查和固件同步
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnNotifyUpgradeStartCheck(TASK_S *task)
 {
 #if !defined(WIN32) && !defined(ESTOR)
     POWER_ON_SELF_CHECK_TASK_S *pwrTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     pwrTask = (POWER_ON_SELF_CHECK_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(pwrTask);
 
-    /* child numΪ1 */
+    /* 设置child num为1 */
     SET_ACTION_CHILDNUM(task, 1);
 
-    /* ֪ͨģа汾͹̼ͬ */
-    /* Ⱥϵ */
+    /* 通知升级模块进行版本检查和固件同步 */
+    /* 集群上电 */
 
     if (CLUSTER_POWER_ON == pwrTask->powerOnType)
     {
         UPGRADE_StartSyncSysFlow(upgradeResultCallback, task,
             CLUSTER_POWER_SYNC_VERSION, pwrTask->pwrBitmap);
     }
-    /* ָϵ */
+    /* 恢复上电 */
     else
     {
         UPGRADE_StartSyncSysFlow(upgradeResultCallback, task,
@@ -3752,23 +3752,23 @@
 
 /* BEGIN: Added by r90006280, 2013/9/11   ID(TV2R2):MULTI_MODELS*/
 /**************************************************************************
-     :  ݻָ
- :
- :  
-   ֵ:
-     :  
+ 功    能:  脏数据恢复条件检查
+ 输入参数:
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 static int32_t pwrOnCheckRecovDirtyData(TASK_S *task)
 {
     SYS_TRACE_TYPE_E traceType = SYS_TRACE_TYPE_INIT;
     POWER_ON_SELF_CHECK_TASK_S *pwrTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     pwrTask = (POWER_ON_SELF_CHECK_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(pwrTask);
 
     if (CLUSTER_POWER_ON == (pwrTask->powerOnType))
@@ -3785,7 +3785,7 @@
         TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(task, RETURN_OK);
         return RETURN_OK;
     }
-    /* AA޸ģmodified by h002819232014-12-23 begin */
+    /* 后端AA适配修改，modified by h00281923，2014-12-23 begin */
     if (isUpgradeC30())
     {
         SET_ACTION_CHILDNUM(task, 1);
@@ -3805,7 +3805,7 @@
                                                      defaultProcCallBack,
                                                      (void *)task);
     }
-    /* AA޸ģmodified by h002819232014-12-23 end */
+    /* 后端AA适配修改，modified by h00281923，2014-12-23 end */
     return RETURN_OK;
 
 }
@@ -3814,11 +3814,11 @@
 
 /* modified by z00248602 for DTS2014062601615 , 2014-06-20 begin */
 /**************************************************************************
-     :  ڴǷ
- :
- :  
-   ֵ:
-     :  
+ 功    能:  检查内存条是否被屏蔽
+ 输入参数:
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 static int32_t pwrOnCheckDimmShield(TASK_S *task)
 {
@@ -3828,17 +3828,17 @@
     uint32_t flag = INVALID_VALUE32;
     SYS_CLUSTER_STATUS_E clsStatus = SYS_CLUSTER_STATUS_BUTT;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
     pwrTask = (POWER_ON_SELF_CHECK_TASK_S *)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(pwrTask);
 
     nodeBitmap = pwrTask->pwrBitmap;
 
     /* modified by z00248602 for DTS2014070301172, 2014-7-03 begin */
-    /* ȡȺ״̬ */
+    /* 获取集群的状态 */
     getClsStatus(&clsStatus);
     if ((SYS_CLUSTER_STATUS_ONLINE_UPGRADE == clsStatus)
         || (SYS_CLUSTER_STATUS_OFFLINE_UPGRADE == clsStatus)
@@ -3850,7 +3850,7 @@
     }
 
     /* modified by g90006267 for DTS2014101003438 , 2014-10-08 begin */
-    /* ȡϵͳǿϵĿֵ */
+    /* 获取系统控制强制上电的开关值 */
     getSysMemProtectInfo(SYS_RSV_MEM_FOR_FORCE_POWER_ON, &flag);
     if (SYS_FORCE_POWER_ON_FLAG == flag)
     {
@@ -3882,19 +3882,19 @@
 /* modified by z00248602 for DTS2014062601615 , 2014-06-20 end */
 
 /**************************************************************************
-     :  ϵͳڴСһͬʧܸϢ
- :  uint32_t nodeNid      -- ʧܽڵID
-            uint64_t memSize      -- ڵڴС
-            int32_t errCode       -- 
- :  
- ֵ  :  
-     :  
+ 功    能:  系统内存大小不一致同步失败辅助信息
+ 输入参数:  uint32_t nodeNid      -- 失败节点ID
+            uint64_t memSize      -- 问题节点内存大小
+            int32_t errCode       -- 错误码
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void memSizeAbnormalSyncPowerOnFailAuxInfo(nid_t nodeNid, uint64_t memSize, int32_t errCode)
 {
     POWER_ON_FAILED_AUX_INFO_S PwrOnFailedAuxInfo = {0};
 
-    /* ϵʧܸϢ*/
+    /* 上电失败辅助信息*/
     snprintf(PwrOnFailedAuxInfo.pwrOnFailedAuxInfo, MAX_POWER_ON_FAILED_AUX_INFO_SIZE - 1, 
                      "error code (0x%x), " \
                      "the controller (memsize %llu) need to be replaced",
@@ -3908,11 +3908,11 @@
 
 /* BEGIN: Added by r90006280, 2013/9/11   ID(TV2R2):MULTI_MODELS*/
 /**************************************************************************
-     :  ڴǷһ
- :
- :  
-   ֵ:
-     :  
+ 功    能:  检查内存是否一致
+ 输入参数:
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 static int32_t pwrOnCheckMemSize(TASK_S *task)
 {
@@ -3923,9 +3923,9 @@
 
     pwrTask = (POWER_ON_SELF_CHECK_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(pwrTask);
-/* AA޸ģmodified by h002819232014-12-23 begin */
+/* 后端AA适配修改，modified by h00281923，2014-12-23 begin */
     if(isUpgradeC30())
     {
         retVal = isolateNodeByMemSizeIntf(pwrTask->pwrBitmap,
@@ -3941,7 +3941,7 @@
                                           pwrTask->localNodeInfo,
                                          &isolateNidMap);
     }
-/* AA޸ģmodified by h002819232014-12-23 end */
+/* 后端AA适配修改，modified by h00281923，2014-12-23 end */
     if (RETURN_OK != retVal)
     {
         TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(task, retVal);
@@ -3957,7 +3957,7 @@
     }
 
     /* modified by g90006267 for DTS2014011602301, 2014-1-16 begin */
-    /* ӡϢ */
+    /* 打印调试描述信息 */
     SMLOG_TRACE_ERROR(SM_SYS_CLS_MEM_SIZE_NOT_SAME, 
                 "CLS_POWER_ON: Isolate node(bitmap %u) cause mem size not same.%s", isolateNidMap,
                 DEBUG_DESC("Exec cmd(mml>bsp getmem) to get the mem size, then resize them."));
@@ -3970,21 +3970,21 @@
             CLEAR_NODEMAP_BIT(idx, pwrTask->pwrBitmap);
             SET_NODEMAP_BIT(idx, pwrTask->isolatedBitmap);
             isolateNodeRunLog(idx, SYS_ERROR_PWRON_SLFCHK_MEM_NODE_RCVRPWRON_NOTMATCH_PARAM);
-            /* Ӹԭ¼ */
+            /* 增加隔离原因记录 */
             pwrTask->isolatedReason[idx] = SYS_ERROR_PWRON_SLFCHK_MEM_NODE_RCVRPWRON_NOTMATCH_PARAM;
-            /* ϵʧܸϢ*/
+            /* 上电失败辅助信息*/
             memSizeAbnormalSyncPowerOnFailAuxInfo(idx, pwrTask->localNodeInfo->memSize, SYS_ERROR_PWRON_SLFCHK_MEM_NODE_RCVRPWRON_NOTMATCH_PARAM);
 
-            //¼ϵʧϢ
+            //记录上电失败信息
             (void)pwrOnRecordDifMemSize(task, idx);
         }
     }
 
-    /* DTSDTS2015073104703 modify by lwx207050 2015-07-31 begin */
+    /* DTS：DTS2015073104703 modify by lwx207050 2015-07-31 begin */
     (void)ALM_SendInnerAlarm (SYS_ERROR_PWRON_SLFCHK_MEM_NODE_RCVRPWRON_NOTMATCH_PARAM, isolateNidMap);
-    /* DTSDTS2015073104703 modify by lwx207050 2015-07-31 end */
+    /* DTS：DTS2015073104703 modify by lwx207050 2015-07-31 end */
 
-    /* ϵڵǷ񻹷 */
+    /* 检查上电节点是否还符合条件 */
     retVal = checkPowerOnTaskNeedGo(pwrTask);
     if (RETURN_OK != retVal)
     {
@@ -3997,26 +3997,26 @@
 }
 /* END:   Added by r90006280, 2013/9/11 */
 /**************************************************************************
-     :  PowerOnִв--Ⱥϵ
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  PowerOn流程执行步骤--集群上电条件检查
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnConditionCheck(TASK_S *task)
 {
     POWER_ON_TASK_S *powerOnTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     powerOnTask = (POWER_ON_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(powerOnTask);
 
-    /* Ƿûõĳ߼Ľڵ㶼ϵڵλͼ
-            治λ¼ϵʧϢ*/
+    /* 检查是否有用户配置的某个逻辑引擎的节点都不在上电节点位图中
+            如果有引擎不在位则记录上电失败信息*/
     if(!checkGroupHaveNodeInClsAtPwrOn(powerOnTask->pwrBitmap))
     {
         DBG_LogError(LOG_ID_145B,
@@ -4031,7 +4031,7 @@
         return RETURN_ERROR;
     }
 
-    /* ǷûõĳĽڵ㶼ϵڵλͼ */
+    /* 检查是否有用户配置的某个物理引擎的节点都不在上电节点位图中 */
     if(!checkPairHaveNodeInCls(powerOnTask->pwrBitmap))
     {
         DBG_LogError(LOG_ID_145C,
@@ -4051,11 +4051,11 @@
 }
 
 /**************************************************************************
-     :  ϵ(Ⱥϵ硢ָϵ)ָݹTaskĲԲ
- :  task -- Taskָ
- :  
- ֵ  :  
-     :  
+ 功    能:  填充上电(集群上电、恢复上电)恢复脏数据公共子Task的策略步骤
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void fillRecoverDirtyTaskActions(TASK_S *task)
 {
@@ -4066,28 +4066,28 @@
     SET_TASK_ACTION(task, idx, ACTION_CLS_RECOVERY_DIRTY_TASK_OVER);
     idx++;
 
-    /* ĬϵCache */
+    /* 创建默认的Cache分区 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_CREATE_DEFAULT_CACHE_PTT);
     idx++;
 
-    /* ¼ϵ׶ */
+    /* 记录上电阶段 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_RECORD_POWER_ON_STEP);
     idx++;
 
 /* BEGIN: Modified by r90006280, 2014/11/17   ID:C30*/
-/*C30汾ȺCACHEĹģʽãɶʵ*/
-/* AA޸ģmodified by h002819232014-12-23 begin */
+/*C30版本集群不做CACHE的工作模式设置，由对象管理实现*/
+/* 后端AA适配修改，modified by h00281923，2014-12-23 begin */
     if (isUpgradeC30())
     {
-        /* Cacheģʽ */
+        /* 设置Cache工作模式 */
         SET_TASK_ACTION(task, idx, ACTION_CLS_SET_CACHE_WORK_MODE);
         idx++;
     }
-/* AA޸ģmodified by h002819232014-12-23 end */
+/* 后端AA适配修改，modified by h00281923，2014-12-23 end */
 /* END:   Modified by r90006280, 2014/11/17 */
 
     /* BEGIN: Modified by r90006280, 2013/9/11   ID(TV2R2):MULTI_MODELS*/
-    /* ָ */
+    /* 恢复保险箱 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_VAULT_RECOV_DIRTY_DATA);
     idx++;
 
@@ -4097,18 +4097,18 @@
     return;
 }
 /**************************************************************************
-     :  ʼָTASKֵ
- :  task -- ϵ繫Taskָ
- :  
- ֵ  :  
-     :  
+ 功    能:  初始化恢复脏数据TASK值
+ 输入参数:  task -- 上电公共流程Task指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void initPwrOnRecoveryDirtyTask(POWER_ON_RECOVERY_DIRTY_TASK_S *task,
                                 POWER_ON_TASK_S *parentTask)
 {
     nid_t idx;
 
-    /* TaskԱʼ */
+    /* Task成员变量初始化 */
     task->powerOnType = parentTask->powerOnType;
     task->pwrBitmap = parentTask->pwrBitmap;
     task->dirtyBitmap = parentTask->dirtyBitmap;
@@ -4131,12 +4131,12 @@
 
 
 /**************************************************************************
-     :  ָ
- :
-                parentTask -- Taskָ
- :  
- ֵ  :  
-     :  
+ 功    能:  恢复脏数据任务
+ 输入参数:
+                parentTask -- 父Task指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void recoverDirtyDatAsync(TASK_S *parentTask)
 {
@@ -4145,19 +4145,19 @@
     POWER_ON_RECOVERY_DIRTY_TASK_S *recoverDirtyTask = NULL;
     POWER_ON_TASK_S *pwrTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     pwrTask = (POWER_ON_TASK_S *)parentTask;
 
-    /* ӡҪ־ */
+    /* 打印重要函数入口日志 */
     DBG_LogInfo(LOG_ID_145D, "%s: Create recover cache common task.", GET_TASK_NAME(parentTask));
 
-    /* ָCacheݵTASK */
+    /* 创建恢复Cache数据的子TASK */
     retVal = CREATE_SYS_TASK((TASK_S**)&recoverDirtyTask,
                              sizeof(POWER_ON_RECOVERY_DIRTY_TASK_S),
                              fillRecoverDirtyTaskActions);
     if (RETURN_OK != retVal)
     {
-        /* ӡ־ */
+        /* 打印日志 */
         DBG_LogError(LOG_ID_145E, "%s: Create recover cache common task failed.", GET_TASK_NAME(parentTask));
         TASK_CALL_ACTION_CHILDDONE(parentTask, RETURN_ERROR);
         return;
@@ -4165,16 +4165,16 @@
 
     baseTask = &(recoverDirtyTask->baseTask);
 
-    /* ʼ˽ֶ */
+    /* 初始化私有字段 */
     initPwrOnRecoveryDirtyTask(recoverDirtyTask, pwrTask);
 
-    /* Task Name */
+    /* 设置Task Name */
     SET_TASK_NAME(baseTask, "RECOVER_DIRTY");
 
-    /* óɸȼ */
+    /* 设置成高优先级 */
     SET_TASK_PRIORITY_HIGH(baseTask);
 
-    /* parentTaskָ뱣浽taskУԱtaskʱص */
+    /* 将parentTask指针保存到task中，以便该task结束时回调用 */
     SET_PARENT_TASK(baseTask, parentTask);
 
     TASK_CALL_ACTION_START_ASYNC(baseTask);
@@ -4183,28 +4183,28 @@
 }
 
 /**************************************************************************
-     :  PowerOn̵ִв--ָ(λڴݺͱ)
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  PowerOn流程的执行步骤--恢复脏数据(复位保内存数据和保险箱脏数据)
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnRecoverDirtyData(TASK_S *task)
 {
     POWER_ON_TASK_S *powerOnTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     powerOnTask = (POWER_ON_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(powerOnTask);
 
-    /* TASKchild numΪ1 */
+    /* 调用子TASK，设置child num为1 */
     SET_ACTION_CHILDNUM(task, 1);
 
-    /* ָ */
+    /* 恢复脏数据 */
     recoverDirtyDatAsync(task);
 
     return RETURN_OK;
@@ -4212,25 +4212,25 @@
 
 
 /**************************************************************************
-     :  ϵָݵĹTaskִв--¼ϵִн׶
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :
- cacheģʽ֮󣬵ڵnormalǰĽ·ϣɽڵ㱻룬
- ׶εĸҪλڵ㣬Ҫ¼׶Σͬϵڵ
+ 功    能:  上电恢复脏数据的公共Task执行步骤--记录上电流程执行阶段
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :
+ 在设置cache工作模式之后，到节点normal前，发生的交叉链路故障，造成节点被隔离，
+ 这个阶段的隔离需要复位节点，因此需要记录这个阶段，并同步到上电节点中
 **************************************************************************/
 static int32_t pwrOnRecordStep(TASK_S *task)
 {
     int32_t retVal = RETURN_ERROR;
     POWER_ON_RECOVERY_DIRTY_TASK_S *recoveryTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     recoveryTask = (POWER_ON_RECOVERY_DIRTY_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(recoveryTask);
 
     retVal = clsSendRpc(SYS_RPC_CLS_RECORD_POWER_ON_STEP,
@@ -4250,11 +4250,11 @@
 }
 
 /**************************************************************************
-     :  ϵָݵĹTaskִв--Cacheģʽ
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电恢复脏数据的公共Task执行步骤--设置Cache工作模式
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnSetCacheWorkMode(TASK_S *task)
 {
@@ -4264,15 +4264,15 @@
     uint32_t dismirrBitmap = 0;
     uint32_t mirrBitmap = 0;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
     recoveryTask = (POWER_ON_RECOVERY_DIRTY_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(recoveryTask);
 
-    /* Զʱɶcacheģʽԭ: úݻͬ */
-    /* ȺϵʱҪcache ģʽ */
+    /* 对端在线时，由对象管理设置cache工作模式，原因: 设置后数据会立即同步 */
+    /* 集群上电时需要在这里设置cache 工作模式 */
     for (idx = 0; idx < MAX_CTRL_NODE_NUM; idx++)
     {
         if (!CHECK_NODEMAP_BIT_VALID(idx, recoveryTask->pwrBitmap))
@@ -4280,8 +4280,8 @@
             continue;
         }
 
-        /* Զ˽ڵ״̬ */
-        /* Զ˽ڵҲڱϵλͼ˫عģʽ */
+        /* 检查对端节点状态 */
+        /* 如果对端节点也在本次上电位图，可以设置双控工作模式 */
         peerNid = getPeerNodeIdInGroup((nid_t)idx);
         if (CHECK_NODEMAP_BIT_VALID(peerNid, recoveryTask->pwrBitmap))
         {
@@ -4290,14 +4290,14 @@
             continue;
         }
 
-        /* ڵָϵ磬ùģʽ */
+        /* 节点恢复上电，不设置工作模式 */
         if (CHECK_NODEMAP_BIT_VALID(peerNid, recoveryTask->normalBitmap))
         {
             continue;
         }
 
-        /* Զ˽ڵ㲻ϵλͼҲλͼܲ*/
-        /* NORMALڵ㣬ǰcheck linkʱѴ */
+        /* 如果对端节点不在上电位图，也不在正常位图，可能不在线*/
+        /* 隔离NORMAL节点，在前面的check link时已处理 */
         SET_NODEMAP_BIT(idx, dismirrBitmap);
 
     }
@@ -4308,17 +4308,17 @@
         return RETURN_OK;
     }
 
-    /* Cacheģʽ */
+    /* 设置Cache工作模式 */
     setCacheWorkModeAsync(task, dismirrBitmap, mirrBitmap);
     return RETURN_OK;
 }
 
 /**************************************************************************
-     :  ϵǷִеcacheģʽһ׶
- :  
- :  
- ֵ  :  B_TRUE:ִеý׶;B_FALSE:δִеý׶
-     :  
+ 功    能:  检查上电是否执行到设置cache工作模式这一阶段
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  B_TRUE:执行到该阶段;B_FALSE:未执行到该阶段
+ 其 他   :  无
 **************************************************************************/
 bool checkPowerOnStep(void)
 {
@@ -4333,11 +4333,11 @@
 }
 
 /**************************************************************************
-     :  ϵǷִеcacheģʽһ׶
- :  step -- ǷﵽԤ׶
- :  
- ֵ  :  
-     :  
+ 功    能:  设置上电是否执行到设置cache工作模式这一阶段
+ 输入参数:  step -- 是否达到预定阶段
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void setPowerOnStep(bool step)
 {
@@ -4349,11 +4349,11 @@
 }
 
 /**************************************************************************
-     :  ϵָTask
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电恢复脏数据Task结束处理函数
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnRecoveryDirtyTaskOver(TASK_S *task)
 {
@@ -4362,21 +4362,21 @@
     POWER_ON_TASK_S *pwrTask = NULL;
     POWER_ON_RECOVERY_DIRTY_TASK_S *recoveryTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     recoveryTask = (POWER_ON_RECOVERY_DIRTY_TASK_S *)task;
-    /* ȡǰִеParent Task */
+    /* 获取当前执行的Parent Task */
     parentTask = GET_PARENT_TASK(task);
     CTRL_UTIL_IF(NULL != parentTask);
     pwrTask = (POWER_ON_TASK_S *)parentTask;
     pwrTask->checkBbuBitmap = recoveryTask->checkBbuBitmap;
 
-    /* TaskִнϢ */
+    /* 根据整个Task执行结果输出调试信息 */
     retVal = GET_TASK_RESULT(task);
     if (RETURN_OK != retVal)
     {
-        /* ʧԭ򵽸Task */
+        /* 拷贝流程失败原因到父Task */
         LVOS_strncpy(parentTask->TaskFailReason, task->TaskFailReason, MAX_TASK_FAIL_DESC_LEN);
     }
 
@@ -4387,18 +4387,18 @@
     DBG_LogInfo(LOG_ID_1463, "%s: Process return %d.", GET_TASK_NAME(task), retVal);
     TASK_CALL_ACTION_CHILDDONE(parentTask, retVal);
 
-    /*ͷTASK*/
+    /*释放TASK*/
     DESTROY_SYS_TASK(task);
     return RETURN_OK;
 }
 
 
 /**************************************************************************
-     :  ϵָݵĹTaskִв--ĬCache
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电恢复脏数据的公共Task执行步骤--创建默认Cache分区
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnCreateDefaultCachePtt(TASK_S *task)
 {
@@ -4406,18 +4406,18 @@
     POWER_ON_RECOVERY_DIRTY_TASK_S *recoveryTask = NULL;
     int32_t flowType = 0;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     recoveryTask = (POWER_ON_RECOVERY_DIRTY_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(recoveryTask);
 
-    /* TASKchild numΪ1 */
+    /* 调用子TASK，设置child num为1 */
     SET_ACTION_CHILDNUM(task, 1);
 
-    /* ӡĽڵλͼ */
+    /* 打印传入的节点位图 */
     DBG_LogInfo(LOG_ID_1464, "%s:Create default cache ptt para(node bitmap %u).",
                  GET_TASK_NAME(task), recoveryTask->pwrBitmap);
 
@@ -4430,7 +4430,7 @@
         flowType = SYS_TRACE_TYPE_RECOVERY_POWER_ON;
     }
 
-    /* ĬCache */
+    /* 创建默认Cache分区的子任务 */
     retVal = objCreateDefaultCptChildTask(recoveryTask->pwrBitmap, task, flowType);
     if(RETURN_OK != retVal)
     {
@@ -4444,11 +4444,11 @@
     return RETURN_OK;
 }
 /**************************************************************************
-     :  ָ
- :
- :  
-   ֵ:
-     :  
+ 功    能:  恢复保险箱脏数据
+ 输入参数:
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 static int32_t pwrOnVaultRecovDirtyData(TASK_S *task)
 {
@@ -4457,12 +4457,12 @@
     VAULT_PARA_S recovPara;
     int32_t retVal = RETURN_ERROR;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     pwrTask = (POWER_ON_RECOVERY_DIRTY_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(pwrTask);
 
     if (CLUSTER_POWER_ON == (pwrTask->powerOnType))
@@ -4509,11 +4509,11 @@
 
 
 /**************************************************************************
-     :  ϵ(Ⱥϵ硢ָϵ)ָùTaskĲԲ
- :  task -- Taskָ
- :  
- ֵ  :  
-     :  
+ 功    能:  填充上电(集群上电、恢复上电)恢复配置公共子Task的策略步骤
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void fillRecoverProfileTaskActions(TASK_S *task)
 {
@@ -4526,17 +4526,17 @@
 
     if (isUpgradeC30())
     {
-        /* ֪ͨ־ģ鿪 */
+        /* 通知日志模块开工 */
         SET_TASK_ACTION(task, idx, ACTION_CLS_LOGZONE_START_WORK);
         idx++;
     }
 
 
-    /* ֪ͨOMͬʱ */
+    /* 通知OM同步时间 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_SYNC_SYS_TIME);
     idx++;
 
-    /* DB */
+    /* DB开工 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_NOTIFY_DB_START_WORK);
     idx++;
 
@@ -4546,21 +4546,21 @@
     SET_TASK_ACTION(task, idx, ACTION_CLS_SYNC_IOC_IPMAPPING_CFG);
     idx++;
 
-    /* ֪ͨģ̼ͬ */
+    /* 通知升级模块同步固件 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_NOTIFY_UPGRADE_SYNC_FW);
     idx++;
 
-    /* ϵBBU״̬ */
+    /* 上电检查BBU状态 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_CHECK_BBU_STATUS);
     idx++;
 
 
-    /* ͬiSCSIDBڴ澵 */
+    /* 同步和设置iSCSI的DB内存镜像 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_SYNC_ISCSI_DB_INFO);
     idx++;
 
     /* add_b for support 2k iSCSI by luoyilei 00184804 @ 2016-1-12*/
-    /* Ϊ˱°汾XRBΪ׼ҪȷRPCϢע˳*/
+    /* 为了保持新版本以XRB数据为准，需要先发送RPC消息，注意顺序*/
     SET_TASK_ACTION(task, idx, ACTION_CLS_NOTIFY_ISCSI_RECOVER_DB);
     idx++;
     /* add_e for support 2k iSCSI */
@@ -4568,11 +4568,11 @@
     SET_TASK_ACTION(task, idx, ACTION_CLS_NOTIFY_ISCSI_RECOVER_CONF);
     idx++;
 
-    /* ڵiSCSIini name */
+    /* 各节点设置iSCSI的ini name */
     SET_TASK_ACTION(task, idx, ACTION_CLS_SYNC_ISCSI_INI_NAME);
     idx++;
 
-    /* ADM ArrrayDBϢ(ֻмȺϵҪ) */
+    /* 设置ADM Arrray的DB信息(只有集群上电需要) */
     SET_TASK_ACTION(task, idx, ACTION_CLS_SYNC_RMT_ARRAY_DB_INFO);
     idx++;
 
@@ -4580,7 +4580,7 @@
     idx++;
 
 /* BEGIN: Added by r90006280, 2015/12/24   ID:H2*/
-/*CCDB ԣCCDBǰøλڴ*/
+/*CCDB 保电特性，在CCDB开工前设置复位保内存标记*/
     SET_TASK_ACTION(task, idx, ACTION_CLS_SET_MEM_PROTECT_FLAG);
     idx++;
 /* END:   Added by r90006280, 2015/12/24 */
@@ -4591,12 +4591,12 @@
 
     /*modified by x00281454 for AR-0000863494, 2015-02-10,end*/
     /* modified by l00221048 for DTS2015052605611,2015-05-26 begin */
-    /* Qos DBϢ */
+    /* 设置Qos DB信息 */
     //SET_TASK_ACTION(task, idx, ACTION_CLS_NOTIFY_QOS_LOAD_DB_INFO);
     //idx++;
     /* modified by l00221048 for DTS2015052605611,2015-05-26 end */
 
-    /* ֪ͨڵISCSIӿڽ */
+    /* 通知各节点调用ISCSI接口进行重连 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_NOTIFY_ISCSI_CONNECT);
     idx++;
 
@@ -4617,11 +4617,11 @@
     return;
 }
 /**************************************************************************
-     :  ʼϵָTASKֵ
- :  task -- ϵ繫Taskָ
- :  
- ֵ  :  
-     :  
+ 功    能:  初始化上电恢复配置TASK值
+ 输入参数:  task -- 上电公共流程Task指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void initPwrOnRecoverProfileTask(POWER_ON_RECOVERY_PROFILE_TASK_S *task,
                                                                    POWER_ON_TASK_S *parentTask)
@@ -4641,11 +4641,11 @@
     return;
 }
 /**************************************************************************
-     :  ָ
- :  parentTask -- Taskָ
- :  
- ֵ  :  
-     :  
+ 功    能:  恢复配置
+ 输入参数:  parentTask -- 父Task指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void recoverConfAsync(TASK_S *parentTask)
 {
@@ -4654,20 +4654,20 @@
     POWER_ON_TASK_S *pwrTask = NULL;
     POWER_ON_RECOVERY_PROFILE_TASK_S *recoveryTask = NULL;
 
-    /* ӡҪ־ */
+    /* 打印重要函数入口日志 */
     DBG_LogInfo(LOG_ID_147B, "%s: Create recover configure common task.",
                 GET_TASK_NAME(parentTask));
 
-    /* TASKchild numΪ1 */
+    /* 调用子TASK，设置child num为1 */
     SET_ACTION_CHILDNUM(parentTask, 1);
 
-    /* ָõTASK */
+    /* 创建恢复配置的子TASK */
     retVal = CREATE_SYS_TASK((TASK_S**)&recoveryTask,
                              sizeof(POWER_ON_RECOVERY_PROFILE_TASK_S),
                              fillRecoverProfileTaskActions);
     if (RETURN_OK != retVal)
     {
-        /* ӡ־ */
+        /* 打印日志 */
         DBG_LogError(LOG_ID_147C, "%s: Create recover configure common task failed.",
                      GET_TASK_NAME(parentTask));
         TASK_CALL_ACTION_CHILDDONE(parentTask, RETURN_ERROR);
@@ -4678,16 +4678,16 @@
 
     pwrTask = (POWER_ON_TASK_S *)parentTask;
 
-    /* ʼ˽ֶ */
+    /* 初始化私有字段 */
     initPwrOnRecoverProfileTask(recoveryTask, pwrTask);
 
-    /* Task Name */
+    /* 设置Task Name */
     SET_TASK_NAME(baseTask, "RECOVER_CONF");
 
-    /* óɸȼ */
+    /* 设置成高优先级 */
     SET_TASK_PRIORITY_HIGH(baseTask);
 
-    /* parentTaskָ뱣浽taskУԱtaskʱص */
+    /* 将parentTask指针保存到task中，以便该task结束时回调用 */
     SET_PARENT_TASK(baseTask, parentTask);
 
     TASK_CALL_ACTION_START_ASYNC(baseTask);
@@ -4697,22 +4697,22 @@
 }
 
 /**************************************************************************
-     :  PowerOn̵ִв--ָ
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  PowerOn流程的执行步骤--恢复配置
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnRecoverConfigure(TASK_S *task)
 {
     POWER_ON_TASK_S *powerOnTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     powerOnTask = (POWER_ON_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(powerOnTask);
 
     recoverConfAsync(task);
@@ -4721,11 +4721,11 @@
 }
 
 /**************************************************************************
-     :  ϵָTask
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电恢复配置Task结束处理函数
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnRecoveryProfileTaskOver(TASK_S *task)
 {
@@ -4734,23 +4734,23 @@
     POWER_ON_TASK_S *powerOnTask = NULL;
     POWER_ON_RECOVERY_PROFILE_TASK_S *recoveryTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     recoveryTask = (POWER_ON_RECOVERY_PROFILE_TASK_S *)task;
 
-    /* ȡǰִеParent Task */
+    /* 获取当前执行的Parent Task */
     parentTask = GET_PARENT_TASK(task);
     CTRL_UTIL_IF(NULL != parentTask);
     powerOnTask = (POWER_ON_TASK_S *)parentTask;
 
-    /* ½ڵλͼ */
+    /* 更新节点位图至父流程 */
     powerOnTask->pwrBitmap = recoveryTask->pwrBitmap;
     powerOnTask->isolatedBitmap = recoveryTask->isolatedBitmap;
     powerOnTask->rebootBitmap = recoveryTask->rebootBitmap;
     powerOnTask->panicBitmap = recoveryTask->panicBitMap;
 
-    /* ύDB ʱ */
+    /* 子任务中有提交DB ，任务结束时回收 */
     if (NULL != recoveryTask->dbTransHandle)
     {
         DBG_LogInfo(LOG_ID_147D, "%s: Task over and reclaim DB handle.", GET_TASK_NAME(task));
@@ -4758,40 +4758,40 @@
         recoveryTask->dbTransHandle = NULL;
     }
 
-    /* TaskִнϢ */
+    /* 根据整个Task执行结果输出调试信息 */
     retVal = GET_TASK_RESULT(task);
     if (RETURN_OK != retVal)
     {
-        /* ʧԭ򵽸Task */
+        /* 拷贝流程失败原因到父Task */
         LVOS_strncpy(parentTask->TaskFailReason, task->TaskFailReason, MAX_TASK_FAIL_DESC_LEN);
     }
 
     DBG_LogInfo(LOG_ID_147E, "%s: Process return %d.", GET_TASK_NAME(task), retVal);
     TASK_CALL_ACTION_CHILDDONE(parentTask, retVal);
 
-    /*ͷTASK*/
+    /*释放TASK*/
     DESTROY_SYS_TASK(task);
     return RETURN_OK;
 }
 
 /**************************************************************************
-     :  ϵָùTaskִв--֪ͨ־ģ鿪
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电恢复配置公共Task执行步骤--通知日志模块开工
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnLogZoneStartWork(TASK_S *task)
 {
     bool isRecoverPowerOn = B_TRUE;
     POWER_ON_RECOVERY_PROFILE_TASK_S *recoveryTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     recoveryTask = (POWER_ON_RECOVERY_PROFILE_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(recoveryTask);
 
     if(CLUSTER_POWER_ON == recoveryTask->powerOnType)
@@ -4799,37 +4799,37 @@
         isRecoverPowerOn = B_FALSE;
     }
 
-    /* ֪ͨ־ģ鿪*/
+    /* 通知日志模块开工*/
     logZoneStartWorkAsync(task, recoveryTask->pwrBitmap, isRecoverPowerOn);
 
     return RETURN_OK;
 }
 
 /**************************************************************************
-     :  ϵָùTaskִв--֪ͨOMͬʱ
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电恢复配置公共Task执行步骤--通知OM同步时间
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnSyncSysTime(TASK_S *task)
 {
     POWER_ON_RECOVERY_PROFILE_TASK_S *recoveryTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     recoveryTask = (POWER_ON_RECOVERY_PROFILE_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(recoveryTask);
 
-    /* TracePoint start Ⱥ֪ͨϵͳ֪ͨʱͬǰȺλ */
+    /* TracePoint start 集群主通知系统管理通知时间同步前，集群主复位 */
     LVOS_TP_NOPARAM_START(POWER_ON_1_47_40)
     LVOS_TP_END
     /* TracePoint end */
 
-    /* ֪ͨOMͬʱ */
+    /* 通知OM同步时间 */
     notifyOMSyncTime(task);
 
     return RETURN_OK;
@@ -4837,18 +4837,18 @@
 
 /* modified by g90006267 for DTS2014080406736, 2014-8-11 begin */
 /**************************************************************************
-     :  ֪ͨDBĻص
- :  result ص
-            arg ص
- :  
- ֵ  :  
-     :  
+ 功    能:  通知DB开工的回调函数
+ 输入参数:  result 回调结果
+            arg 回调上下文
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void dbPowerOnCallBack(int32_t result, void*arg)
 {
     TASK_S* task = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != arg);
 
     task = (TASK_S*)arg;
@@ -4867,7 +4867,7 @@
     }
     else if (RETURN_NEED_RETRY == result)
     {
-        /* Ĵϵʧܣϵ */
+        /* 可重入的错误，上电失败，尝试重新上电 */
         SYS_TRACE_LOG_ERROR(DBG_LOGID_NEW, "%s: DB power on failed, return need retry result(%d).",
                      GET_TASK_NAME(task), result);
 
@@ -4886,11 +4886,11 @@
 /* modified by g90006267 for DTS2014080406736, 2014-8-11 end */
 
 /**************************************************************************
-     :  ϵָùTaskִв--DB
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电恢复配置公共Task执行步骤--DB开工
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnNotifyDbStartWork(TASK_S *task)
 {
@@ -4901,12 +4901,12 @@
 
     POWER_ON_RECOVERY_PROFILE_TASK_S *recoveryTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     recoveryTask = (POWER_ON_RECOVERY_PROFILE_TASK_S*)task;
 
-    /* ϵڵаDBڵ㣬֪ͨDB */
+    /* 如果上电节点中包含DB节点，则通知DB开工 */
     for (index = 0; index < MAX_CTRL_NODE_NUM; index++)
     {
         if (!CHECK_NODEMAP_BIT_VALID(index, recoveryTask->pwrBitmap))
@@ -4932,10 +4932,10 @@
         return RETURN_OK;
     }
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(recoveryTask);
 
-    /* ϵͣȷDB:B_TRUEʾȺϵ磬B_FALSEʾڵָϵ */
+    /* 根据上电类型，确定DB开工类型:B_TRUE表示集群上电，B_FALSE表示节点恢复上电 */
     if(CLUSTER_POWER_ON == recoveryTask->powerOnType)
     {
         isClsPowerOn = B_TRUE;
@@ -4946,12 +4946,12 @@
     }
 
     /* modified by g90006267 for DTS2014080406736, 2014-8-11 begin */
-    /* Task Child Num */
+    /* 设置Task 的Child Num */
     SET_ACTION_CHILDNUM(task, 1);
 
     DBG_LogInfo(DBG_LOGID_NEW, "%s: DB power on start.", GET_TASK_NAME(task));
 
-    /* ֪ͨDB */
+    /* 通知DB开工 */
     retVal = dbPowerOn(isClsPowerOn, recoveryTask->pwrBitmap, dbPowerOnCallBack, (void*)task);
     if (RETURN_OK != retVal)
     {
@@ -4969,11 +4969,11 @@
 
 
 /**************************************************************************
-     :  ϵָùTaskִв--øλڴ
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电恢复配置公共Task执行步骤--设置复位报内存标记
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnSetMemProtectFlg(TASK_S *task)
 {
@@ -4982,12 +4982,12 @@
 
     POWER_ON_RECOVERY_PROFILE_TASK_S *recoveryTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     recoveryTask = (POWER_ON_RECOVERY_PROFILE_TASK_S*)task;
 
-    /*Դӡ*/
+    /*调试打印*/
     SET_POWER_ON_TRACE(recoveryTask);
 
     DBG_LogInfo(DBG_LOGID_NEW,
@@ -5018,13 +5018,13 @@
 }
 
 
-/*AR-0000736701 CCDB  added by z00276765  2014/6/28 begin */
+/*AR-0000736701 CCDB 开工 added by z00276765  2014/6/28 begin */
 /**************************************************************************
-     :  ϵָùTaskִв--CCDB ص
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电恢复配置公共Task执行步骤--CCDB 开工回调函数
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static void startWorkCCDBCallBack(int32_t ret, void* ctx)
 {
@@ -5051,11 +5051,11 @@
 }
 
 /**************************************************************************
-     :  ϵָùTaskִв--֪ͨCCDB 
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电恢复配置公共Task执行步骤--通知CCDB 开工
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnNotifyCCDBStartWork(TASK_S *task)
 {
@@ -5065,12 +5065,12 @@
     POWER_ON_TASK_S* pwrOnTask = NULL;
     /*modified by x00281454 for AR-0000863494, 2015-02-10,end*/
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     recoveryTask = (POWER_ON_RECOVERY_PROFILE_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(recoveryTask);
 
     SET_ACTION_CHILDNUM(task, 1);
@@ -5079,7 +5079,7 @@
     /*modified by x00281454 for AR-0000863494, 2015-02-10,begin*/
     pwrOnTask = (POWER_ON_TASK_S*)GET_PARENT_TASK(task);
 
-#ifdef WIN32 /*  */
+#ifdef WIN32 /* 仿真适配 */
         startWorkCCDBCallBack(RETURN_OK, (void*)task);
         UNREFERENCE_PARAM(pwrOnTask);
 #else
@@ -5091,23 +5091,23 @@
 
 /* add_b for support 2k iSCSI by luoyilei 00184804 @ 2016-1-12*/
 /**************************************************************************
-     :  ϵָùTaskִв--ָiSCSI
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电恢复配置公共Task执行步骤--恢复iSCSI配置数据
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnNotifyISCSIRecoverDb(TASK_S *task)
 {
     uint32_t traceType = 0;
     POWER_ON_RECOVERY_PROFILE_TASK_S *recoveryTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     recoveryTask = (POWER_ON_RECOVERY_PROFILE_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(recoveryTask);
 
     if(CLUSTER_POWER_ON == recoveryTask->powerOnType)
@@ -5130,22 +5130,22 @@
 /* add_e for support 2k iSCSI */
 
 /**************************************************************************
-     :  ϵָùTaskִв--ָiSCSI
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电恢复配置公共Task执行步骤--恢复iSCSI配置数据
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnNotifyISCSIRecoverConf(TASK_S *task)
 {
     POWER_ON_RECOVERY_PROFILE_TASK_S *recoveryTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     recoveryTask = (POWER_ON_RECOVERY_PROFILE_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(recoveryTask);
 
     SET_ACTION_CHILDNUM(task, 1);
@@ -5155,14 +5155,14 @@
     return RETURN_OK;
 }
 
-/*AR-0000736701 CCDB  added by z00276765  2015/6/28end*/
+/*AR-0000736701 CCDB 开工 added by z00276765  2015/6/28end*/
 
 /**************************************************************************
-     :  ǿݵĻص
- :
- :  
-   ֵ:
-     :  
+ 功    能:  强制清理盘数据的回调函数
+ 输入参数:
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 static void dataResetForceClearDiskCb(void* arg, int32_t result)
 {
@@ -5178,29 +5178,29 @@
 }
 
 /**************************************************************************
-     :  ֪ͨBDM̺ǰ̷
- :
- :  
-   ֵ:
-     :  
+ 功    能:  通知BDM清理保险箱盘和前四盘分区
+ 输入参数:
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 static int32_t pwrOnFactoryDataResetClearDisk(TASK_S *task)
 {
     POWER_ON_SELF_CHECK_TASK_S *pwrTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     pwrTask = (POWER_ON_SELF_CHECK_TASK_S*)task;
 
-    /* ָϵ粻漰廷 */
+    /* 恢复上电不涉及清环境 */
     if (NODE_RECOVER_POWER_ON == pwrTask->powerOnType)
     {
         TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(task, RETURN_OK);
         return RETURN_OK;
     }
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(pwrTask);
 
     dataResetForceClearDisk(pwrTask->pwrBitmap, dataResetForceClearDiskCb, task);
@@ -5209,12 +5209,12 @@
 }
 
 /**************************************************************************
-     :  ϵָϵ磬ǷҪִ
- :  task -- ȺϵָTaskָ
- :  
- ֵ  :  RETURN_OK          
-            RETURN_ERROR       ʧ
-     :
+ 功    能:  上电或恢复上电，检查流程是否需要继续执行
+ 输入参数:  task -- 集群上电恢复配置Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK          流程正常进行
+            RETURN_ERROR       流程失败
+ 其 他   :
 **************************************************************************/
 int32_t checkProcessNeedGo(POWER_ON_RECOVERY_PROFILE_TASK_S *task)
 {
@@ -5237,13 +5237,13 @@
 }
 
 /**************************************************************************
-     :  ģй̼ͬĴص
- :  arg -- ص
-            rebootBitmap -- ҪĽڵλͼ
-            failBitmap --  ʧܣҪĽڵλͼ
- :  
- ֵ  :
-     :  
+ 功    能:  升级模块进行固件同步的处理结果回调函数
+ 输入参数:  arg -- 回调上下文
+            rebootBitmap -- 需要重启的节点位图
+            failBitmap --  升级失败，需要隔离的节点位图
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 void syncFwResultCallback(void *arg, int32_t result,
                           uint32_t rebootBitmap, uint32_t failBitmap)
@@ -5254,20 +5254,20 @@
     int32_t retVal = RETURN_ERROR;
     nid_t   nidIndex = 0;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != arg);
 
     pwrTask = (POWER_ON_RECOVERY_PROFILE_TASK_S*)arg;
     baseTask = &(pwrTask->baseTask);
 
-    /* TPעʧܽڵλͼ */
+    /* 增加TP，注入失败节点位图 */
     LVOS_TP_START(POWER_ON_1_47_38, &failBitmap)
     LVOS_TP_END
 
     LVOS_TP_START(POWER_ON_1_47_75, &rebootBitmap)
     LVOS_TP_END
 
-    /* ӡ־ */
+    /* 打印日志 */
     DBG_LogInfo(LOG_ID_1491,
                 "%s: Upgrade sync fw callback return (reboot bitmap %u, isolet bitmap %u).",
                 GET_TASK_NAME(baseTask), rebootBitmap, failBitmap);
@@ -5276,37 +5276,37 @@
     {
         SMLOG_TRACE_ERROR_RSP(SM_SYS_CLS_SYNC_FW_FAIL, "UPGRADE",
                     "%s: Upgrade sync fw failed, ret(%d).", GET_TASK_NAME(baseTask), result);
-        /* DTS:123456789 modify by lwx207050 2015-04-07 begin ϵ */
+        /* DTS:123456789 modify by lwx207050 2015-04-07 begin 上电错误码 */
         TASK_CALL_ACTION_CHILDDONE(baseTask, SYS_ERROR_PWRON_NOTIFY_UPGRADE_SYNC_FW);
-        /* DTS:123456789 modify by lwx207050 2015-04-07 end ϵ */
+        /* DTS:123456789 modify by lwx207050 2015-04-07 end 上电错误码 */
         return;
     }
 
-    /* reboot ڵλͼ */
+    /* 增加reboot 节点位图 */
     nodeMap = pwrTask->rebootBitmap;
     pwrTask->rebootBitmap = nodeMap |rebootBitmap;
     pwrTask->planRebootBitMap |= rebootBitmap;
 
     if(0 != rebootBitmap)
     {
-        /* ӡϢ */
+        /* 打印调试描述信息 */
         SMLOG_TRACE_WARN_RSP(SM_SYS_CLS_SYNC_FW_FAIL, "UPGRADE",
                     "%s: Upgrade sync fw need reboot nodes(bitmap %u).", GET_TASK_NAME(baseTask), rebootBitmap);
     }
 
-    /* ̼ͬʧܵĽڵҪpanicλ */
+    /* 同步固件失败的节点需要置panic复位 */
     nodeMap = pwrTask->panicBitMap;
     pwrTask->panicBitMap = nodeMap | failBitmap;
     DBG_LogInfo(LOG_ID_1493, "%s: Nodes(bitmap 0x%x) need panic reset.",
                 GET_TASK_NAME(baseTask), failBitmap);
 
-    /* Ӹڵλͼ */
+    /* 增加隔离节点位图 */
     nodeMap = pwrTask->isolatedBitmap;
     pwrTask->isolatedBitmap = nodeMap | failBitmap;
 
     if(0 != failBitmap)
     {
-        /* ӡϢ */
+        /* 打印调试描述信息 */
         SMLOG_TRACE_WARN_RSP(SM_SYS_CLS_SYNC_FW_FAIL, "UPGRADE",
                     "%s: Upgrade sync fw failed(bitmap %u).", GET_TASK_NAME(baseTask), failBitmap);
 
@@ -5321,13 +5321,13 @@
         /* modified by g90006267 for DTS2015042102849, 2015-04-20 begin */
     }
 
-    /* reboot ڵ㣬ϵڵλͼ޳ */
+    /* 将隔离和reboot 节点，从上电节点位图中剔除 */
     nodeMap = pwrTask->pwrBitmap;
     pwrTask->pwrBitmap = nodeMap & (~ (rebootBitmap | failBitmap));
 
-    /* жִܷ */
+    /* 判断流程能否继续执行 */
     retVal = checkProcessNeedGo(pwrTask);
-	/* DTS2015040908588 modify by lwx207050 2015-04-07 begin ϵ */
+	/* DTS2015040908588 modify by lwx207050 2015-04-07 begin 上电错误码 */
     LVOS_TP_START(POWER_ON_1_47_73, &retVal)
     LVOS_TP_END
 
@@ -5336,18 +5336,18 @@
         TASK_CALL_ACTION_CHILDDONE(baseTask, SYS_ERROR_PWRON_NOTIFY_UPGRADE_SYNC_FW);
         return;
     }
-    /* DTS2015040908588 modify by lwx207050 2015-04-07 end ϵ */
+    /* DTS2015040908588 modify by lwx207050 2015-04-07 end 上电错误码 */
 
     TASK_CALL_ACTION_CHILDDONE(baseTask, RETURN_OK);
     return;
 }
 
 /**************************************************************************
-     :  ϵָùTaskִв--֪ͨģ̼ͬ
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电恢复配置公共Task执行步骤--通知升级模块同步固件
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnNotifyUpgradeSyncFw(TASK_S *task)
 {
@@ -5355,24 +5355,24 @@
     POWER_ON_RECOVERY_PROFILE_TASK_S *recoveryTask = NULL;
     int32_t retVal = RETURN_ERROR;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     recoveryTask = (POWER_ON_RECOVERY_PROFILE_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(recoveryTask);
 
-    /* child numΪ1 */
+    /* 设置child num为1 */
     SET_ACTION_CHILDNUM(task, 1);
 
-    /* ֪ͨģй̼ͬ */
-    /* Ⱥϵ */
+    /* 通知升级模块进行固件同步 */
+    /* 集群上电 */
 
     if (CLUSTER_POWER_ON == recoveryTask->powerOnType)
     {
         /* modified by g90006267 for DTS2014081204803, 2014-8-12 begin */
-        /* ϵͳλǶʧ */
+        /* 解决在线升级系统掉电或复位禁配标记丢失的问题 */
         if (UPGRADE_GetUpgradeFlag())
         {
             DBG_LogInfo(DBG_LOGID_NEW,
@@ -5395,7 +5395,7 @@
         UPGRADE_StartSyncSysFlow(syncFwResultCallback, task,
                                  CLUSTER_POWER_SYNC_FW, recoveryTask->pwrBitmap);
     }
-    /* ָϵ */
+    /* 恢复上电 */
     else
     {
         DBG_LogInfo(LOG_ID_1495,"%s: Node recover power on and upgrade start sync fw.",
@@ -5412,11 +5412,11 @@
 
 /* DTS:DTS2015070911969 modify by lwx207050 2015-07-9 begin */
 /**************************************************************************
-     :  üBBU״̬ı־
- :  bool checkFlag  -   Ҫõ״̬
- :  
-   ֵ:  
-     :
+ 功    能:  设置检查BBU状态的标志
+ 输入参数:  bool checkFlag  -   要设置的状态
+ 输出参数:  无
+ 返 回 值:  无
+ 其    他:
 **************************************************************************/
 void setPwrOnCheckBbuFlag(bool checkFlag)
 {
@@ -5428,11 +5428,11 @@
 /* DTS:DTS2015070911969 modify by lwx207050 2015-07-9 end */
 
 /**************************************************************************
-     :  ÿڵȡBBUı
- :  TASK_S* task
- :  
-   ֵ:  
-     :
+ 功    能:  从每个节点获取BBU的备电情况
+ 输入参数:  TASK_S* task
+ 输出参数:  无
+ 返 回 值:  无
+ 其    他:
 **************************************************************************/
 int32_t getBBuPower(TASK_S* task)
 {
@@ -5449,7 +5449,7 @@
         SET_POWER_ON_TRACE(checkBbuTask);
     }
 
-    //·BBU
+    //下发命令，不进行BBU检测
     if(!g_checkBbuFlag)
     {
         SET_GOTO_TASK_OVER_FLAG(task,B_TRUE);
@@ -5473,11 +5473,11 @@
 }
 
 /**************************************************************************
-     :  ȡBBUıʱ
- :  TASK_S* task
- :  
-   ֵ:  
-     :
+ 功    能:  获取BBU的备电时间
+ 输入参数:  TASK_S* task
+ 输出参数:  无
+ 返 回 值:  无
+ 其    他:
 **************************************************************************/
 int32_t getBbuCheckTime(TASK_S* task)
 {
@@ -5510,11 +5510,11 @@
 }
 
 /**************************************************************************
-     :  ȺϵBBU TASK_OVER
- :  TASK_S* task
- :  
-   ֵ:  
-     :
+ 功    能:  集群上电检查BBU TASK_OVER处理函数
+ 输入参数:  TASK_S* task
+ 输出参数:  无
+ 返 回 值:  无
+ 其    他:
 **************************************************************************/
 int32_t pwrOnCheckBbuTaskOver(TASK_S* task)
 {
@@ -5544,7 +5544,7 @@
         
     if((RETURN_OK==retVal)&&(0!=g_loopCheckBbuStatusCnt))
     {
-    /*BBUӡ*/
+    /*所有BBU电量充满后打印充满*/
       SET_SYS_TRACE_DESC_INFO(SYS_TRACE_TYPE_POWER_ON,
                      "All BBU power are full(%04d-%02d-%02d/%02d:%02d:%02d).",
                      strTime.iYear,strTime.iMonth,strTime.iMDay,strTime.iHour,strTime.iMinute,strTime.iSecond);
@@ -5561,11 +5561,11 @@
             SMLOG_TRACE_ERROR_RSP(SM_SYS_CLS_CHECK_BBU_TIME_OUT, "EAM",
                                   "CLS_POWER_ON: Wait for nodes(bitmap %u) bbu charging time out.", checkBbuTask->getBbuTimeBitMap);
 
-            /* DTSDTS2015073104703 modify by lwx207050 2015-07-31 begin */
+            /* DTS：DTS2015073104703 modify by lwx207050 2015-07-31 begin */
             (void)ALM_SendInnerAlarm(SYS_ERROR_PWRON_BBU_NOT_ENOUGH_PARAM, checkBbuTask->getBbuTimeBitMap);
-            /* DTSDTS2015073104703 modify by lwx207050 2015-07-31 end */
+            /* DTS：DTS2015073104703 modify by lwx207050 2015-07-31 end */
             
-            //¼ϵʧϢ
+            //记录上电失败信息
             recordFailedWithFrameAndNodeByPwrFailed(checkBbuTask->checkBbuBitMap, checkBbuTask->getBbuTimeBitMap, SYS_ERROR_PWRON_BBU_NOT_ENOUGH_PARAM);
 
             /* modified by c00281451 for DTS2014090401426, 2014-9-22 begin*/
@@ -5576,17 +5576,17 @@
         }
         else
         {
-            /* ״ʱӡϢ */
+            /* 首次重试时打印调试信息 */
             if (0 == g_loopCheckBbuStatusCnt++)
             {
                 SMLOG_TRACE_WARN(SM_SYS_CLS_CHECK_BBU_TIME_OUT, "BBU_CHECK: Nodes(bitmap %u) bbu is charging.", checkBbuTask->getBbuTimeBitMap);
-                 /*ϵһֱڼBBUʱʾûִdmi.sh showbbustatus鿴BBU״̬*/
+                 /*上电一直卡在检查BBU时，提示用户执行dmi.sh showbbustatus查看BBU具体状态*/
                 SET_SYS_TRACE_DESC_INFO(SYS_TRACE_TYPE_POWER_ON,
                      "Nodes (bitmap %u) BBU are charging(%04d-%02d-%02d/%02d:%02d:%02d),and exec cmd(minisystem>dmi.sh showbbustatus) to achieve bbu info."
                       ,checkBbuTask->getBbuTimeBitMap
                       ,strTime.iYear,strTime.iMonth,strTime.iMDay,strTime.iHour,strTime.iMinute,strTime.iSecond);
             }
-            /* BBUĺʱΪ޸мʱÿӣ˳޸ʱ(4*30s) */
+            /* 决策BBU充电的耗时不作为修复中计时，每充电两分钟，顺延修复中延时(4*30s)分钟 */
             if(g_loopCheckBbuStatusCnt % 4 == 0)
             {
                 delayResetAlarmSuppressionNodeTimerInfo(checkBbuTask->getBbuTimeBitMap);
@@ -5609,11 +5609,11 @@
 }
 
 /**************************************************************************
-     :  BBU״̬TASKACTION
- :  TASK_S* task 
- :  
-   ֵ:  
-     :
+ 功    能:  填充检查BBU状态TASK的ACTION
+ 输入参数:  TASK_S* task 
+ 输出参数:  无
+ 返 回 值:  无
+ 其    他:
 **************************************************************************/
 void fillCheckBbuTaskAction(TASK_S *task)
 {
@@ -5634,11 +5634,11 @@
 }
 
 /**************************************************************************
-     :  BBU״̬TASK
- :  TASK_S* parentTask  -   TASK
- :  
-   ֵ:  
-     :
+ 功    能:  检查BBU状态TASK
+ 输入参数:  TASK_S* parentTask  -   父TASK
+ 输出参数:  无
+ 返 回 值:  无
+ 其    他:
 **************************************************************************/
 int32_t pwrOnCheckBbuTask(TASK_S *parentTask)
 {
@@ -5679,24 +5679,24 @@
 }
 
 /**************************************************************************
-     :  ϵʱBBU״̬
- :  TASK_S *task    - TASKָ
- :  
-   ֵ:  RETURN_OK       -   ִгɹ
-            RETURN_ERROR    -   ִʧ
-     :
+ 功    能:  上电时检查BBU状态
+ 输入参数:  TASK_S *task    - TASK指针
+ 输出参数:  无
+ 返 回 值:  RETURN_OK       -   执行成功
+            RETURN_ERROR    -   执行失败
+ 其    他:
 **************************************************************************/
 static int32_t pwrOnCheckBbuStatus(TASK_S *task)
 {
     int32_t retVal = RETURN_ERROR;
     POWER_ON_RECOVERY_PROFILE_TASK_S *recoveryTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     recoveryTask = (POWER_ON_RECOVERY_PROFILE_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(recoveryTask);
 
     if(NODE_RECOVER_POWER_ON == recoveryTask->powerOnType)
@@ -5706,7 +5706,7 @@
         return RETURN_OK;
     }
 
-    /* עǷBBU״̬TP */
+    /* 注入是否检查BBU状态的TP */
     LVOS_TP_START(POWER_ON_1_47_45, &(recoveryTask->checkBbuBitmap))
     LVOS_TP_END
 
@@ -5740,106 +5740,106 @@
 
 
 /**************************************************************************
-     :  ϵָùTaskִв--iSCSIDBϢ
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电恢复配置公共Task执行步骤--设置iSCSI的DB信息
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnSyncIscsiDbInfo(TASK_S *task)
 {
     POWER_ON_RECOVERY_PROFILE_TASK_S *recoveryTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     recoveryTask = (POWER_ON_RECOVERY_PROFILE_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(recoveryTask);
 
-    /* iSCSIҪDBϢ iSCSIDBŵEMPά EMPһ */
+    /* 设置iSCSI需要的DB信息 iSCSI的DB放到EMP维护 所以与EMP操作放在一起 */
     noitfyEmpPowerOnReq(task, recoveryTask->pwrBitmap, CLS_TO_EMP_SYNC_ISCSI_DB_INFO);
 
     return RETURN_OK;
 }
 
 /**************************************************************************
-     :  ϵָùTaskִв--ڵiSCSIini name
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电恢复配置公共Task执行步骤--各节点设置iSCSI的ini name
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnSyncIscsiIniName(TASK_S *task)
 {
     POWER_ON_RECOVERY_PROFILE_TASK_S *recoveryTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     recoveryTask = (POWER_ON_RECOVERY_PROFILE_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(recoveryTask);
 
-    /* iSCSI iSCSIDBŵEMPά EMPһ */
+    /* 设置iSCSI启动器名称 iSCSI的DB放到EMP维护 所以与EMP操作放在一起 */
     noitfyEmpPowerOnReq(task, recoveryTask->pwrBitmap, CLS_TO_EMP_SYNC_ISCSI_INI_NAME);
 
     return RETURN_OK;
 }
 
 /**************************************************************************
-     :  ϵָùTaskִв--֪ͨiSCSI
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电恢复配置公共Task执行步骤--通知iSCSI重连
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnNotifyIscsiConnect(TASK_S *task)
 {
     POWER_ON_RECOVERY_PROFILE_TASK_S *recoveryTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     recoveryTask = (POWER_ON_RECOVERY_PROFILE_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(recoveryTask);
 
-    /* ȡiSCSIҪDBϢϢڵִӲ */
+    /* 获取iSCSI需要的DB信息，并发送消息到各个节点执行连接操作 */
     powerOnNoitfyIscsiConnect(task);
 
     return RETURN_OK;
 }
 
-/* begin r00179697@2013.12.16 칹ϢDB */
+/* begin r00179697@2013.12.16 异构阵列信息保存DB */
 /**************************************************************************
-   : pwrOnSyncRmtArrayDbInfo
-     : ϵָDB칹Ϣ
- : TASK_S *task  Taskָ
- : 
-   ֵ: RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     : 
+ 函 数 名: pwrOnSyncRmtArrayDbInfo
+ 功    能: 上电恢复DB中异构阵列信息
+ 输入参数: TASK_S *task  流程Task指针
+ 输出参数: 无
+ 返 回 值: RETURN_OK:成功;RETURN_ERROR:失败
+ 其    它: 无
 **************************************************************************/
 static int32_t pwrOnSyncRmtArrayDbInfo(TASK_S *task)
 {
-    /*modify by l90004130 ADM DB20140329 begin */
+    /*modify by l90004130 ADM DB解耦20140329 begin */
     //uint32_t bufferLen = 0;
     //void *arrayBuffer = NULL;
-    /*modify by l90004130 ADM DB20140329 begin */
+    /*modify by l90004130 ADM DB解耦20140329 begin */
     POWER_ON_RECOVERY_PROFILE_TASK_S *recoveryTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     recoveryTask = (POWER_ON_RECOVERY_PROFILE_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(recoveryTask);
 
-    /* ָϵ粻ûȡȺLDB Ϣ */
+    /* 恢复上电不用获取集群主的LDB 信息 */
     if (NODE_RECOVER_POWER_ON == recoveryTask->powerOnType)
     {
         DBG_LogInfo(LOG_ID_180F, "%s: The node that recover power on does not need sync DB info.", GET_TASK_NAME(task));
@@ -5847,32 +5847,32 @@
         return RETURN_OK;
     }
 
-    /* Task Child Num */
+    /* 设置Task 的Child Num */
     SET_ACTION_CHILDNUM(task, 1);
 
-     /* ֪ͨADMͬDBϢ */
+     /* 通知ADM同步DB信息 */
     admLoadDbToAllCtrl(defaultProcCallBack1, (void *)task);
     return RETURN_OK;
 }
-/* end r00179697@2013.12.16 칹ϢDB */
+/* end r00179697@2013.12.16 异构阵列信息保存DB */
 
 /**************************************************************************
-     :  ϵָùTaskִв--Qos DBϢ
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电恢复配置公共Task执行步骤--设置Qos DB信息
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnNotifyQosLoadDbInfo(TASK_S *task)
 {
     POWER_ON_RECOVERY_PROFILE_TASK_S *recoveryTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     recoveryTask = (POWER_ON_RECOVERY_PROFILE_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(recoveryTask);
 
     SET_ACTION_CHILDNUM(task, 1);
@@ -5883,11 +5883,11 @@
 }
 
 /**************************************************************************
-     :  ϵ(Ⱥϵ硢ָϵ)ϵͳNormalشTaskĲԲ
- :  task -- Taskָ
- :  
- ֵ  :  
-     :  
+ 功    能:  填充上电(集群上电、恢复上电)系统Normal相关处理公共子Task的策略步骤
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void fillSystemNormalHandleActions(TASK_S *task)
 {
@@ -5898,46 +5898,46 @@
     SET_TASK_ACTION(task, idx, ACTION_CLS_NORMAL_HANDLE_TASK_OVER);
     idx++;
 
-    /* ֪ͨģ */
+    /* 通知驱动所有模块加载 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_SET_LOAD_FLAG);
     idx++;
 
-    /* OS */
+    /* 继续加载OS处理 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_CONTINUE_LOAD_OS);
     idx++;
 
-    /* ¼ȺϢ(ýڵ㡢ϵͳ״̬ΪNormal) */
+    /* 更新集群信息(设置节点、系统状态为Normal) */
     SET_TASK_ACTION(task, idx, ACTION_CLS_UPDATE_CLUSTER_INFO);
     idx++;
 
-    /* FRUϢ, ƵOBJ˴
+    /* 更新FRU信息, 移到OBJ端处理
     SET_TASK_ACTION(task, idx, ACTION_CLS_UPDATE_FRU_INFO);
     idx++; */
 
     /* DTS:DTS2015070911969 modify by lwx207050 2015-07-9 begin */
-    /* رϵͳ */
+    /* 关闭系统启动灯 */
     //SET_TASK_ACTION(task, idx, ACTION_CLS_CLOSE_LIGHT);
     //idx++;
     /* DTS:DTS2015070911969 modify by lwx207050 2015-07-9 end */
 
-    /**/
+    /*结束*/
     SET_TASK_ACTION(task, idx, ACTION_OPCODE_BUTT);
 
     return;
 }
 
 /**************************************************************************
-     :  ʼϵɨβTASKֵ
- :  task -- ϵ繫Taskָ
- :  
- ֵ  :  
-     :  
+ 功    能:  初始化上电扫尾TASK值
+ 输入参数:  task -- 上电公共流程Task指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void initPwrOnRoundOffTask(POWER_ON_ROUND_OFF_TASK_S *task,
                                                         POWER_ON_TASK_S *pwrTask)
 {
 
-    /* TaskԱʼ */
+    /* Task成员变量初始化 */
     task->powerOnType = pwrTask->powerOnType;
     task->pwrBitmap = pwrTask->pwrBitmap;
     task->normalBitmap = pwrTask->normalBitmap;
@@ -5948,13 +5948,13 @@
 
 
 /**************************************************************************
-     :  ϵͳNormalش
- :  parentTask -- Taskָ
-            nodeBitmap -- ڵλͼ
-            powerOnType -- ϵ
- :  
- ֵ  :  
-     :  
+ 功    能:  系统Normal相关处理
+ 输入参数:  parentTask -- 父Task指针
+            nodeBitmap -- 节点位图
+            powerOnType -- 上电类型
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void systemNormalHandleAsync(TASK_S *parentTask)
 {
@@ -5965,19 +5965,19 @@
 
     powerTask = (POWER_ON_TASK_S *)parentTask;
 
-    /* ӡҪ־ */
+    /* 打印重要函数入口日志 */
     DBG_LogInfo(LOG_ID_149D, "%s: Create system normal handle common task.", GET_TASK_NAME(parentTask));
 
-    /* TASKchild numΪ1 */
+    /* 调用子TASK，设置child num为1 */
     SET_ACTION_CHILDNUM(parentTask, 1);
 
-    /* ϵͳNormalشTASK */
+    /* 创建系统Normal相关处理的子TASK */
     retVal = CREATE_SYS_TASK((TASK_S**)&pwrTask,
                              sizeof(POWER_ON_ROUND_OFF_TASK_S),
                              fillSystemNormalHandleActions);
     if (RETURN_OK != retVal)
     {
-        /* ӡ־ */
+        /* 打印日志 */
         DBG_LogError(LOG_ID_149E, "%s: Create system normal common task failed.",
                      GET_TASK_NAME(parentTask));
         TASK_CALL_ACTION_CHILDDONE(parentTask, RETURN_ERROR);
@@ -5986,16 +5986,16 @@
 
     baseTask = &(pwrTask->baseTask);
 
-    /* ʼ˽ֶ */
+    /* 初始化私有字段 */
     initPwrOnRoundOffTask(pwrTask, powerTask);
 
-    /* Task Name */
+    /* 设置Task Name */
     SET_TASK_NAME(baseTask, "SYSTEM_NORMAL_HANDLE");
 
-    /* óɸȼ */
+    /* 设置成高优先级 */
     SET_TASK_PRIORITY_HIGH(baseTask);
 
-    /* parentTaskָ뱣浽taskУԱtaskʱص */
+    /* 将parentTask指针保存到task中，以便该task结束时回调用 */
     SET_PARENT_TASK(baseTask, parentTask);
 
     TASK_CALL_ACTION_START_ASYNC(baseTask);
@@ -6004,27 +6004,27 @@
 }
 
 /**************************************************************************
-     :  PowerOn̵ִв--ϵͳNormalش
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  PowerOn流程的执行步骤--系统Normal相关处理
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnSystemNormalHandle(TASK_S *task)
 {
     POWER_ON_TASK_S *powerOnTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     powerOnTask = (POWER_ON_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(powerOnTask);
 
     systemNormalHandleAsync(task);
 
-    /* ڼȺͬnormalϢнڵǰȺλ */
+    /* 在集群主同步normal信息到所有节点前，集群主复位。 */
     LVOS_TP_NOPARAM_START(NODE_ONLINE_RECOVER_1_47_18)
     LVOS_TP_END
 
@@ -6034,33 +6034,33 @@
 
 
 /**************************************************************************
-     :  ϵɨβTask
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电扫尾Task结束处理函数
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnRoundOffTaskOver(TASK_S *task)
 {
     int32_t retVal = RETURN_ERROR;
     TASK_S * parentTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
 
-    /* ȡǰִеParent Task */
+    /* 获取当前执行的Parent Task */
     parentTask = GET_PARENT_TASK(task);
     CTRL_UTIL_IF(NULL != parentTask);
 
-    /* ϵϱfru¼ƵOBJ˴ */
+    /* 上电上报fru事件，移到OBJ端处理 */
     //pwrOnRecoveryNotifyFRUEvent(task);
 
-    /* TaskִнϢ */
+    /* 根据整个Task执行结果输出调试信息 */
     retVal = GET_TASK_RESULT(task);
     if (RETURN_OK != retVal)
     {
-        /* ʧԭ򵽸Task */
+        /* 拷贝流程失败原因到父Task */
         LVOS_strncpy(parentTask->TaskFailReason, task->TaskFailReason, MAX_TASK_FAIL_DESC_LEN);
     }
 
@@ -6071,58 +6071,58 @@
     DBG_LogInfo(LOG_ID_14A1, "%s: Process return %d.", GET_TASK_NAME(task), retVal);
     TASK_CALL_ACTION_CHILDDONE(parentTask, retVal);
 
-    /*ͷTASK*/
+    /*释放TASK*/
     DESTROY_SYS_TASK(task);
     return RETURN_OK;
 }
 
 /**************************************************************************
-     :  ϵ̴Taskִв--֪ͨģ
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电后继处理公共Task执行步骤--通知驱动所有模块加载
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnSetLoadFlag(TASK_S *task)
 {
     POWER_ON_ROUND_OFF_TASK_S *pwrTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     pwrTask = (POWER_ON_ROUND_OFF_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(pwrTask);
 
-    /* ֪ͨģ */
+    /* 通知驱动所有模块加载 */
     noitfyEmpPowerOnReq(task, pwrTask->pwrBitmap, CLS_TO_EMP_SET_ALL_LOAD_FLAG);
 
     return RETURN_OK;
 }
 
 /**************************************************************************
-     :  ֪ͨڵOS
- :  task -- Taskָ
-            nodeBitmap -- ڵλͼ
- :  
- ֵ  :  
-     :  
+ 功    能:  通知节点继续加载OS
+ 输入参数:  task -- 流程Task指针
+            nodeBitmap -- 节点位图
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void notifyContinueLoadOsAsync(TASK_S *task, uint32_t nodeBitmap)
 {
     int32_t retVal = RETURN_ERROR;
     SYS_RPC_PARAM_S sysRpcParam;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF_TASK_RETURN((0 != nodeBitmap), task, ACTION_CALL_TYPE_DONE, RETURN_ERROR);
 
-    /* RPC */
+    /* 填充RPC参数 */
     SET_SYS_RPC_PARAM(SYS_RPC_CLS_CONTINUE_LOAD_OS, nodeBitmap, NULL, 0,
                       SYS_SEND_POWER_ON_MSG_TIME_OUT, &sysRpcParam);
 
 
-    /* ֪ͨڵOS */
+    /* 通知节点继续加载OS */
     retVal = START_SYS_RPC_TASK(&sysRpcParam, task);
     if (RETURN_OK != retVal)
     {
@@ -6141,38 +6141,38 @@
 }
 
 /**************************************************************************
-     :  ϵϵͳNormalشTaskִв--OS
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电系统Normal相关处理公共Task执行步骤--继续加载OS处理
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnContinueLoadOs(TASK_S *task)
 {
     POWER_ON_ROUND_OFF_TASK_S *pwrTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     pwrTask = (POWER_ON_ROUND_OFF_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(pwrTask);
 
-    /* ֪ͨڵOS */
+    /* 通知节点继续加载OS */
     notifyContinueLoadOsAsync(task, pwrTask->pwrBitmap);
 
     return RETURN_OK;
 }
-#if DESC("C30")
-/* h00281923 ޸ڽڵ,2014-12-27 begin */
+#if DESC("C30策略")
+/* h00281923 持续镜像修改引擎内节点数量,2014-12-27 begin */
 /**************************************************************************
-     : ϵϵͳNormalشTaskִв--Ч
- :  task  
- :  
- ֵ  :  RETURN_OK     ACTIONִгɹ
-            RETURN_ERROR  ACTIONִʧ
-     :
+ 功    能: 上电系统Normal相关处理公共Task执行步骤--设置脏数据有效性
+ 输入参数:  task  处理流程
+ 输出参数:  无
+ 返回值  :  RETURN_OK     ACTION执行成功
+            RETURN_ERROR  ACTION执行失败
+ 其 他   :
 **************************************************************************/
 static int32_t clsPwrOnSetDirtyDataFlag(TASK_S *task)
 {
@@ -6227,7 +6227,7 @@
         sendMap = 0;
         LVOS_set_bit(nodeId, (void*)&sendMap);
 
-        /* ʼЧ־ */
+        /* 开始处理设置脏数据有效标志 */
         retVal = START_RPC_CALL(SYS_RPC_CLS_SET_DIRTY_DATA_FLAG,
                                                   sendMap,
                                                   &setDirtyInfo,
@@ -6248,14 +6248,14 @@
 
     return RETURN_OK;
 }
-/* h00281923 ޸ڽڵ,2014-12-27 begin */
+/* h00281923 持续镜像修改引擎内节点数量,2014-12-27 begin */
 #endif
 /**************************************************************************
-     :  ϵϵͳNormalشTaskִв--¼ȺϢ
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电系统Normal相关处理公共Task执行步骤--更新集群信息
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnUpdateClusterInfo(TASK_S *task)
 {
@@ -6264,15 +6264,15 @@
     SYS_NODE_STATUS_E nodeStatus = SYS_NODE_STATUS_BUTT;
     POWER_ON_ROUND_OFF_TASK_S*pwrTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     pwrTask = (POWER_ON_ROUND_OFF_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(pwrTask);
 
-    /* ýڵ״̬ΪNormal */
+    /* 设置节点状态为Normal */
     for (i = 0; i < MAX_CTRL_NODE_NUM; i++)
     {
         if (!CHECK_NODEMAP_BIT_VALID(i, pwrTask->pwrBitmap))
@@ -6292,7 +6292,7 @@
         }
     }
 
-    /* üȺģʽ״̬ */
+    /* 设置集群工作模式和状态 */
     if (CLUSTER_POWER_ON == pwrTask->powerOnType)
     {
         setClusterMode(SYS_CLUSTER_MODE_NORMAL);
@@ -6306,16 +6306,16 @@
     LVOS_TP_NOPARAM_START(PEER_ONLINE_RECOVER_POWER_ON_1_47_1)
     LVOS_TP_END
 
-    /* Ⱥûָϵڵ״̬ΪNormalͬϢнڵǰһͨڵ㸴λ */
+    /* 集群主设置恢复上电节点状态为Normal，并同步信息到所有节点前，一个普通节点复位。 */
     LVOS_TP_NOPARAM_START(PEER_OFFLINE_RECOVER_POWER_ON_1_47_6)
     LVOS_TP_END
 
-    /* ͬϢ */
+    /* 同步信息 */
     getAliveNodeBitMapInfo(&sendBitmap);
 
     sendClusterInfoAsyn(task, sendBitmap, SYS_SEND_POWER_ON_MSG_TIME_OUT);
 
-    /* Ⱥûָϵڵ״̬ΪNormalͬϢнڵʱȺλ */
+    /* 集群主设置恢复上电节点状态为Normal，并同步信息到所有节点时，集群主复位。 */
     LVOS_TP_NOPARAM_START(PEER_OFFLINE_RECOVER_POWER_ON_1_47_5)
     LVOS_TP_END
 
@@ -6349,20 +6349,20 @@
 }
 
 /**************************************************************************
-     :  ϵϵͳNormalشTaskִв--֪ͨOMʱ
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :
- 1. 2800 V3سЧ
- 2. ûҪָOMʱ󷵻
- 3. ҪָOM ָص
+ 功    能:  上电系统Normal相关处理公共Task执行步骤--通知OM启动定时备份
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :
+ 1. 仅在2800 V3单控场景生效，
+ 2. 如果没有数据需要恢复，OM启动定时器后返回
+ 3. 如果有配置数据需要恢复，OM 恢复后回调结果
 **************************************************************************/
 static int32_t pwrOnNotifyOmStartBackupCfg(TASK_S *task)
 {
     POWER_ON_ROUND_OFF_TASK_S*pwrTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     pwrTask = (POWER_ON_ROUND_OFF_TASK_S*)task;
@@ -6372,35 +6372,35 @@
         return RETURN_OK;
     }
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(pwrTask);
 
     notifyOmStartBackupCfgData(pwrOnNotifyOmStartBackupCfgCb, task);
     return RETURN_OK;
 }
 /**************************************************************************
-     :  ϵ̴Taskִв--رϵͳ
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电后继处理公共Task执行步骤--关闭系统启动灯
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnCloseLight(TASK_S *task)
 {
     POWER_ON_ROUND_OFF_TASK_S *pwrTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     pwrTask = (POWER_ON_ROUND_OFF_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(pwrTask);
 
-    /* رϵͳ */
+    /* 关闭系统启动灯 */
     noitfyEmpPowerOnReq(task, pwrTask->pwrBitmap, CLS_TO_EMP_CLOSE_LIGHT);
 
-    /* ڼȺͬnormalϢнڵ󣬼Ⱥλ */
+    /* 在集群主同步normal信息到所有节点后，集群主复位。 */
     LVOS_TP_NOPARAM_START(NODE_ONLINE_RECOVER_1_47_19)
     LVOS_TP_END
 
@@ -6408,37 +6408,37 @@
 }
 
 /**************************************************************************
-     :  ϵ̴Taskִв--ͬ״̬
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电后继处理公共Task执行步骤--同步对象状态
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnSyncObjStatus(TASK_S *task)
 {
     POWER_ON_TASK_S *powerOnTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     powerOnTask = (POWER_ON_TASK_S*)task;
 
     SET_POWER_ON_TRACE(powerOnTask);
 
-    /* ͬObj״̬ */
+    /* 同步Obj状态 */
     syncObjServiceStatusInfo(powerOnTask->pwrBitmap, task);
 
     return RETURN_OK;
 }
 
 /**************************************************************************
-     :  ϵ̴Taskִв--̶룬ʱʱ5ӣ5
-            ûнҲ
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  上电后继处理公共Task执行步骤--检查盘都接入，超时时间5分钟，5分钟
+            没有接入也往下走
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnCheckAllDiskOver(TASK_S *task)
 {
@@ -6446,12 +6446,12 @@
     bool powerOnFlag  = B_FALSE;
     POWER_ON_TASK_S *powerOnTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     powerOnTask = (POWER_ON_TASK_S*)task;
 
-    /* һνʱӡϢ */
+    /* 第一次进入时打印调试信息 */
     if (0 == loopWaitDbPowerOnCnt)
     {
         SET_POWER_ON_TRACE(powerOnTask);
@@ -6462,18 +6462,18 @@
     LVOS_TP_END;
     /* modified by g90006267 DTS2015061208677, 2015-06-15 end */
 
-    /* ѯBDMǷ̽ */
+    /* 轮询BDM是否盘接入完成 */
     powerOnFlag = ldCheckNidDiskOver(INVALID_NID);
     if (B_TRUE == powerOnFlag)
     {
-        /* ֲ̬¸ֵ */
+        /* 静态局部变量重新赋值 */
         loopWaitDbPowerOnCnt = 0;
 
         TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(task, RETURN_OK);
         return RETURN_OK;
     }
 
-    /* ûн: ȴ */
+    /* 没有接入完成: 继续等待 */
     if (loopWaitDbPowerOnCnt < MAX_CHECK_BDM_DISK_OVER_WAIT_COUNT)
     {
         DBG_LogInfo(LOG_ID_14A4, "%s: Wait BDM disk over, has wait for (%d)ms.",
@@ -6482,12 +6482,12 @@
         loopWaitDbPowerOnCnt++;
         TASK_DELAY_CALL_ACTION_START(task, BDM_DISK_OVER_LOOP_CHECK_INERVAL);
     }
-    else /* ȴʱ */
+    else /* 等待超时 */
     {
         DBG_LogInfo(LOG_ID_14A5, "%s: Wait BDM disk over time out.",
                     GET_TASK_NAME(task));
 
-        /* ֲ̬¸ֵ */
+        /* 静态局部变量重新赋值 */
         loopWaitDbPowerOnCnt = 0;
         TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(task, RETURN_OK);
         return RETURN_OK;
@@ -6497,11 +6497,11 @@
 }
 
 /**************************************************************************
-     :  PowerOnִв--ͼȺϵ¼
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  PowerOn流程执行步骤--发送集群上电完毕事件
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnSendEvent(TASK_S *task)
 {
@@ -6510,10 +6510,10 @@
     uint32_t normalNodeMap = 0;
     SYS_CLUSTER_MODE_E clusterMode = SYS_CLUSTER_MODE_BUTT;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     powerOnTask = (POWER_ON_TASK_S*)task;
 
     SET_POWER_ON_TRACE(powerOnTask);
@@ -6533,7 +6533,7 @@
 
     DBG_LogInfo(LOG_ID_14A6, "POWER_ON: Send cluster online event.");
 
-    /* 㲥ȺϢ */
+    /* 广播集群消息 */
     retVal = sendEventClusterChange();
 
     if (RETURN_OK != retVal)
@@ -6543,40 +6543,40 @@
         return RETURN_ERROR;
     }
 
-    /* ȡȺģʽ */
+    /* 获取集群模式 */
     getClusterMode((SYS_CLUSTER_MODE_E *)&clusterMode);
 
-    /* µУڵ㸴λĴ */
+    /* 下电过程中，节点复位重启的处理 */
     if (SYS_CLUSTER_MODE_EXIT == clusterMode)
     {
         DBG_LogInfo(LOG_ID_14A7, "POWER_ON: Cluster is in power off status,"
                    "local node(id %d) need not recover object service.",
                    getLocalNid());
 
-        /* 1 صڵ㸴λֶԴ */
-        /* 2 ˫صڵ㸴λָϵɹֶµ */
-        /* 3 渴λָϵֻҪλ1ڵָϵɹͼȺ¼ */
-        /* 4 ˫渴λָϵɹֶµ */
+        /* 1 多控单节点复位，手动掉电源 */
+        /* 2 双控单节点复位，恢复上电成功后再手动下电 */
+        /* 3 多控引擎复位，引擎恢复上电后，只要复位引擎中有1个节点恢复上电成功，发送集群掉电事件 */
+        /* 4 双控引擎复位，恢复上电成功后再手动下电 */
 
-        /* ȡȺ״̬Ľڵλͼ */
+        /* 获取集群状态正常的节点位图 */
         getNormalNodeBitMapInfo(&normalNodeMap);
 
-        /* 渴λָϵֻҪλ1ڵָϵɹͼȺ¼ */
+        /* 多控引擎复位，引擎恢复上电后，只要复位引擎中有1个节点恢复上电成功，发送集群掉电事件 */
  /** DTS2015040307840 modified by h00281923 2015/04/13 begin **/
         if(isSystemCanPowerOff(normalNodeMap))
  /** DTS2015040307840 modified by h00281923 2015/04/13 end **/
         {
-            /* ֪ͨȺ */
+            /* 通知集群掉电 */
             sendClsPowerLostEvent();
         }
-        /* µеĻָϵ磬ָ֪ͨҵ */
+        /* 下电过程中的恢复上电，不用再通知对象恢复业务 */
         TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(task, RETURN_OK);
         return RETURN_OK;
     }
 
     LVOS_TP_START(POWER_ON_2_47_0, NULL)
 
-    /* ֪ͨڵָ */
+    /* 通知对象管理节点恢复 */
     if (CLUSTER_POWER_ON == powerOnTask->powerOnType)
     {
         retVal = clusterNotifyObjEvent(CLS_EVENT_CLS_ONLINE, &(powerOnTask->pwrBitmap),sizeof(uint32_t));
@@ -6600,11 +6600,11 @@
 }
 
 /**************************************************************************
-     :  ڵϻȡϢTaskĲԲ
- :  task -- Taskָ
- :  
- ֵ  :  
-     :  
+ 功    能:  填充节点上获取信息子Task的策略步骤
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void fillNodeGetInfoTaskActions(TASK_S *task)
 {
@@ -6615,11 +6615,11 @@
     SET_TASK_ACTION(task, idx, ACTION_CLS_POWER_ON_NODE_TASK_OVER);
     idx++;
 
-    /* ȡͬӿϢ */
+    /* 获取同步接口信息 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_NODE_GET_SYNC_INTF_INFO);
     idx++;
 #if 1
-    /* ȡЧԱǩ */
+    /* 获取脏数据有效性标签 */
     SET_TASK_ACTION(task, idx, ACTION_CLS_NODE_GET_DIRTY_DATA_FLAG);
     idx++;
 #endif
@@ -6630,18 +6630,18 @@
     SET_TASK_ACTION(task, idx, ACTION_CLS_SYNC_SOFTVERSION_INFO);
     idx++;
     /* END:   Added by l90004318, 2013/10/26 */
-    /**/
+    /*结束*/
     SET_TASK_ACTION(task, idx, ACTION_OPCODE_BUTT);
 
     return;
 }
 
 /**************************************************************************
-     :  ʼڵϻȡϢ
- :  task -- ָ
- :  
- ֵ  :  
-     :  
+ 功    能:  初始化节点上获取本地信息
+ 输入参数:  task -- 任务指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void initPwrGetNodeTask(POWER_ON_NODE_TASK_S *task)
 {
@@ -6650,24 +6650,24 @@
 }
 
 /**************************************************************************
-     :  ָDBõ -- ͬDB
- :  task  
- :  
- ֵ  :  RETURN_OK     ACTIONִгɹ
-            RETURN_ERROR  ACTIONִʧ
-     :  
+ 功    能:  恢复DB配置的流程 -- 同步DB配置
+ 输入参数:  task  处理流程
+ 输出参数:  无
+ 返回值  :  RETURN_OK     ACTION执行成功
+            RETURN_ERROR  ACTION执行失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t recoverSyncIocIpMappingCfg(TASK_S *task)
 {
     uint32_t traceType = 0;
     POWER_ON_RECOVERY_PROFILE_TASK_S *recoveryTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
 
     recoveryTask = (POWER_ON_RECOVERY_PROFILE_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(recoveryTask);
 
     SET_ACTION_CHILDNUM(task, 1);
@@ -6680,11 +6680,11 @@
 }
 
 /**************************************************************************
-     :  ڵϻȡϢ
- :  rpcContext -- rpcָ
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上获取本地信息
+ 输入参数:  rpcContext -- rpc任务指针
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void nodeGetNodeInfo(void *rpcContext)
 {
@@ -6692,19 +6692,19 @@
     TASK_S *baseTask = NULL;
     POWER_ON_NODE_TASK_S *powerOnNodeTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
 
-    /* ӡ־ */
+    /* 打印日志 */
     DBG_LogInfo(LOG_ID_14A9, "NODE_POWER_ON: Create node get info task.");
 
-    /* ָCacheݵTASK */
+    /* 创建恢复Cache数据的子TASK */
     retVal = CREATE_SYS_TASK((TASK_S**)&powerOnNodeTask,
                              sizeof(POWER_ON_NODE_TASK_S),
                              fillNodeGetInfoTaskActions);
     if (RETURN_OK != retVal)
     {
-        /* ӡ־ */
+        /* 打印日志 */
         DBG_LogError(LOG_ID_14AA, "NODE_POWER_ON: Create node get info task failed.");
 
         END_SYS_RPC_TASK(RETURN_ERROR, rpcContext);
@@ -6713,16 +6713,16 @@
 
     baseTask = &(powerOnNodeTask->baseTask);
 
-    /* ʼ˽ֶ */
+    /* 初始化私有字段 */
     initPwrGetNodeTask(powerOnNodeTask);
 
-    /* Task Name */
+    /* 设置Task Name */
     SET_TASK_NAME(baseTask, "Node_GET_INFO");
 
-    /* óɸȼ */
+    /* 设置成高优先级 */
     SET_TASK_PRIORITY_HIGH(baseTask);
 
-    /* RPCָ뱣浽taskУԱtaskʱص */
+    /* 将RPC上下文指针保存到task中，以便该task结束时回调用 */
     SET_PARENT_TASK(baseTask, (TASK_S *)rpcContext);
 
     TASK_CALL_ACTION_START_ASYNC(baseTask);
@@ -6731,11 +6731,11 @@
 }
 
 /**************************************************************************
-     :  ڵϻȡϢTaskִв--Task
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  节点上获取本地信息Task执行步骤--Task结束处理函数
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnNodeTaskOver(TASK_S *nodeTask)
 {
@@ -6743,19 +6743,19 @@
     TASK_S * parentTask = NULL;
     POWER_ON_NODE_TASK_S *powerOnNodeTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != nodeTask);
 
     powerOnNodeTask = (POWER_ON_NODE_TASK_S *)nodeTask;
 
     DBG_LogInfo(LOG_ID_14AB, "NODE_POWER_ON: Get node info task over.");
 
-    /* ȡǰִеParent Task */
+    /* 获取当前执行的Parent Task */
     parentTask = GET_PARENT_TASK(nodeTask);
 
     CTRL_UTIL_IF(NULL != parentTask);
 
-    /* ȡTaskִн */
+    /* 获取Task执行结果 */
     retVal = GET_TASK_RESULT(nodeTask);
     if (RETURN_OK != retVal)
     {
@@ -6766,7 +6766,7 @@
         return RETURN_ERROR;
     }
 
-    /* ÷ԭڵϢ */
+    /* 设置发往原节点的信息 */
     retVal = SET_SYS_RPC_DATA(&(powerOnNodeTask->localNodeInfo), sizeof(LOCAL_NODE_INFO_S), parentTask);
     if (RETURN_OK != retVal)
     {
@@ -6783,14 +6783,14 @@
 }
 /* BEGIN: Added by r90006280, 2013/8/30   ID(TV2R2):MULTI_MODELS*/
 /**************************************************************************
-     :  ״̬
- :  uint32_t dataType,          -   
-            COFFER_INFO_S *cofferInfo,  -   Ϣ
-            TASK_S *task                -   TASKָ
- :  
-   ֵ:  RETURN_OK       -   ɹ
-            RETURN_ERROR    -   ʧ
-     :  
+ 功    能:  处理保险箱状态结果
+ 输入参数:  uint32_t dataType,          -   数据类型
+            COFFER_INFO_S *cofferInfo,  -   保险箱信息
+            TASK_S *task                -   TASK指针
+ 输出参数:  无
+ 返 回 值:  RETURN_OK       -   成功
+            RETURN_ERROR    -   失败
+ 其    他:  无
 **************************************************************************/
 static int32_t dealCofferInfo(uint32_t dataType, COFFER_INFO_S *cofferInfo, POWER_ON_NODE_TASK_S *pwrTask)
 {
@@ -6798,13 +6798,13 @@
     int32_t retVal = RETURN_ERROR;
 
     task = &pwrTask->baseTask;
-    if (COFFER_STATE_HAVE_DATA == cofferInfo->state)           /* CofferϢ */
+    if (COFFER_STATE_HAVE_DATA == cofferInfo->state)           /* Coffer中有信息 */
     {
         DBG_LogInfo(LOG_ID_14AE,
                     "%s: Coffer(type %u) have cache data.",
                     GET_TASK_NAME(task), dataType);
 
-        /* 鱣ϢǷȷ */
+        /* 检查保险箱信息是否正确 */
         retVal = checkCofferInfo(&(cofferInfo->sysInfo));
         if (RETURN_OK != retVal)
         {
@@ -6823,7 +6823,7 @@
             pwrTask->localNodeInfo.mirCoffState = SYS_COFFER_HAVE_DATA;
         }
     }
-    else if (COFFER_STATE_NO_DATA == cofferInfo->state )   /* Cofferû */
+    else if (COFFER_STATE_NO_DATA == cofferInfo->state )   /* Coffer没脏数据 */
     {
         DBG_LogInfo(LOG_ID_14B0,
                     "%s: Coffer(type %u) have not cache data.",
@@ -6837,7 +6837,7 @@
             pwrTask->localNodeInfo.mirCoffState = SYS_COFFER_NO_DATA;
         }
     }
-    else if (COFFER_STATE_ERROR == cofferInfo->state)      /* ȡʧ(̲) */
+    else if (COFFER_STATE_ERROR == cofferInfo->state)      /* 获取失败(盘不存在) */
     {
         DBG_LogWarning(LOG_ID_14B1,
                       "%s: Get coffer(type %u) state call back return state error, Coffer out.",
@@ -6863,11 +6863,11 @@
     return RETURN_OK;
 }
 /**************************************************************************
-     :  ȡ״̬ص
- :
- :  
-   ֵ:
-     :  
+ 功    能:  获取保险箱盘状态回调函数
+ 输入参数:
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void getVaultDiskStateCallBack(COFFER_INFO_S *localInfo,
                                     COFFER_INFO_S *mirrorInfo,
@@ -6879,7 +6879,7 @@
     POWER_ON_NODE_TASK_S *pwrTask = NULL;
     bool protectMem = B_FALSE;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != context);
 
     pwrTask = (POWER_ON_NODE_TASK_S *)context;
@@ -6910,9 +6910,9 @@
     retVal = dealCofferInfo(COFFER_DATA_TYPE_LOCAL, localInfo, pwrTask);
     if (RETURN_OK != retVal)
     {
-        /* DTS2015040908588 modify by lwx207050 2015-04-07 begin ϵ */
+        /* DTS2015040908588 modify by lwx207050 2015-04-07 begin 上电错误码 */
         TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(baseTask, retVal);
-        /* DTS2015040908588 modify by lwx207050 2015-04-07 end ϵ */
+        /* DTS2015040908588 modify by lwx207050 2015-04-07 end 上电错误码 */
         return;
     }
 
@@ -6922,9 +6922,9 @@
     retVal = dealCofferInfo(COFFER_DATA_TYPE_MIRROR, mirrorInfo, pwrTask);
     if (RETURN_OK != retVal)
     {
-        /* DTS2015040908588 modify by lwx207050 2015-04-07 begin ϵ */
+        /* DTS2015040908588 modify by lwx207050 2015-04-07 begin 上电错误码 */
         TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(baseTask, retVal);
-        /* DTS2015040908588 modify by lwx207050 2015-04-07 end ϵ */
+        /* DTS2015040908588 modify by lwx207050 2015-04-07 end 上电错误码 */
         return;
     }
 
@@ -6947,13 +6947,13 @@
     return;
 }
 
-/* AA޸ģmodified by h002819232014-12-23 begin */
+/* 后端AA适配修改，modified by h00281923，2014-12-23 begin */
 /**************************************************************************
-     :  ȡ״̬ص(630Լ֮İ汾)
- :
- :  
-   ֵ:
-     :  
+ 功    能:  获取保险箱盘状态回调函数(630以及之后的版本)
+ 输入参数:
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void getVaultDiskStateCallBack2(COFFER_INFO_S *localInfo,
                                     void *context,
@@ -6964,7 +6964,7 @@
     POWER_ON_NODE_TASK_S *pwrTask = NULL;
     bool protectMem = B_FALSE;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != context);
 
     pwrTask = (POWER_ON_NODE_TASK_S *)context;
@@ -7052,15 +7052,15 @@
     TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(baseTask, RETURN_OK);
     return;
 }
-/* AA޸ģmodified by h002819232014-12-23 end */
+/* 后端AA适配修改，modified by h00281923，2014-12-23 end */
 
 /* END:   Added by r90006280, 2013/8/30 */
 /**************************************************************************
-     :  ڵϻȡϢTaskִв--ȡͬӿϢ
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :
+ 功    能:  节点上获取本地信息Task执行步骤--获取同步接口信息
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :
 **************************************************************************/
 static int32_t pwrOnNodeGetSyncIntfInfo(TASK_S *nodeTask)
 {
@@ -7072,15 +7072,15 @@
     POWER_ON_NODE_TASK_S *powerOnNodeTask = NULL;
 
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != nodeTask);
 
     powerOnNodeTask = (POWER_ON_NODE_TASK_S *)nodeTask;
 
     DBG_LogInfo(LOG_ID_14BE, "NODE_POWER_ON: Get local node info.");
 
-    /* ȡڴС */
-     /* עTP ڴ治һµĳ */
+    /* 获取内存大小 */
+     /* 注册TP 构造内存不一致的场景 */
     LVOS_TP_START(POWER_ON_1_47_53, &(powerOnNodeTask->localNodeInfo.memSize), &retVal)
     retVal = BSP_GetMemSize(&(powerOnNodeTask->localNodeInfo.memSize));
     LVOS_TP_END
@@ -7093,8 +7093,8 @@
         return RETURN_ERROR;
     }
 
-    /* ȡ */
-     /* עTP ڴ治һµĳ  */
+    /* 获取配置类型 */
+     /* 注册TP 构造引擎间内存不一致的场景  */
     LVOS_TP_START(POWER_ON_1_47_54, &(powerOnNodeTask->localNodeInfo.isConfigNormal))
     powerOnNodeTask->localNodeInfo.isConfigNormal = OSP_IsNormalConfig();
     LVOS_TP_END
@@ -7102,7 +7102,7 @@
     DBG_LogInfo(LOG_ID_14C0, "NODE_POWER_ON: Get memory size(0x%llx) and normal config(%u).",
                 powerOnNodeTask->localNodeInfo.memSize, powerOnNodeTask->localNodeInfo.isConfigNormal);
 
-    /* ȡƷͺ */
+    /* 获取背板产品型号 */
 	//modify by t00104528 for PANGEA DMI 2013/11/28 begin
     ret = GET_PROCDUCT_MODEL(&(powerOnNodeTask->localNodeInfo.productModel));
 	//modify by t00104528 for PANGEA DMI 2013/11/28 end
@@ -7115,9 +7115,9 @@
     }
 
 #if 1
-    /* ãEMPοǰѯĲƷͺŲ׼ȷˣ
-       õĻýڵ㸳һĲƷͺֵںĲƷ
-       ͺżУýڵĲƷͺ */
+    /* 插框复用，在EMP二次开工前，查询到的产品型号并不准确，因此，
+       插框复用的话，给该节点赋一个特殊的产品型号值，在后面的产品
+       型号检查中，不检查该节点的产品型号 */
 	//modify by t00104528 for PANGEA DMI 2013/11/28 begin
     if(IS_BACKUP_CTRL_FRAME())
 	//modify by t00104528 for PANGEA DMI 2013/11/28 end
@@ -7130,16 +7130,16 @@
     DBG_LogInfo(LOG_ID_14C3, "NODE_POWER_ON: Get product model(%u).",
                 powerOnNodeTask->localNodeInfo.productModel);
 
-    /* ȡµĽڵϢ */
+    /* 获取最新的节点配置信息 */
     getConfigNodeNum((uint16_t *)&powerOnNodeTask->localNodeInfo.ctrlNum);
 
-    /* ȡڵָλڴݵĽ */
+    /* 获取节点恢复复位保内存数据的结果 */
     getNodeMemRecoverResult(&memRecoverResult);
 
     DBG_LogInfo(LOG_ID_14C4, "NODE_POWER_ON: Node mem recover result(%d).",
                 memRecoverResult);
 
-    /* øλڴϢ */
+    /* 获得复位保内存数据信息 */
     if(MEM_RECOVER_SUCCESS == memRecoverResult)
     {
         powerOnNodeTask->protectMemValue = B_TRUE;
@@ -7175,7 +7175,7 @@
     DBG_LogInfo(LOG_ID_14C6, "NODE_POWER_ON: Get memory protect flag(%u).",
                 powerOnNodeTask->protectMemValue);
 
-    /* ·cacheӿʱٴ뱣 baoxiaofei 2014-07-05 begin*/
+    /* 新方案，调用cache接口时，不再传入保险箱类型 baoxiaofei 2014-07-05 begin*/
     if(isUpgradeC30())
     {
         GET_COFFER_STATE(getVaultDiskStateCallBack, nodeTask);
@@ -7184,17 +7184,17 @@
     {
         GET_COFFER_STATE_2(getVaultDiskStateCallBack2,nodeTask);
     }
-        /* ·cacheӿʱٴ뱣 baoxiaofei 2014-07-05 end*/
+        /* 新方案，调用cache接口时，不再传入保险箱类型 baoxiaofei 2014-07-05 end*/
     return RETURN_OK;
 }
 
 /**************************************************************************
-     :  ȡЧԱ־Ļص
- :  cofferState -- Coffer״̬
-            context     -- 
- :  
- ֵ  :  
-     :
+ 功    能:  获取脏数据有效性标志的回调函数
+ 输入参数:  cofferState -- Coffer状态
+            context     -- 上下文
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :
 **************************************************************************/
 static void getDirtyDataFlagCallBack(void *             context,
                                      int32_t            result,
@@ -7205,7 +7205,7 @@
     char pwrOnFailedInfo[NODE_FAULT_INFO_SYNC_LENGTH] = {0};
     char frameName[FRAME_NAME_LEN] = {0};
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != context);
     CTRL_UTIL_IF(NULL != dirtyDataInfo);
 
@@ -7213,16 +7213,16 @@
 
     baseTask = &(powerOnNodeTask->baseTask);
 
-    /* USER_DISK_IN   ɹȡݱ־ */
-    /* RETURN_ERROR  ȡݱ־ʧ */
-    /* NEW_DISK_IN  ̽*/
+    /* USER_DISK_IN   成功获取脏数据标志 */
+    /* RETURN_ERROR  获取脏数据标志失败 */
+    /* NEW_DISK_IN  新盘接入*/
     if (USER_DISK_IN == result)
     {
-        /* ЧԱ־ */
+        /* 保存脏数据有效性标志 */
         memcpy(&(powerOnNodeTask->localNodeInfo.dirtyDataFlag), dirtyDataInfo, sizeof(DIRTY_DATA_FLAG_S));
         powerOnNodeTask->localNodeInfo.groupExpand = B_FALSE;
 
-        /* ӡȡЧԱ־Ϣ */
+        /* 打印获取到的脏数据有效性标志信息 */
         DBG_LogInfo(LOG_ID_14C7,
                 "%s:Get dirty data flag value(frame sn %llu,serial num %llu,node bitmap %u).",
                 GET_TASK_NAME(baseTask), dirtyDataInfo->frameSn,
@@ -7240,7 +7240,7 @@
     }
     else if (ILLEGAL_DISK_IN == result)
     {
-        //¼ϵʧϢ
+        //记录上电失败信息
         getFrameNamebyNid(getLocalNid(), frameName);
         snprintf(pwrOnFailedInfo, NODE_FAULT_INFO_SYNC_LENGTH, "%s;",frameName);
         (void)recordPowerOnFailedInfo(getLocalNid(), SYS_ERROR_PWRON_CHECK_DIRTY_DATA_FLAG_PARAM, 
@@ -7248,51 +7248,51 @@
         TASK_CALL_ACTION_CHILDDONE(baseTask, SYS_ERROR_PWRON_CHECK_DIRTY_DATA_FLAG_PARAM);
         return;
     }
-    /* DTS2015040908588 modify by lwx207050 2015-04-07 begin ϵ */
+    /* DTS2015040908588 modify by lwx207050 2015-04-07 begin 上电错误码 */
     else if (SYS_ERROR_PWRON_GET_DIRTY_DATA_FLAG == result)
     {
         TASK_CALL_ACTION_CHILDDONE(baseTask, SYS_ERROR_PWRON_GET_DIRTY_DATA_FLAG);
         return;
     }
-    /* DTS2015040908588 modify by lwx207050 2015-04-07 end ϵ */
+    /* DTS2015040908588 modify by lwx207050 2015-04-07 end 上电错误码 */
     else
     {
         DBG_LogError(LOG_ID_14C9, "Get dirty data flag failed.");
-        /* DTS2015040908588 modify by lwx207050 2015-04-07 begin ϵ */
+        /* DTS2015040908588 modify by lwx207050 2015-04-07 begin 上电错误码 */
         TASK_CALL_ACTION_CHILDDONE(baseTask, SYS_ERROR_PWRON_GET_DIRTY_DATA_FLAG);
-        /* DTS2015040908588 modify by lwx207050 2015-04-07 end ϵ */
+        /* DTS2015040908588 modify by lwx207050 2015-04-07 end 上电错误码 */
         return;
     }
 }
 
 /**************************************************************************
-     :  ڵϻȡϢTaskִв--ȡЧԱ־
- :  task -- Taskָ
- :  
- ֵ  :  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  节点上获取本地信息Task执行步骤--获取脏数据有效性标志
+ 输入参数:  task -- 流程Task指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnNodeGetDirtyDataFlag(TASK_S *nodeTask)
 {
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != nodeTask);
 
-    /* 첽ãChild numΪ1 */
+    /* 异步函数调用，设置Child num为1 */
     SET_ACTION_CHILDNUM(nodeTask, 1);
 
     DBG_LogInfo(LOG_ID_14CA, "%s: Node get dirty data flag.", GET_TASK_NAME(nodeTask));
 
-    /* ѯЧԱ־ */
+    /* 查询脏数据有效性标志 */
     getDirtyDataFlagSync(nodeTask, getDirtyDataFlagCallBack);
     return RETURN_OK;
 }
 
 /**************************************************************************
-     :  ڵɾ¼ļ
- :  
- :  
-   ֵ:  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  节点检查删除错误码记录文件
+ 输入参数:  无
+ 输出参数:  无
+ 返 回 值:  RETURN_OK:成功;RETURN_ERROR:失败
+ 其    他:  无
 **************************************************************************/
 static int32_t nodeDeleteErrCodeFile(void)
 {
@@ -7305,7 +7305,7 @@
     snprintf(cFilePath, MAX_NAME_LEN, OSP_RECORD_ABNORMAL_FILE_PATH);
     cFilePath[MAX_NAME_LEN - 1] = '\0';
 
-    /* ڲɾ */
+    /* 如果存在才删除 */
     retVal = LVOS_access(cFilePath, MODE_EXIST);
 
     LVOS_TP_START(POWER_ON_1_47_92, &retVal)
@@ -7313,7 +7313,7 @@
     
     if (RETURN_OK == retVal)
     {
-        /* ļʽɾļ */
+        /* 用文件句柄形式删除错误码文件 */
         retVal = LVOS_CmdRm(cFilePath, B_FALSE);
 
         if (RETURN_OK != retVal) 
@@ -7327,11 +7327,11 @@
 }
 
 /**************************************************************************
-     :  ڵд¼ļ
- :  errCode
- :  
-   ֵ:  RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     :  
+ 功    能:  节点检查写错误码记录文件
+ 输入参数:  errCode
+ 输出参数:  无
+ 返 回 值:  RETURN_OK:成功;RETURN_ERROR:失败
+ 其    他:  无
 **************************************************************************/
 static int32_t nodeSetErrCodeFile(int32_t errCode)
 {
@@ -7341,9 +7341,9 @@
     LVOS_TP_START(POWER_ON_1_47_95, &errCode)
     LVOS_TP_END
 
-    //ɾ
-    //action ACTION_CLS_POWER_ON_COLLECT_FAILED_INFOлдĴļ
-    //ѾڴļôĴļ
+    //如果存在则不删除
+    //在action ACTION_CLS_POWER_ON_COLLECT_FAILED_INFO中会写带参数的错误码文件
+    //如果已经存在错误码文件则用带参数的错误码文件
     retVal = LVOS_access(OSP_RECORD_ABNORMAL_FILE_PATH, MODE_EXIST);
     if (RETURN_OK == retVal)
     {
@@ -7355,11 +7355,11 @@
     snprintf(cCommand, MAX_NAME_LEN, OSP_RECORD_ABNORMAL_COMMAND, errCode);
     cCommand[MAX_NAME_LEN - 1] = '\0';
     
-    /* д */
+    /* 写错误码 */
     retVal = callUserExcuteShell(cCommand);
     if (RETURN_OK != retVal) 
     {
-        /* дűӡ */
+        /* 写错误码脚本出错仅打印 */
         DBG_LogDebug(DBG_LOGID_NEW, "POWER_ON: Execute shell failed.");
         return retVal;
     } 
@@ -7368,12 +7368,12 @@
 }
 
 /**************************************************************************
-     :  ȡBBU״̬Դ˴
- :  rpcContext RPC
-            context    TASK
- :  
- ֵ  :  
-     :  
+ 功    能:  获取BBU故障状态源端处理函数
+ 输入参数:  rpcContext RPC上下文
+            context    TASK上下文
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void nodeCheckBbuRpcSrcHandle(void *rpcContext, void *context)
 {
@@ -7388,14 +7388,14 @@
     uint32_t bbuFaultBitmap = 0;
     CHECK_BBU_TASK_S *checkBbuTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
     CTRL_UTIL_IF(NULL != context);
 
     task = (TASK_S *)context;
     checkBbuTask = (CHECK_BBU_TASK_S*)task;
 
-    /* ÿڵ㴦 */
+    /* 返回每个节点处理结果 */
     (void)getSysRpcNodeResult(task->TaskNodeResult, MAX_CTRL_NODE_NUM, rpcContext);
 
     retVal = getSysRpcParam(&rpcParam, rpcContext);
@@ -7404,13 +7404,13 @@
         DBG_LogError(DBG_LOGID_NEW, "BBU_CHECK: Get system RPC paramter failed, error code(%d).",
                      retVal);
 
-        /* RPC */
+        /* 结束RPC处理过程 */
         END_SYS_RPC_TASK(retVal, rpcContext);
         TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(task, retVal);
         return;
     }
 
-    /* ȡRPC HANDLE */
+    /* 获取处理RPC HANDLE的名称 */
     rpcEntryName = getRpcEntryNameByOpCode(rpcParam.opCode);
 
     retVal = getSysRpcResult(rpcContext);
@@ -7419,14 +7419,14 @@
         DBG_LogError(LOG_ID_2469, "BBU_CHECK: Get RPC(name %s) result failed, error code(%d).",
                      rpcEntryName, retVal);
 
-        /* RPC */
+        /* 结束RPC处理过程 */
         END_SYS_RPC_TASK(retVal, rpcContext);
         TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(task, retVal);
         return;
     }
 
     buffLen = 0;
-    /* BBUϽڵλͼ */
+    /* 设置BBU故障节点位图 */
     for(nodeIdx = 0; nodeIdx < MAX_CTRL_NODE_NUM; nodeIdx++)
     {
         bitValue = LVOS_test_bit((int32_t)nodeIdx, (void*)&rpcParam.nodeBitMap);
@@ -7438,7 +7438,7 @@
                 DBG_LogError(LOG_ID_246A, "BBU_CHECK: Get node(id %u) RPC data failed.",
                              nodeIdx);
 
-                /* RPC */
+                /* 结束RPC处理过程 */
                 END_SYS_RPC_TASK(retVal, rpcContext);
                 TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(task, retVal);
                 return;
@@ -7449,13 +7449,13 @@
                 DBG_LogError(DBG_LOGID_NEW, "BBU_CHECK: Get node(id %u) RPC data length(%u) error.",
                              nodeIdx, buffLen);
 
-                /* RPC */
+                /* 结束RPC处理过程 */
                 END_SYS_RPC_TASK(RETURN_ERROR, rpcContext);
                 TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(task, RETURN_ERROR);
                 return;
             }
 
-            /* ϣùϽڵλͼ */
+            /* 如果故障，设置故障节点位图 */
             if(B_FALSE == *isEnough)
             {
                 LVOS_set_bit((nid_t)nodeIdx, (void *)&bbuFaultBitmap);
@@ -7466,7 +7466,7 @@
     LVOS_TP_START(POWER_ON_1_47_81, &bbuFaultBitmap)
     LVOS_TP_END
 
-    //нڵBBU㣬
+    //所有节点的BBU电量充足，
     if(0 == bbuFaultBitmap)
     {
         DBG_LogInfo(DBG_LOGID_NEW, "The power is enough,flow continue.");
@@ -7485,12 +7485,12 @@
 }
 
 /**************************************************************************
-     :  ȡBBUʱԴ˴
- :  rpcContext RPC
-            context    TASK
- :  
- ֵ  :  
-     :  
+ 功    能:  获取BBU备电时间源端处理函数
+ 输入参数:  rpcContext RPC上下文
+            context    TASK上下文
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void nodeGetBbuChkTimeRpcSrcHandle(void* rpcContext, void* context)
 {
@@ -7512,14 +7512,14 @@
 
     CHECK_BBU_TASK_S* checkBbuTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     SYS_IF(NULL != rpcContext);
     SYS_IF(NULL != context);
 
     task = (TASK_S*)context;
     checkBbuTask = (CHECK_BBU_TASK_S*)task;
 
-    /* ÿڵ㴦 */
+    /* 返回每个节点处理结果 */
     (void)getSysRpcNodeResult(task->TaskNodeResult, MAX_CTRL_NODE_NUM, rpcContext);
 
     retVal = getSysRpcParam(&rpcParam, rpcContext);
@@ -7529,13 +7529,13 @@
         DBG_LogError(DBG_LOGID_NEW, "BBU_CHECK: Get system RPC paramter failed, error code(%d).",
                      retVal);
 
-        /* RPC */
+        /* 结束RPC处理过程 */
         END_SYS_RPC_TASK(retVal, rpcContext);
         TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(task, retVal);
         return;
     }
 
-    /* ȡRPC HANDLE */
+    /* 获取处理RPC HANDLE的名称 */
     rpcEntryName = getRpcEntryNameByOpCode(rpcParam.opCode);
 
     retVal = getSysRpcResult(rpcContext);
@@ -7545,7 +7545,7 @@
         DBG_LogError(LOG_ID_2469, "BBU_CHECK: Get RPC(name %s) result failed, error code(%d).",
                      rpcEntryName, retVal);
 
-        /* RPC */
+        /* 结束RPC处理过程 */
         END_SYS_RPC_TASK(retVal, rpcContext);
         TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(task, retVal);
         return;
@@ -7553,7 +7553,7 @@
 
     buffLen = 0;
 
-    /* BBUϽڵλͼ */
+    /* 设置BBU故障节点位图 */
     for (nodeIdx = 0; nodeIdx < MAX_CTRL_NODE_NUM; nodeIdx++)
     {
         bitValue = LVOS_test_bit((int32_t)nodeIdx, (void*)&rpcParam.nodeBitMap);
@@ -7567,7 +7567,7 @@
                 DBG_LogError(LOG_ID_246A, "BBU_CHECK: Get node(id %u) RPC data failed.",
                              nodeIdx);
 
-                /* RPC */
+                /* 结束RPC处理过程 */
                 END_SYS_RPC_TASK(retVal, rpcContext);
                 TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(task, retVal);
                 return;
@@ -7578,7 +7578,7 @@
                 DBG_LogError(DBG_LOGID_NEW, "Some nodes have no bbu,go to task over.");
                 SMLOG_ERROR_RSP(SM_SYS_CLS_HAS_NO_BBU, "DMI", "The node(%u) have no bbu,power on failed.", nodeIdx);
 
-                //¼ϵʧϢ
+                //记录上电失败信息
                 SET_NODEMAP_BIT(nodeIdx,failedBitMap);
                 recordFailedWithFrameAndNodeByPwrFailed(checkBbuTask->checkBbuBitMap, failedBitMap, SYS_ERROR_PWRON_BBU_NOT_ENOUGH_PARAM);
                 
@@ -7598,18 +7598,18 @@
         }
     }
 
-    //ȡBBUʱΪԼBBUʱ䣬ʱתΪԴ
+    //取最大的BBU时间做为重试检查BBU备电的时间，并将时间转为重试次数
     if (RETURN_OK == returnResult)
     {
         checkBbuTask->maxCheckBbuTime = maxCheckTime * 1000 / CLS_CHECK_BBU_STATUS_WAIT_TIME;
     }
-    //нڵûзأȡȺBBUʱΪԼBBUıʱ
+    //所有节点没有返回，取集群主上BBU备电时间作为重试检查BBU的备电时间
     else
     {
 #ifdef __KERNEL__
         retVal = OperateNode(GET_BBU_CHARGE_TIME_OUT, &timeOutList[0], sizeof(uint32_t));
 
-        //ȡBBUʱԽ߻ȡBBUʱʧܣĬϵʱ(3Сʱ)
+        //获取的BBU时间越界或者获取BBU时间失败，按默认的时间(3小时)处理
         if ((GET_TIME_OUT_MAGIC != timeOutList[1]) || (RETURN_OK != retVal))
         {
             DBG_LogWarning(DBG_LOGID_NEW, "BBU_CHECK: Out of memory.");
@@ -7636,12 +7636,12 @@
 
 /* modified by z00248602 for DTS2014062601615, 2014-6-20 begin */
 /**************************************************************************
-     :  ڵϻȡڴϢķͶ˴
- :  rpcContext -- RPC
-            context -- ҵ
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上获取内存屏蔽信息的发送端处理
+ 输入参数:  rpcContext -- RPC上下文
+            context -- 业务上下文
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void getNodeDimmInfoRpcSrcHandle(void *rpcContext, void *context)
 {
@@ -7652,17 +7652,17 @@
     POWER_ON_SELF_CHECK_TASK_S* pwrTask = NULL;
     int32_t  taskNodeResult[MAX_CTRL_NODE_NUM] = {0};
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
     CTRL_UTIL_IF(NULL != context);
 
-    /* ӡ־ */
+    /* 打印日志 */
     DBG_LogInfo(DBG_LOGID_NEW, "Receive get node dimm info result.");
 
     pwrTask = (POWER_ON_SELF_CHECK_TASK_S *)context;
     baseTask = &(pwrTask->baseTask);
 
-    /* ȡRPC */
+    /* 获取RPC处理结果 */
     retVal = GET_SYS_RPC_NODE_RESULT(taskNodeResult, MAX_CTRL_NODE_NUM, rpcContext);
     if (RETURN_OK != retVal)
     {
@@ -7675,7 +7675,7 @@
 
     memset(&rpcParam, 0, sizeof(SYS_RPC_PARAM_S));
 
-    /* ȡϢĽڵλͼ */
+    /* 获取发送消息的节点位图 */
     retVal = GET_SYS_RPC_PARAM(&rpcParam, rpcContext);
     if (RETURN_OK != retVal)
     {
@@ -7700,7 +7700,7 @@
             SYS_TRACE_LOG_INFO(DBG_LOGID_NEW,
                      "The node (nodeId %u) has been dimm shielded,so isolate it.",index);
             /* BEGIN: Modified by x00281454, 2014/8/8   ID:DTS2014080605170*/
-            /*ֻ޸ڼȺϵTRACEУָϵֱʧAction*/
+            /*只修改在集群上电TRACE中，恢复上电直接体现在失败Action*/
             SET_SYS_TRACE_DESC_INFO(SYS_TRACE_TYPE_POWER_ON,
                      "The node (nodeId %u) has been dimm shielded,so isolate it.",index);
             /* END:   Modified by x00281454, 2014/8/8 */
@@ -7726,20 +7726,20 @@
 
     }
 
-    /* ûпýڵ㣬ϵʧ */
+    /* 如果隔离后，没有可用节点，则上电流程失败 */
     retVal = checkPowerOnTaskNeedGo(pwrTask);
     if (RETURN_OK != retVal)
     {
         DBG_LogError(DBG_LOGID_NEW, "%s: Nodes have been isolated, and process failed.",
                  GET_TASK_NAME(baseTask));
 
-        /* RPC */
+        /* 结束RPC处理过程 */
         END_SYS_RPC_TASK(retVal, rpcContext);
         TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(baseTask, retVal);
         return;
     }
 
-    /* RPC */
+    /* 结束RPC处理过程 */
     END_SYS_RPC_TASK(RETURN_OK, rpcContext);
 
     TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(baseTask, RETURN_OK);
@@ -7749,12 +7749,12 @@
 /* modified by z00248602 for DTS2014062601615, 2014-6-20 end */
 
 /**************************************************************************
-     :  ڵϻȡϵͳSNķͶ˴
- :  rpcContext -- RPC
-            context -- ҵ
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上获取系统SN的发送端处理
+ 输入参数:  rpcContext -- RPC上下文
+            context -- 业务上下文
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void getSysSnRpcSrcHandle(void *rpcContext, void *context)
 {
@@ -7766,17 +7766,17 @@
     void *buffer = NULL;
     POWER_ON_SELF_CHECK_TASK_S* pwrTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
     CTRL_UTIL_IF(NULL != context);
 
-    /* ӡ־ */
+    /* 打印日志 */
     DBG_LogInfo(LOG_ID_14D8, "Receive get node info result.");
 
     pwrTask = (POWER_ON_SELF_CHECK_TASK_S *)context;
     baseTask = &(pwrTask->baseTask);
 
-    /* ȡRPC */
+    /* 获取RPC处理结果 */
     retVal = GET_SYS_RPC_RESULT(rpcContext);
     if (RETURN_OK != retVal)
     {
@@ -7789,7 +7789,7 @@
 
     memset(&rpcParam, 0, sizeof(SYS_RPC_PARAM_S));
 
-    /* ȡϢĽڵλͼ */
+    /* 获取发送消息的节点位图 */
     retVal = GET_SYS_RPC_PARAM(&rpcParam, rpcContext);
     if (RETURN_OK != retVal)
     {
@@ -7810,7 +7810,7 @@
         {
             continue;
         }
-        /* ȡϢ볤 */
+        /* 获取消息内容与长度 */
         retVal = GET_NODE_SYS_RPC_DATA(index, &buffer, &bufferLen, rpcContext);
         if (RETURN_OK != retVal)
         {
@@ -7823,7 +7823,7 @@
             return;
         }
 
-        /* 鴫ݹĲǷȷ */
+        /* 检查传递过来的参数长度是否正确 */
         if (SYS_CLUSTER_PRODUCT_SERIAL_LEN != bufferLen)
         {
             DBG_LogError(DBG_LOGID_NEW,
@@ -7834,7 +7834,7 @@
             return;
         }
 
-        /* ϵͳSN */
+        /* 设置系统SN */
         setClusterProductSN(buffer);
 
     }
@@ -7845,12 +7845,12 @@
 }
 
 /**************************************************************************
-     :  ڵϻȡϵͳWWNķͶ˴
- :  rpcContext -- RPC
-            context -- ҵ
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上获取系统WWN的发送端处理
+ 输入参数:  rpcContext -- RPC上下文
+            context -- 业务上下文
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void getSysWWNRpcSrcHandle(void *rpcContext, void *context)
 {
@@ -7862,17 +7862,17 @@
     uint64_t *sysWWN = NULL;
     POWER_ON_SELF_CHECK_TASK_S* pwrTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
     CTRL_UTIL_IF(NULL != context);
 
-    /* ӡ־ */
+    /* 打印日志 */
     DBG_LogInfo(LOG_ID_14DC, "Receive get node info result.");
 
     pwrTask = (POWER_ON_SELF_CHECK_TASK_S *)context;
     baseTask = &(pwrTask->baseTask);
 
-    /* ȡRPC */
+    /* 获取RPC处理结果 */
     retVal = GET_SYS_RPC_RESULT(rpcContext);
     if (RETURN_OK != retVal)
     {
@@ -7885,7 +7885,7 @@
 
     memset(&rpcParam, 0, sizeof(SYS_RPC_PARAM_S));
 
-    /* ȡϢĽڵλͼ */
+    /* 获取发送消息的节点位图 */
     retVal = GET_SYS_RPC_PARAM(&rpcParam, rpcContext);
     if (RETURN_OK != retVal)
     {
@@ -7906,7 +7906,7 @@
         {
             continue;
         }
-        /* ȡϢ볤 */
+        /* 获取消息内容与长度 */
         retVal = GET_NODE_SYS_RPC_DATA(index, (void **)&sysWWN, &bufferLen, rpcContext);
         if (RETURN_OK != retVal)
         {
@@ -7919,7 +7919,7 @@
             return;
         }
 
-        /* 鴫ݹĲǷȷ */
+        /* 检查传递过来的参数长度是否正确 */
         if (sizeof(uint64_t) != bufferLen)
         {
             DBG_LogError(DBG_LOGID_NEW,
@@ -7930,7 +7930,7 @@
             return;
         }
 
-        /* ϵͳWWN */
+        /* 设置系统WWN */
         setClusterWWN(*sysWWN);
 
     }
@@ -7941,12 +7941,12 @@
 }
 
 /**************************************************************************
-     :  ڵϻȡϢķͶ˴
- :  rpcContext -- RPC
-            context -- ҵ
- :  
- ֵ  :  
-     :  
+ 功    能:  节点上获取信息的发送端处理
+ 输入参数:  rpcContext -- RPC上下文
+            context -- 业务上下文
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void getNodeInfoRpcSrcHandle(void *rpcContext, void *context)
 {
@@ -7958,17 +7958,17 @@
     LOCAL_NODE_INFO_S *localNodeInfo = NULL;
     POWER_ON_SELF_CHECK_TASK_S* pwrTask = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
     CTRL_UTIL_IF(NULL != context);
 
-    /* ӡ־ */
+    /* 打印日志 */
     DBG_LogInfo(LOG_ID_14E0, "Receive get node info result.");
 
     pwrTask = (POWER_ON_SELF_CHECK_TASK_S *)context;
     baseTask = &(pwrTask->baseTask);
 
-    /* ȡRPC */
+    /* 获取RPC处理结果 */
     retVal = GET_SYS_RPC_RESULT(rpcContext);
     LVOS_TP_START(POWER_ON_1_47_101, &retVal)
     LVOS_TP_END
@@ -7984,7 +7984,7 @@
 
     memset(&rpcParam, 0, sizeof(SYS_RPC_PARAM_S));
 
-    /* ȡϢĽڵλͼ */
+    /* 获取发送消息的节点位图 */
     retVal = GET_SYS_RPC_PARAM(&rpcParam, rpcContext);
     if (RETURN_OK != retVal)
     {
@@ -7999,7 +7999,7 @@
 
     CTRL_UTIL_IF(0 != rpcParam.nodeBitMap);
 
-    /* ȡڵϢ */
+    /* 获取各节点信息 */
     for (index = 0; index < MAX_CTRL_NODE_NUM; index++)
     {
         if (!CHECK_NODEMAP_BIT_VALID(index, rpcParam.nodeBitMap))
@@ -8007,7 +8007,7 @@
             continue;
         }
 
-        /* ȡϢ볤 */
+        /* 获取消息内容与长度 */
         retVal = GET_NODE_SYS_RPC_DATA(index, (void **)(&localNodeInfo), &bufferLen, rpcContext);
         if (RETURN_OK != retVal)
         {
@@ -8017,7 +8017,7 @@
             return;
         }
 
-        /* 鴫ݹĲǷȷ */
+        /* 检查传递过来的参数长度是否正确 */
         if (sizeof(LOCAL_NODE_INFO_S) != bufferLen)
         {
             DBG_LogError(DBG_LOGID_NEW, "SYS_RPC: Get node sys rpc data length(%u) error.", bufferLen);
@@ -8026,7 +8026,7 @@
             return;
         }
 
-        /* ϢTaskṹԱ */
+        /* 保存信息到Task结构体成员变量中 */
         memcpy(&(pwrTask->localNodeInfo[index]), localNodeInfo, sizeof(LOCAL_NODE_INFO_S));
 
     }
@@ -8038,11 +8038,11 @@
 }
 
 /**************************************************************************
-     :  ڵô־
- :  rpcContext  RPC
- :  
-   ֵ:
-     :  
+ 功    能:  节点设置错误码日志
+ 输入参数:  rpcContext  RPC上下文
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void nodeSetPowerOnFailLog(void *rpcContext)
 {
@@ -8050,10 +8050,10 @@
     uint32_t buffLen = 0;
     int32_t* errCode = NULL;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
 
-    /* ȡݹ */
+    /* 获取传递过来的数据 */
     retVal = GET_SYS_RPC_DATA((void**)&errCode, &buffLen, rpcContext);
 
     if (RETURN_OK != retVal)
@@ -8072,10 +8072,10 @@
     }
     setPowerOnFailCode(RETURN_SYSTEM_INNER_ERROR);
 
-    /* д */
+    /* 写错误码 */
     retVal = nodeSetErrCodeFile(*errCode);
 
-    /* ӡ */
+    /* 出错仅仅打印下 */
     if (RETURN_OK != retVal) 
     {
         DBG_LogError(DBG_LOGID_NEW, "POWER_ON: Set errod code file failed.");
@@ -8086,11 +8086,11 @@
 }
 
 /**************************************************************************
-     :  ڵָϵô־
- :  rpcContext  RPC
- :  
-   ֵ:
-     :  
+ 功    能:  节点恢复上电隔离设置错误码日志
+ 输入参数:  rpcContext  RPC上下文
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void nodeSetPowerOnIsolateLog(void* rpcContext)
 {
@@ -8099,10 +8099,10 @@
     int32_t* errCode = NULL;
     nid_t     localNid = INVALID_NID;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
 
-    /* ȡݹ */
+    /* 获取传递过来的数据 */
     retVal = GET_SYS_RPC_DATA((void**)&errCode, &buffLen, rpcContext);
 
     if (RETURN_OK != retVal)
@@ -8130,7 +8130,7 @@
     
     DBG_LogInfo(DBG_LOGID_NEW, "POWER_ON: Set recover power on failed wrong code =%d.", errCode[localNid]);
 
-    /* д */
+    /* 写错误码 */
     retVal = nodeSetErrCodeFile(errCode[localNid]);
 
     if (RETURN_OK != retVal) 
@@ -8144,11 +8144,11 @@
 
 
 /**************************************************************************
-     :  ڵϵʧܸϢ
- :  rpcContext  RPC
- :  
-   ֵ:
-     :  
+ 功    能:  节点设置上电失败辅助信息
+ 输入参数:  rpcContext  RPC上下文
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void nodeSetPowerOnFailAuxInfo(void* rpcContext)
 {
@@ -8157,13 +8157,13 @@
     POWER_ON_FAILED_AUX_INFO_S*    auxInfo = NULL;
     nid_t    nodeNid = INVALID_NID;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
 
     LVOS_TP_NOPARAM_START(POWER_ON_1_47_100)
     LVOS_TP_END    
 
-    /* ȡݹ */
+    /* 获取传递过来的数据 */
     retVal = GET_SYS_RPC_DATA((void**)&auxInfo, &buffLen, rpcContext);
 
     if (RETURN_OK != retVal)
@@ -8188,7 +8188,7 @@
         return;
     }
     
-    /* ýڵʧϢ*/
+    /* 设置节点失败信息*/
     for(nodeNid = 0; nodeNid < MAX_CTRL_NODE_NUM; nodeNid++)
     {
         if(CHECK_NODEMAP_BIT_VALID(nodeNid, auxInfo->pwrOnFailedNodeBitMap))
@@ -8205,11 +8205,11 @@
 }
 
 /**************************************************************************
-     :  ڵͬϵʧܸϢ
- :  POWER_ON_FAILED_AUX_INFO_S* auxInfo  Ϣ
- :  
-   ֵ:
-     :  
+ 功    能:  节点同步上电失败辅助信息
+ 输入参数:  POWER_ON_FAILED_AUX_INFO_S* auxInfo  辅助信息
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void nodeSyncPowerOnFailAuxInfo(POWER_ON_FAILED_AUX_INFO_S* auxInfo)
 {
@@ -8228,18 +8228,18 @@
                         NULL);
     if (RETURN_OK != retVal)
     {
-        /*ֻӡ*/
+        /*只打印错误*/
         DBG_LogError(DBG_LOGID_NEW, "POWER_ON: Send sys rpc failed.");
     }
     return;
 }
 
 /**************************************************************************
-     :  ڵͬϵʧܸϢ
- :  char* auxInfo        Ϣ
- :  
-   ֵ:
-     :  
+ 功    能:  节点同步清除上电失败辅助信息
+ 输入参数:  char* auxInfo        辅助信息
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void nodeSyncClearPowerOnFailAuxInfo(uint32_t nodeBitmap)
 {
@@ -8262,18 +8262,18 @@
                         NULL);
     if (RETURN_OK != retVal)
     {
-        /*ֻӡ*/
+        /*只打印错误*/
         DBG_LogError(DBG_LOGID_NEW, "POWER_ON: Send sys rpc failed.");
     }
     return;
 }
 
 /**************************************************************************
-     :  ڵýڵ㸴λϢ
- :  POWER_ON_FAILED_INFO_S* nodeResetInfo  -- ڵ㸴λϢ
- :  
-   ֵ:
-     :  
+ 功    能:  节点设置节点复位信息集
+ 输入参数:  POWER_ON_FAILED_INFO_S* nodeResetInfo  -- 节点复位信息集
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void nodeSetNodeResetInfo(POWER_ON_FAILED_INFO_S* nodeResetInfo)
 {
@@ -8293,11 +8293,11 @@
     {
         if(nodeId == localNid)
         {
-            /* ͬıڵϢǷΪԭ */
+            /* 同步过来的本节点信息是否为故障原因 */
             if(MIN_RESET_REASON_ACTIVE_ERROR_CODE <= nodeResetInfo[nodeId].nodeFaultReasonErrCode
              &&CTRL_BOARD_ACTIVE_BUTT > nodeResetInfo[nodeId].nodeFaultReasonErrCode)
             {
-                /* ͬıڵԭΪƻԸλ,ͬǼƻԸλ״̬*/
+                /* 如果同步过来的本节点故障原因为计划性复位,则同步记计划性复位的状态*/
                 if (CTRL_BOARD_PLANNED_RESET == nodeResetInfo[nodeId].nodeFaultReasonErrCode
                   &&SYS_DEFAULT_VALUE_CODE== nodeResetInfo[nodeId].nodeFaultReasonParaCode)
                 {
@@ -8308,23 +8308,23 @@
                     setNodeFaultReasonByNodeId(nodeId, nodeResetInfo[nodeId].nodeFaultReasonErrCode, nodeResetInfo[nodeId].nodeFaultReasonParaCode);
                 }
             }
-            /* ͬıڵϢΪԭҪͬڵ㸴λԭ */
+            /* 同步过来的本节点信息不为故障原因，需要反向同步本节点复位原因 */
             else
             {
-                /* ϵͬʱûбعԭͬλԭ*/
+                /* 上电同步时，发现没有备控故障原因，则同步复位原因*/
                 recordNodeFaultReasonLocalNid(errCode, SYS_DEFAULT_ERROR_CODE);
             }
         }
         else
         {
-            /*ԭΪʼֵԸΪλԭ*/
+            /*故障原因不为初始值，可以覆盖为复位原因*/
             if (SYS_DEFAULT_ERROR_CODE != nodeResetInfo[nodeId].nodeFaultReasonErrCode)  
             {
                 setNodeFaultReasonByNodeId(nodeId, nodeResetInfo[nodeId].nodeFaultReasonErrCode, nodeResetInfo[nodeId].nodeFaultReasonParaCode);
             }
         }
         
-        /*ϢΪʼֵͬ*/
+        /*辅助信息不为初始值，可以同步*/
         if (strcmp(nodeResetInfo[nodeId].pwrOnFailedAuxInfo, SYS_DEFAULT_MESSAGE_INFO))
         {
             setNodePowerOnFailAuxiliaryInfo(nodeId, nodeResetInfo[nodeId].pwrOnFailedAuxInfo);
@@ -8334,23 +8334,23 @@
     return;
 }
 /**************************************************************************
-     :  ڵڵ㸴λϢ
- :  rpcContext -- rpcָ
- :  
-   ֵ:
-     :  
+ 功    能:  节点清除节点复位信息集
+ 输入参数:  rpcContext -- rpc任务指针
+ 输出参数:  无
+ 返 回 值:
 **************************************************************************/
+extern void procCpuCheckChange(void *rpcContext);
 void nodeClearNodeResetInfo(void *rpcContext)
 {
     int32_t retVal = RETURN_ERROR;
     uint32_t buffLen = 0;
     uint32_t* clearNodeBitMap;
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
 
     DBG_LogInfo(DBG_LOGID_NEW, "POWER_ON: Clear node reset info.");
 
-    /* ȡݹ */
+    /* 获取传递过来的数据 */
     retVal = GET_SYS_RPC_DATA((void**)&clearNodeBitMap, &buffLen, rpcContext);
 
     if (RETURN_OK != retVal)
@@ -8360,39 +8360,39 @@
         END_SYS_RPC_TASK(RETURN_ERROR, rpcContext);
         return;
     }
-
     if(sizeof(uint32_t) != buffLen)
     {
+        procCpuCheckChange(rpcContext);
 		DBG_LogError(DBG_LOGID_NEW, "POWER_ON: Get sys rpc data length(%u) error.", buffLen);
 		END_SYS_RPC_TASK(RETURN_ERROR, rpcContext);
         return;
     }
        
-    /* ϵɹĽڵԭ */
+    /* 重置上电成功的节点故障原因 */
     setNodeFaultReasonByBitMap(*clearNodeBitMap, SYS_DEFAULT_ERROR_CODE, SYS_DEFAULT_ERROR_CODE);
 
-    /* ɾϵɹĸλԭ¼ļ */
+    /* 删除上电成功的复位原因记录文件 */
     deleteNodeResetReasonFile();
     
     END_SYS_RPC_TASK(RETURN_OK, rpcContext);
     return;
 }
 /**************************************************************************
-     :  ڵͬڵ㸴λϢ
- :  rpcContext -- rpcָ
- :  
-   ֵ:
-     :  
+ 功    能:  节点同步节点复位信息集
+ 输入参数:  rpcContext -- rpc任务指针
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void nodeSyncNodeResetInfo(void *rpcContext)
 {
     int32_t retVal = RETURN_ERROR;
     uint32_t buffLen = 0;
     POWER_ON_FAILED_INFO_S* nodeResetInfo;
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
 
-    /* ȡݹ */
+    /* 获取传递过来的数据 */
     retVal = GET_SYS_RPC_DATA((void**)&nodeResetInfo, &buffLen, rpcContext);
 
     if (RETURN_OK != retVal)
@@ -8410,7 +8410,7 @@
         return;
     }
     
-    /* øλԭڴͬ */
+    /* 设置复位原因内存同步 */
     nodeSetNodeResetInfo(nodeResetInfo);
 
     DBG_LogInfo(DBG_LOGID_NEW, "POWER_ON: Node sync reset info.");
@@ -8422,11 +8422,11 @@
 
 /* DTS2015041300515 modified by x00283088, 2015-04-21 begin */
 /**************************************************************************
-     :   ڵָͬLogĻص
- :  ret / context
- :  
- ֵ  :     
-     :  
+ 功    能:   节点恢复同步Log的回调
+ 输入参数:  ret / context
+ 输出参数:  无
+ 返回值  :     无
+ 其 他   :  无
 **************************************************************************/
 static void clsSyncRedoLogCb(int32_t ret, void* context)
 {
@@ -8446,11 +8446,11 @@
 }
 
 /**************************************************************************
-     :   ϵͬ־
- :  task
- :  
- ֵ  :     
-     :  
+ 功    能:   上电同步日志
+ 输入参数:  task
+ 输出参数:  无
+ 返回值  :     无
+ 其 他   :  无
 **************************************************************************/
 static int32_t clsSyncRedoLog(TASK_S* task)
 {
@@ -8466,7 +8466,7 @@
 
     if (NODE_RECOVER_POWER_ON == pwrTask->powerOnType)
     {
-        /* ϵڵ */
+        /* 本轮上电节点个数 */
         sum = hweight32(pwrTask->pwrBitmap);
 
 		if(MAX_CTRL_NODE_NUM < sum)
@@ -8496,11 +8496,11 @@
 /* DTS2015041300515 modified by x00283088, 2015-04-21 end */
 
 /**************************************************************************
-     :   ϵͬصʱ
- :  task
- :  
- ֵ  :     
-     :  
+ 功    能:   上电同步主控的自愈处理时间
+ 输入参数:  task
+ 输出参数:  无
+ 返回值  :     无
+ 其 他   :  无
 **************************************************************************/
 static int32_t clsSyncHealHanleTime(TASK_S* task)
 {
@@ -8523,38 +8523,38 @@
 }
 
 /**************************************************************************
-     :  ϵɴϢ
- :  task
- :  
- ֵ  :     
-     :  
+ 功    能:  上电完成错误信息
+ 输入参数:  task
+ 输出参数:  无
+ 返回值  :     无
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnErrInfo(TASK_S* task)
 {
     int32_t retVal = RETURN_ERROR;
     POWER_ON_TASK_S *powerOnTask = NULL;
  
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
  
     powerOnTask = (POWER_ON_TASK_S*)task;
     retVal = GET_TASK_RESULT(task);
  
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(powerOnTask);
  
-    /* ˱ʶ */
+    /* 清除回退标识 */
     UNSET_ONE_UNDO_RES_FLAG(task, CLS_POWER_ON_ERRLOG_SET_RB_FALG);
  
     if (RETURN_OK == retVal)
     {
-        /* ϵɾϢ*/
+        /* 上电完成删除错误码信息*/
         DBG_LogInfo(DBG_LOGID_NEW, "POWER_ON: success. clear error log.");
         pwrOnClearFailLog(task);
     }
     else
     {
-        /* ϵʧܼ¼־ͷ͸澯*/
+        /* 上电失败记录错误日志和发送告警，*/
         DBG_LogInfo(DBG_LOGID_NEW, "POWER_ON: fail. set error log.");
         pwrOnFailSetFailLog(task);
     }
@@ -8563,13 +8563,13 @@
 /* DTS2015041300515 modified by x00283088, 2015-04-21 end */
 
 /**************************************************************************
-     :  ¼ϵʧܽڵĴϢ(ϵʧ,ϵп¼)Ϣframe namenode
- :  pwrBitMap   --  ϵʧܽڵλͼ
-            faultBitMap --  ʧܽڵλͼ
-            errCode     --  ʧܵĴ
- :  
-   ֵ:  
-     :  
+ 功    能:  记录上电失败节点的错误信息(上电失败,上电所有控制器记录)，信息由frame name和node组成
+ 输入参数:  pwrBitMap   --  上电失败节点的位图
+            faultBitMap --  失败节点的位图
+            errCode     --  失败的错误码
+ 输出参数:  无
+ 返 回 值:  无
+ 其    他:  无
 **************************************************************************/
 void recordFailedWithFrameAndNodeByPwrFailed(uint32_t pwrBitMap, uint32_t faultBitMap, int32_t errCode)
 {
@@ -8609,11 +8609,11 @@
 }
 
 /**************************************************************************
-     :  ¼ϵʧܽڵĴϢϢframe namenode
- :faultBitMap ʧܽڵλͼ
- :  
-   ֵ:
-     :  
+ 功    能:  记录上电失败节点的错误信息，信息由frame name和node组成
+ 输入参数:faultBitMap 失败节点的位图
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void recordFailedWithFrameAndNodeByIsolate(uint32_t faultBitMap, int32_t errCode)
 {
@@ -8639,12 +8639,12 @@
 }
 
 /**************************************************************************
-     :  ϵʧϢǷָʽ
- :  pwrOnFailedParaInfo -- ϵʧϢ
-            paraInfoLength -- Ϣ
- :  
- ֵ  :  
-     :
+ 功    能:  检查上电失败信息是否按照指定格式
+ 输入参数:  pwrOnFailedParaInfo -- 上电失败信息
+            paraInfoLength -- 信息长度
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :
 **************************************************************************/
 int checkPowerOnFailedInfoValid(nid_t nodeId, int32_t pwrOnFailedErrCode, 
                                                     char * pwrOnFailedParaInfo, uint32_t paraInfoLength)
@@ -8652,21 +8652,21 @@
     char * ptr = NULL;
     int32_t count = 0;
     
-    //벻С10
+    //错误码不能小于10
     if (pwrOnFailedErrCode < MIN_POWER_ON_ERR_CODE)
     {
         DBG_LogError(DBG_LOGID_NEW, "Power on: errcode(%u) not valid.", pwrOnFailedErrCode);
         return RETURN_ERROR;
     }
     
-    //ڵܳýڵ
+    //节点数不能超过最大配置节点数
     if (nodeId >= MAX_CTRL_NODE_NUM)
     {
         DBG_LogError(DBG_LOGID_NEW, "Power on: nodeId(%u) not valid.", nodeId);
         return RETURN_ERROR;
     }
 
-    //ַд
+    //字符串长度填写错误
     if(paraInfoLength < strlen(pwrOnFailedParaInfo))
     {
         DBG_LogError(DBG_LOGID_NEW, "Power on: failed info paraInfoLength not correct.");
@@ -8679,7 +8679,7 @@
         return RETURN_ERROR;
     }
     
-    //пո
+    //不能有空格
     ptr = strstr(pwrOnFailedParaInfo, " ");
     if (NULL != ptr)
     {
@@ -8687,7 +8687,7 @@
         return RETURN_ERROR;
     }
 
-    //β';'
+    //结尾必须以';'结束
     ptr = pwrOnFailedParaInfo;
     if (*(ptr+strlen(pwrOnFailedParaInfo)-1) != ';')
     {
@@ -8695,7 +8695,7 @@
         return RETURN_ERROR;
     }
 
-    //@
+    //不能有@符号
     ptr = strstr(pwrOnFailedParaInfo, "@");
     if (NULL != ptr)
     {
@@ -8703,7 +8703,7 @@
         return RETURN_ERROR;
     }
     
-    //Ϊֽ֧ڵMAX_CTRL_NODE_NUM(16)
+    //最大组数为最大支持节点数MAX_CTRL_NODE_NUM(16)
     for (ptr = pwrOnFailedParaInfo; '\0' != *ptr; ptr++)
     {
         if(';' == *ptr)
@@ -8722,15 +8722,15 @@
 
 
 /**************************************************************************
-     :  ¼ϵʧϢȫֱnodeFaultReasonInfo
-                    ϵʧܺɼȺռƴװ浽sys_poweron_recordļ
- :  pwrOnFailedNodeBitMap---ʧܽڵλͼ
-                            pwrOnFailedErrCode----
-                            pwrOnFailedParaInfo -- ϵʧϢ
-                            paraInfoLength -- Ϣ
- :  
- ֵ  :  
-     :
+ 功    能:  记录上电失败信息到全局变量nodeFaultReasonInfo，
+                    上电失败后，由集群主收集拼装存到sys_poweron_record文件
+ 输入参数:  pwrOnFailedNodeBitMap---失败节点位图
+                            pwrOnFailedErrCode----错误码
+                            pwrOnFailedParaInfo -- 上电失败信息
+                            paraInfoLength -- 信息长度
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :
 **************************************************************************/
 void recordPwrOnFailedInfoByBitMap(uint32_t bitmap, int32_t pwrOnFailedErrCode, 
                                                     char* pwrOnFailedParaInfo, int32_t paraInfoLength)
@@ -8746,12 +8746,12 @@
     }
 }
 
-//ȳˣԽض
+//如果长度超了，尝试截断
 void failedInfoLongTruncated(EVENT_NODE_FAULT_INFO_SYNC_S * outputInfo,  char * pwrOnFailedParaInfo, int32_t paraInfoLength)
 {
     int32_t index = 0;
     
-    //ͷļ涨ܳ240ֽ
+    //头文件规定不能超过240字节
     if (paraInfoLength <= SYS_POWERON_FAILED_MAX_LEN)
     {
         snprintf(outputInfo->nodeFaultInfo, 
@@ -8764,13 +8764,13 @@
 
     DBG_LogInfo(DBG_LOGID_NEW, "Power on: failed info longer than 240(actual %d), try to truncated.", paraInfoLength);
 
-    /*󳤶ȣ240ַһλǽ*/
+    /*拷贝最大长度，允许240个字符，最后一位是结束符*/
     snprintf(outputInfo->nodeFaultInfo, 
                  SYS_POWERON_FAILED_MAX_LEN + 1,
                  "%s",pwrOnFailedParaInfo);
     outputInfo->nodeFaultInfo[SYS_POWERON_FAILED_MAX_LEN] = '\0';
 
-    /*240ַڣһֺΪ޽нض*/
+    /*在240个字符以内，以最后一个分号为界限进行截断*/
     for (index = SYS_POWERON_FAILED_MAX_LEN; index >0; index--)
     {
         if(outputInfo->nodeFaultInfo[index] == ';')
@@ -8785,15 +8785,15 @@
 }
 
 /**************************************************************************
-     :  ¼ϵʧϢȫֱnodeFaultReasonInfo
-                    ϵʧܺɼȺռƴװ浽sys_poweron_recordļ
- :  nodeId---ʧܽڵID
-                            pwrOnFailedErrCode----
-                            pwrOnFailedParaInfo -- ϵʧϢ
-                            paraInfoLength -- Ϣ
- :  
- ֵ  :  
-     :
+ 功    能:  记录上电失败信息到全局变量nodeFaultReasonInfo，
+                    上电失败后，由集群主收集拼装存到sys_poweron_record文件
+ 输入参数:  nodeId---失败节点ID
+                            pwrOnFailedErrCode----错误码
+                            pwrOnFailedParaInfo -- 上电失败信息
+                            paraInfoLength -- 信息长度
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :
 **************************************************************************/
 int32_t recordPowerOnFailedInfo(nid_t nodeId, int32_t pwrOnFailedErrCode, 
                                                     char * pwrOnFailedParaInfo, int32_t paraInfoLength)
@@ -8809,11 +8809,11 @@
 
     memset(&tempFaultInfo,0,sizeof(EVENT_NODE_FAULT_INFO_SYNC_S));
 
-    //¼뼰Ϣʱֹڴ
+    //记录错误码及信息到临时变量，防止踩内存
     tempFaultInfo.errCode = pwrOnFailedErrCode;
     failedInfoLongTruncated(&tempFaultInfo, pwrOnFailedParaInfo, paraInfoLength);
     
-    //ʧϢЧ
+    //检查失败信息有效性
     retVal = checkPowerOnFailedInfoValid(nodeId, tempFaultInfo.errCode, 
                                             tempFaultInfo.nodeFaultInfo, 
                                             tempFaultInfo.nodeFaultInfoLength);
@@ -8823,7 +8823,7 @@
         return RETURN_ERROR;
     }
 
-    //¼ϵʧϢ
+    //记录上电失败信息
     spin_lock(&localNodeFaultInfoLock);
     localNodeFaultInfo.allNodeFaultInfo[nodeId].errCode = tempFaultInfo.errCode;
     snprintf(localNodeFaultInfo.allNodeFaultInfo[nodeId].nodeFaultInfo, 
@@ -8843,13 +8843,13 @@
 }
 
 /**************************************************************************
-     :  ¼ָڵڴ治һ´Ϣ
- :TASK_S * task
-                            nid_t nodeId-----¼ĽڵID
- :  
-   ֵ:RETURN_ERROR----ʧ
-                    RETURN_OK-----ɹ
-     :  
+ 功    能:  记录指定节点的内存不一致错误信息
+ 输入参数:TASK_S * task
+                            nid_t nodeId-----被记录的节点ID
+ 输出参数:  无
+ 返 回 值:RETURN_ERROR----失败
+                    RETURN_OK-----成功
+ 其    他:  无
 **************************************************************************/
 static int32_t pwrOnRecordDifMemSize(TASK_S * task, nid_t nodeId)
 {
@@ -8859,7 +8859,7 @@
     char failedInfoTmp[NODE_FAULT_INFO_SYNC_LENGTH] = {0};
     char frameName[FRAME_NAME_LEN] = {0};
     POWER_ON_SELF_CHECK_TASK_S *pwrTask = NULL;
-    uint32_t groupBitMap = 0;//ڵнڵλͼ
+    uint32_t groupBitMap = 0;//节点所在引擎的所有节点位图
     uint16_t nodeGroupId = 0;
     nid_t nodeIndex = 0;
 
@@ -8872,7 +8872,7 @@
     getNodeGroupId(nodeId, &nodeGroupId);
     getAllNodeIdInfoInNodeGroup(nodeGroupId, &groupBitMap);
 
-    //¼ڵڴϢ
+    //记录节点所在引擎的内存信息
     for (nodeIndex = 0; nodeIndex < MAX_CTRL_NODE_NUM; nodeIndex++)
     {
         if (!CHECK_NODEMAP_BIT_VALID(nodeIndex, groupBitMap))
@@ -8888,7 +8888,7 @@
         snprintf(failedInfoTmp, MAX_NAME_LEN, "%s,%s,%lluGB(%lluBytes);", 
                                 frameName, nodeName,memSizeGb, pwrTask->localNodeInfo[nodeIndex].memSize);
 
-        //ֹڴ棬ǿƽض
+        //防止踩内存，强制截断
         if ( (strlen(failedInfo)+strlen(failedInfoTmp)) >= (SYS_POWERON_FAILED_MAX_LEN-1) )
         {
             break;
@@ -8901,13 +8901,13 @@
 }
 
 /**************************************************************************
-     :  ʧϢ
-                    
- :  EVENT_NODE_FAULT_INFO_SYNC_S * Info_s        ʧϢ
-                            char * infoStr    ʧϢַ
- :  
-   ֵ: 
-     :  ڲǰ֤
+ 功    能:  解析失败信息各组数据
+                    最多
+ 输入参数:  EVENT_NODE_FAULT_INFO_SYNC_S * Info_s        失败信息数组
+                            char * infoStr    失败信息字符串
+ 输出参数:  无
+ 返 回 值: 组数
+ 其    他:  内部函数，调用前保证
 **************************************************************************/
 static int32_t getPowerOnFailedGroupInfo(EVENT_NODE_FAULT_INFO_SYNC_S * Info_s, char * infoStr)
 {
@@ -8926,7 +8926,7 @@
         }
         Info_s[count].nodeFaultInfo[infoIndex] = *ptr;
 
-        //ֹԽ磬Խֻ߽֮ڴ
+        //防止数组越界，越界之后只访问数组边界内存
         if (infoIndex < (NODE_FAULT_INFO_SYNC_LENGTH-1))
         {
             infoIndex++;
@@ -8937,15 +8937,15 @@
 }
 
 /**************************************************************************
-     :  ȥӺ
- : int32_t * dstCount----Ŀ
-                            EVENT_NODE_FAULT_INFO_SYNC_S * dstInfoStruct, ----ĿĽṹ
-                            int32_t * srcCount----Դ
-                            EVENT_NODE_FAULT_INFO_SYNC_S * srcInfoStruct----ԴĽṹ
- :  int32_t * dstCount ----Ŀ
-                            EVENT_NODE_FAULT_INFO_SYNC_S * dstInfoStruct----ĿĽṹ
-   ֵ:
-     :  
+ 功    能:  去重子函数
+ 输入参数: int32_t * dstCount----目的组数
+                            EVENT_NODE_FAULT_INFO_SYNC_S * dstInfoStruct, ----目的组的结构体
+                            int32_t * srcCount----源的组数
+                            EVENT_NODE_FAULT_INFO_SYNC_S * srcInfoStruct----源的组的结构体
+ 输出参数:  int32_t * dstCount ----目的组数
+                            EVENT_NODE_FAULT_INFO_SYNC_S * dstInfoStruct----目的组的结构体
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void failedInfoDelDoubleCross(int32_t * dstCount, EVENT_NODE_FAULT_INFO_SYNC_S * dstInfoStruct, 
                                             int32_t * srcCount, EVENT_NODE_FAULT_INFO_SYNC_S * srcInfoStruct)
@@ -8954,15 +8954,15 @@
     int32_t indexDst = 0;
     bool double_flag = FALSE;
     
-    for (indexSrc=0; indexSrc<*srcCount; indexSrc++)//Դ,
+    for (indexSrc=0; indexSrc<*srcCount; indexSrc++)//遍历源,
     {
-        //16飬ض
+        //超过16个组，截断
         if (*dstCount>=MAX_CTRL_NODE_NUM)
         {
             break;
         }
 
-        for (indexDst = 0; indexDst < *dstCount; indexDst++)//ĿǷظ
+        for (indexDst = 0; indexDst < *dstCount; indexDst++)//查找目的是否有重复
         {
             if( 0 == strcmp(dstInfoStruct[indexDst].nodeFaultInfo, srcInfoStruct[indexSrc].nodeFaultInfo))
             {
@@ -8986,14 +8986,14 @@
 }
 
 /**************************************************************************
-     :  ȥӺ
-                    16
- :  count ҪȥصϢ
-                            infoҪȥصϢ
- :  count ҪȥصϢ
-                            infoҪȥصϢ
-   ֵ:
-     :  
+ 功    能:  去重子函数
+                    最多16个组
+ 输入参数:  count 要去重的信息个数
+                            info要去重的信息
+ 输出参数:  count 要去重的信息个数
+                            info要去重的信息
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void failedInfoDelDoubleInner(int32_t * count, EVENT_NODE_FAULT_INFO_SYNC_S * info)
 {
@@ -9021,7 +9021,7 @@
         return;
     }
     
-    //ʱ飬ûظģӵʱ
+    //遍历输出临时数组，没有重复的，则添加到输出临时数组
     for (indexInput=0;indexInput < *count;indexInput++)
     {
         for (indexOutput=0;indexOutput<outputCount;indexOutput++)
@@ -9042,7 +9042,7 @@
         outputCount++;
     }
 
-    //
+    //整理输出
     *count = outputCount;
     for (indexInput = 0; indexInput < outputCount; indexInput++)
     {
@@ -9056,16 +9056,16 @@
 }
 
 /**************************************************************************
-     :  ϲϵʧϢȥأԴϢϲĿϢ
-                    16
- :  char * dstInfoStr ĿϢ
-                            char * srcInfoStrԴϢ
- :  
-   ֵ:
-     :  
- :  ĿַdstInfoStr=xxx;yyy;                  
-                ԴַsrcInfoStr=zzz;xxx;
-                պϲַdstInfoStr=xxx;yyy;zzz;
+ 功    能:  合并上电失败信息并去重，从源信息合并到目的信息
+                    最多16个组
+ 输入参数:  char * dstInfoStr 目的信息
+                            char * srcInfoStr源信息
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  
+ 例如:  目的字符串dstInfoStr=xxx;yyy;                  
+                源字符串是srcInfoStr=zzz;xxx;
+                最终合并后的字符串是dstInfoStr=xxx;yyy;zzz;
 **************************************************************************/
 void mergeFailedInfo(char * dstInfoStr, char * srcInfoStr)
 {
@@ -9102,30 +9102,30 @@
     memset(dstInfoStruct, 0, MAX_CTRL_NUMBERS*sizeof(EVENT_NODE_FAULT_INFO_SYNC_S));
     memset(srcInfoStruct, 0, MAX_CTRL_NUMBERS*sizeof(EVENT_NODE_FAULT_INFO_SYNC_S));
 
-    //ȡdstĴϢ
+    //获取dst的错误信息
     dstCount = getPowerOnFailedGroupInfo(dstInfoStruct, dstInfoStr);
     srcCount = getPowerOnFailedGroupInfo(srcInfoStruct, srcInfoStr);
     
-    //ѾdstInfoStruct԰ַ
+    //已经解析到dstInfoStruct，可以把字符串清零
     memset(dstInfoStr, 0, sizeof(char) * (SYS_POWERON_FAILED_MAX_LEN + 1));
 
-    //ڲȥ
+    //内部去重
     failedInfoDelDoubleInner(&dstCount, dstInfoStruct);
     failedInfoDelDoubleInner(&srcCount, srcInfoStruct);
 
-    //ԴĿȥأϲĿĽṹ
+    //源和目的去重，合并到目的结构体
     failedInfoDelDoubleCross(&dstCount, dstInfoStruct, &srcCount, srcInfoStruct);
 
-    //ѽṹתַ
+    //把结构体转换成字符串
     for (dstCountIdx=0; dstCountIdx<dstCount; dstCountIdx++)
     {
         ptr=dstInfoStruct[dstCountIdx].nodeFaultInfo;
         len = strlen(ptr)+strlen(dstInfoStr);
 
-        //֧240ַĲϢ
+        //可以支持240个字符的参数信息
         if (len > (SYS_POWERON_FAILED_MAX_LEN - 1))
         {
-            //Ҫӵַַض
+            //如果将要添加的字符大于最大字符串长度则截断
             DBG_LogWarning(DBG_LOGID_NEW,  "POWER_ON: Failed info truncated.");
             break;
         }
@@ -9135,7 +9135,7 @@
             dstStrIdx++;
         }
         
-        dstInfoStr[dstStrIdx] = ';';//ÿϢӷֺ
+        dstInfoStr[dstStrIdx] = ';';//按规则在每组信息后添加分号
         dstStrIdx++;
     }
     dstInfoStr[dstStrIdx] = '\0';
@@ -9145,11 +9145,11 @@
 }
 
 /**************************************************************************
-     :  ڵ㷴ϵʧϢ
- :  char* auxInfo        Ϣ
- :  
-   ֵ:
-     :  
+ 功    能:  节点反馈上电失败信息
+ 输入参数:  char* auxInfo        辅助信息
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void nodeReturnPowerOnFailedInfo(void  * rpcContext)
 {
@@ -9173,7 +9173,7 @@
     (void)GET_SYS_RPC_SRC_NID(rpcContext, &srcNid);
     DBG_LogInfo(DBG_LOGID_NEW,  "POWER_ON: Receive rpc to return power on failed info(loc %u, src %u) .", localNid, srcNid);
     
-    /*رڵϢ*/
+    /*返回本节点错误信息*/
     spin_lock(&localNodeFaultInfoLock);
     retVal = SET_SYS_RPC_DATA(&localNodeFaultInfo.allNodeFaultInfo[localNid],  sizeof(EVENT_NODE_FAULT_INFO_SYNC_S),  rpcContext);
     spin_unlock(&localNodeFaultInfoLock);
@@ -9187,13 +9187,13 @@
 }
 
 /**************************************************************************
-     :  ԴϲĿĴ룬ͻ±ĿĴ
- :  int32_t * dstErrCode        ĿĴ
-                             int32_t srcErrCode             Դ
- :  
-   ֵ: RETURN_OK----ϲɹ
-                        RETURN_ERROR----ϲʧ
-     :  
+ 功    能:  将源错误码合并到目的错误码，冲突情况下保留目的错误码
+ 输入参数:  int32_t * dstErrCode        目的错误码
+                             int32_t srcErrCode             源错误码
+ 输出参数:  无
+ 返 回 值: RETURN_OK----合并成功
+                        RETURN_ERROR----合并失败
+ 其    他:  无
 **************************************************************************/
 int32_t mergeErrcode(int32_t * dstErrCode, int32_t srcErrCode)
 {
@@ -9203,7 +9203,7 @@
     }
     if (*dstErrCode>MIN_POWER_ON_ERR_CODE)
     {
-        //֤2߶˴룬ǲƥ,ĿĴ룬ϲ
+        //证明2边都传了错误码，但是不匹配,保留目的错误码，不合并
         if (*dstErrCode != srcErrCode)
         {
             DBG_LogInfo(DBG_LOGID_NEW,  "POWER_ON: errcode not matched.");
@@ -9215,13 +9215,13 @@
 }
 
 /**************************************************************************
-     :  ϲȺ룬̴Ϊ
- :  int32_t * dstErrCode        ĿĴ
-                             int32_t srcErrCode             Դ
- :  
-   ֵ: RETURN_OK----ϲɹ
-                        RETURN_ERROR----ϲʧ
-     :  
+ 功    能:  合并集群错误码，以流程错误码为主
+ 输入参数:  int32_t * dstErrCode        目的错误码
+                             int32_t srcErrCode             源错误码
+ 输出参数:  无
+ 返 回 值: RETURN_OK----合并成功
+                        RETURN_ERROR----合并失败
+ 其    他:  无
 **************************************************************************/
 int32_t mergeClsErrcode(int32_t * dstErrCode, int32_t srcErrCode, TASK_S * task)
 {
@@ -9240,12 +9240,12 @@
 }
 
 /**************************************************************************
-     :  ؽϵʧܽڵĴʹϢ
-                            ϳͬһʹϢ
- :  POWER_ON_TASK_S * pwrTask ϵtaskṹ
- :  
-   ֵ:
-     :  
+ 功    能:  主控将所有上电失败节点的错误码和错误信息
+                            整合成同一个错误码和错误信息
+ 输入参数:  POWER_ON_TASK_S * pwrTask 上电task结构体
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  
 **************************************************************************/
 void mergeErrCodeAndInfo(POWER_ON_TASK_S * pwrTask)
 {
@@ -9269,12 +9269,12 @@
         return;
     }
     
-    //ϴʹϢԭ:
-    //1ڵ㱣ԴʹϢ
-    //2ϵʧϢϳͬһ
+    //整合错误码和错误信息原则:
+    //1、隔离节点保留各自错误码和错误信息
+    //2、其他上电失败信息整合成同一个
     memset(tempNodeFaultInfo, 0, sizeof(EVENT_NODE_FAULT_INFO_SYNC_S));
 
-    //ȽʹϢϲһʱ
+    //先将错误码和错误信息合并到一个临时变量
     for (nodeIdx = 0; nodeIdx < MAX_CTRL_NODE_NUM; nodeIdx++)
     {
         if (CHECK_NODEMAP_BIT_VALID(nodeIdx, pwrTask->isolatedBitmap))
@@ -9286,7 +9286,7 @@
             continue;
         }
         spin_lock(&localNodeFaultInfoLock);
-        //ʧܵĴΪ׼ʧܴϢϲʱ
+        //以流程失败的错误错误码为准，把流程失败错误码信息合并到临时变量
         retVal = mergeClsErrcode(&tempErrCode, localNodeFaultInfo.allNodeFaultInfo[nodeIdx].errCode, task);
         if (RETURN_OK == retVal)
         {
@@ -9296,7 +9296,7 @@
         spin_unlock(&localNodeFaultInfoLock);
     }
 
-    //ٽϵʧʱϲʧܽڵָṹ
+    //再将上电失败临时变量合并到各个失败节点的指定结构体
     for (nodeIdx = 0; nodeIdx < MAX_CTRL_NODE_NUM; nodeIdx++)
     {
         if (CHECK_NODEMAP_BIT_VALID(nodeIdx, pwrTask->isolatedBitmap))
@@ -9321,11 +9321,11 @@
 }
 
 /**************************************************************************
-     :  ռϵʧϢ
- :  char* auxInfo        Ϣ
- :  
-   ֵ:
-     :  
+ 功    能:  主控收集上电失败信息
+ 输入参数:  char* auxInfo        辅助信息
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void getOtherNodePowerOnfailedInfo(void *rpcContext, void *context)
 {
@@ -9338,16 +9338,16 @@
     uint32_t len = 0;
     int32_t taskNodeResult[MAX_CTRL_NODE_NUM] = {0};
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
     CTRL_UTIL_IF(NULL != context);
 
-    //ʼҪ
+    //初始化必要参数
     pwrTask = (POWER_ON_TASK_S *)context;
     baseTask = &(pwrTask->baseTask);
     memset(&rpcParam, 0, sizeof(SYS_RPC_PARAM_S));
 
-    //ȡ͵RPC
+    //获取发送的RPC参数
     retVal = GET_SYS_RPC_PARAM(&rpcParam, rpcContext);
     if (RETURN_OK != retVal)
     {
@@ -9357,7 +9357,7 @@
         return;
     }
 
-    /* ȡRPC */
+    /* 获取RPC处理结果 */
     retVal = GET_SYS_RPC_NODE_RESULT(taskNodeResult, MAX_CTRL_NODE_NUM, rpcContext);
     if (RETURN_OK != retVal)
     {
@@ -9367,14 +9367,14 @@
         return;
     }
 
-    /*ȡRPCݺϲصĴϢ*/
+    /*获取RPC返回数据合并到本地的错误信息*/
     for (nodeIdx = 0; nodeIdx < MAX_CTRL_NODE_NUM; nodeIdx++)
     {
         if (!CHECK_NODEMAP_BIT_VALID(nodeIdx, rpcParam.nodeBitMap))
         {
             continue;
         }
-        //ֻܽOK
+        //只接受结果OK的数据
         if (RETURN_OK != taskNodeResult[nodeIdx])
         {
             continue;
@@ -9389,11 +9389,11 @@
         if(RETURN_OK == retVal)
         {
             spin_lock(&localNodeFaultInfoLock);
-            //ȡϲʹϢ
+            //取出并合并错误码和错误信息
             retVal = mergeErrcode(&(localNodeFaultInfo.allNodeFaultInfo[nodeIdx].errCode), 
                                               nodeFailedInfo->errCode);
             if (RETURN_OK == retVal)
-            {   //ϲOKܺϲϢ
+            {   //错误码合并OK才能合并错误信息
                 mergeFailedInfo(localNodeFaultInfo.allNodeFaultInfo[nodeIdx].nodeFaultInfo,
                             nodeFailedInfo->nodeFaultInfo);
             }
@@ -9406,7 +9406,7 @@
         }
     }
 
-    //ϱϵʧͳһĴʹϢ
+    //整合本地上电失败统一的错误码和错误信息
     mergeErrCodeAndInfo(pwrTask);
 
     END_SYS_RPC_TASK(RETURN_OK, rpcContext);
@@ -9415,12 +9415,12 @@
 }
 
 /**************************************************************************
-     :  ϵռϵʧϢ
- :  task
- :  
- ֵ  :     
-     :  ֻռϵʧܵĽڵ㣬
-                    ڵϵʧܽڵ
+ 功    能:  上电完成收集上电失败信息
+ 输入参数:  task
+ 输出参数:  无
+ 返回值  :     无
+ 其 他   :  只收集上电失败的节点，
+                    包含隔离节点和正常上电失败节点
 **************************************************************************/
 static int32_t pwrOnCollectFailedInfo(TASK_S* task)
 {
@@ -9428,24 +9428,24 @@
     POWER_ON_TASK_S * powerOnTask = NULL;
     uint32_t needSendBitMap = 0;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != task);
     powerOnTask = (POWER_ON_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(powerOnTask);
 
-    /* ˱ʶ */
+    /* 清除回退标识 */
     UNSET_ONE_UNDO_RES_FLAG(task, CLS_POWER_ON_COLLECT_FAILED_INFO);
 
-    //жǷнڵϵʧܻ
+    //判断是否有节点上电失败或隔离
     if(0 == powerOnTask->isolatedBitmap && RETURN_OK == GET_TASK_RESULT(task))
     {
         TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(task, RETURN_OK);
         return RETURN_OK;
     }
 
-    //ҪĽڵϵʧܵĽڵ㷢
+    //需要向隔离的节点和上电失败的节点发送
     needSendBitMap = powerOnTask->isolatedBitmap | powerOnTask->pwrBitmap;
 
     DBG_LogInfo(DBG_LOGID_NEW,  "POWER_ON: Send rpc isolatedBitmap(%u), pwrOnFailBitMap(%u)", 
@@ -9453,12 +9453,12 @@
 
     if (0 == needSendBitMap)
     {
-        //֤Ӱϵ
+        //保证不影响正常上电
         TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(task, RETURN_OK);
         return RETURN_OK;
     }
     
-    //ϵڵ㷢RPCռʧϢ
+    //向上电节点发送RPC收集失败信息
     retVal = clsSendRpc(SYS_RPC_CLS_GET_NODE_FAULT_INFO,
                     needSendBitMap,
                     NULL,
@@ -9468,18 +9468,18 @@
     if (RETURN_OK != retVal)
     {
         DBG_LogError(DBG_LOGID_NEW,  "POWER_ON: send rpc to collect pwr failed info failed.");
-        TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(task, RETURN_OK);//֤
+        TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(task, RETURN_OK);//保证流程正常走完
         return retVal;
     }
     return RETURN_OK;
 }
 
 /**************************************************************************
-     :  дϵʧϢsys_power_on
- :  task
- :  
- ֵ  :     
-     :  
+ 功    能:  写上电失败信息到sys_power_on
+ 输入参数:  task
+ 输出参数:  无
+ 返回值  :     无
+ 其 他   :  无
 **************************************************************************/
 void pwrOnWriteLocalFailedInfo(void *rpcContext)
 {
@@ -9502,7 +9502,7 @@
         return;
     }
     
-    /* ȡRPC */
+    /* 获取RPC数据 */
     retVal = GET_SYS_RPC_DATA((void **)&globleNodeFailedInfo, &buffLen, rpcContext);
     if (RETURN_OK != retVal)
     {
@@ -9519,14 +9519,14 @@
         return;
     }
 
-    /* ûд룬Ҫд*/
+    /* 没有错误码，不需要写*/
     if (0 == globleNodeFailedInfo->allNodeFaultInfo[localNode].errCode)
     {
         END_SYS_RPC_TASK(RETURN_ERROR, rpcContext);
         return;
     }
 
-    /*ʼдļ*/
+    /*开始写错误码文件*/
     cCommand = (char *)LVOS_MallocGfp(MAX_NAME_LEN+NODE_FAULT_INFO_SYNC_LENGTH, GFP_ATOMIC);
     if (NULL == cCommand)
     {
@@ -9535,26 +9535,26 @@
         return;
     }
 
-    //ɾļ,ڲжļڲɾгӡ
+    //先删文件,内部会判断文件存在才删除，有出错打印
     (void)nodeDeleteErrCodeFile();
 
-    //DTS2018010910723 start x00383968: Ҫִԭִosű
-    //űDM񣬷DM޷־
+    //DTS2018010910723 start x00383968: 需要执行原有流程执行os脚本，
+    //脚本会拉起DM服务，否则DM无法导出日志
     snprintf(cCommand, MAX_NAME_LEN+NODE_FAULT_INFO_SYNC_LENGTH, OSP_RECORD_ABNORMAL_COMMAND, 
                         globleNodeFailedInfo->allNodeFaultInfo[localNode].errCode);
     cCommand[MAX_NAME_LEN+NODE_FAULT_INFO_SYNC_LENGTH-1] = '\0';
-    /* д */
+    /* 写错误码 */
     retVal = callUserExcuteShell(cCommand);
     if (RETURN_OK != retVal) 
     {
-        /* дűӡ */
+        /* 写错误码脚本出错仅打印 */
         DBG_LogWarning(DBG_LOGID_NEW, "POWER_ON: Execute (/usr/local/OSM/script/os_record_abnormal_status.sh) failed.");
     } 
-    //д֮ɾ
+    //写完之后二次删除
     (void)nodeDeleteErrCodeFile();
     //DTS2018010910723 end:
     
-    //дļ
+    //写文件
     memset(cCommand, 0, MAX_NAME_LEN+NODE_FAULT_INFO_SYNC_LENGTH);
     snprintf(cCommand, MAX_NAME_LEN+NODE_FAULT_INFO_SYNC_LENGTH, "echo '%d %s'>%s", 
                         globleNodeFailedInfo->allNodeFaultInfo[localNode].errCode,
@@ -9564,20 +9564,20 @@
     retVal = LVOS_Execute(cCommand);
     if (RETURN_OK != retVal) 
     {
-        /* дűӡ */
+        /* 写错误码脚本出错仅打印 */
         DBG_LogWarning(DBG_LOGID_NEW, "POWER_ON: Echo failed info failed.");
     }
 
-    //DTS2017121602978-start: ıļûΪOceanStorMgrUser̳ԭļû
+    //DTS2017121602978-start: 改变文件用户名为OceanStorMgrUser，继承原有文件用户属性
     memset(cCommand, 0, MAX_NAME_LEN+NODE_FAULT_INFO_SYNC_LENGTH);
     snprintf(cCommand, MAX_NAME_LEN+NODE_FAULT_INFO_SYNC_LENGTH, "chown OceanStorMgrUser -R %s", OSP_RECORD_ABNORMAL_PATH);
     retVal = LVOS_Execute(cCommand);
     if (RETURN_OK != retVal) 
     {
-        /* ޸Ĵļownerӡ */
+        /* 修改错误码文件owner出错仅打印 */
         DBG_LogWarning(LOG_ID_141A, "POWER_ON: Change owner failed.");
     }
-    //DTS2017121602978-end: ıļûΪOceanStorMgrUser̳ԭļû
+    //DTS2017121602978-end: 改变文件用户名为OceanStorMgrUser，继承原有文件用户属性
 
     LVOS_Free(cCommand);
     cCommand = NULL;
@@ -9587,11 +9587,11 @@
 }
 
 /**************************************************************************
-     :  ֪ͨϵڵϢ
- :  task
- :  
- ֵ  :     
-     :  
+ 功    能:  通知上电节点清除错误信息
+ 输入参数:  task
+ 输出参数:  无
+ 返回值  :     无
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnFirstNotifyClearFailedInfo(TASK_S* task)
 {
@@ -9601,10 +9601,10 @@
     CTRL_UTIL_IF(NULL != task);
     powerOnTask = (POWER_ON_TASK_S*)task;
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(powerOnTask);
 
-    //֪ͨϵɹĸڵϵʧϢ
+    //通知上电成功的各节点清除上电失败信息
 
     DBG_LogInfo(DBG_LOGID_NEW,  "POWER_ON: Notify clear, pwrbitmap(%u)", powerOnTask->pwrBitmap);
     pwrOnClearMasterFailedInfo(powerOnTask->pwrBitmap);
@@ -9627,11 +9627,11 @@
 }
 
 /**************************************************************************
-     :  ֪ͨϵڵдϢ
- :  task
- :  
- ֵ  :     
-     :  
+ 功    能:  通知上电节点写错误信息
+ 输入参数:  task
+ 输出参数:  无
+ 返回值  :     无
+ 其 他   :  无
 **************************************************************************/
 static int32_t pwrOnNotifyWriteFailedInfo(TASK_S* task)
 {
@@ -9639,35 +9639,35 @@
     uint32_t needSendBitMap = 0;
     POWER_ON_TASK_S * powerOnTask = NULL;
 
-    /*μ*/
+    /*入参检查*/
     CTRL_UTIL_IF(NULL != task);
     powerOnTask = (POWER_ON_TASK_S*)task;
 
-    /* ˱ʶ */
+    /* 清除回退标识 */
     UNSET_ONE_UNDO_RES_FLAG(task, CLS_POWER_ON_WRITE_FAILED_INFO);
 
-    //жǷнڵϵʧûеĻֱӽ
+    //判断是否有节点上电失败没有的话直接结束
     if( 0 == powerOnTask->isolatedBitmap && RETURN_OK == GET_TASK_RESULT(task) )
     {
         TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(task, RETURN_OK);
         return RETURN_OK;
     }
 
-    //ҪĽڵϵʧܵĽڵ㷢
+    //需要向隔离的节点和上电失败的节点发送
     needSendBitMap = powerOnTask->isolatedBitmap | powerOnTask->pwrBitmap;
     if (0 == needSendBitMap)
     {
-        //֤Ӱϵ
+        //保证不影响正常上电
         TASK_CALL_ACTION_DONE_ASYNC_WITH_RESULT(task, RETURN_OK);
         return RETURN_OK;
     }
 
-    /* ӡϢ */
+    /* 打印调试信息 */
     SET_POWER_ON_TRACE(powerOnTask);
 
     DBG_LogWarning(DBG_LOGID_NEW,  "POWER_ON: Send rpc to write failed info, need write bitMap(%u)", needSendBitMap);
 
-    //֪ͨڵдʧϢ
+    //通知各个节点写失败信息
     spin_lock(&localNodeFaultInfoLock);
     retVal = clsSendRpc(SYS_RPC_CLS_WRITE_NODE_FAULT_INFO,
                     needSendBitMap,
@@ -9687,11 +9687,11 @@
 }
 
 /**************************************************************************
-     :  ϵʧϢ
- :  task
- :  
- ֵ  :     
-     :  
+ 功    能:  清除上电失败信息
+ 输入参数:  task
+ 输出参数:  无
+ 返回值  :     无
+ 其 他   :  无
 **************************************************************************/
 void clearPowerOnFailedInfo(void *rpcContext)
 {
@@ -9709,7 +9709,7 @@
         DBG_LogWarning(DBG_LOGID_NEW, "POWER_ON: Clear file failed.");
     }
 
-    //ϵڵĴϢڴ
+    //清除上电节点的错误信息内存数据
     spin_lock(&localNodeFaultInfoLock);
     memset(&localNodeFaultInfo, 0, sizeof(PWRON_ERROR_INFO_S));
     spin_unlock(&localNodeFaultInfoLock);
@@ -9719,11 +9719,11 @@
 }
 
 /**************************************************************************
-     :  ýڵϵڴǷھ
- :  task
- :  
- ֵ  :     
-     :  
+ 功    能:  检查该节点上的内存数据是否存在镜像
+ 输入参数:  task
+ 输出参数:  无
+ 返回值  :     无
+ 其 他   :  无
 **************************************************************************/
 static bool isCmmNodeHaveMirror(nid_t nodeId)
 {
@@ -9739,7 +9739,7 @@
     retVal = getVnodeListByWorkNidSyncIntf(nodeId, vNodeList, &vNodeNumber);
     if (RETURN_OK != retVal)
     {
-        /* ȡvnodeϢʧܣĬϸýڵϵڴ޾񣬲ع */
+        /* 获取vnode信息失败，默认该节点上的内存数据无镜像，不能重构 */
         CTRL_UTIL_PRINT_LIMIT(CTRL_LOG_PRINT_INTERVAL, 
                               CTRL_LOG_NEW_COUNT, 
                               DBG_LOG_WARNING, 
@@ -9749,7 +9749,7 @@
     }
     if (0 == vNodeNumber)
     {
-        /* vnodeڸýڵ㣬øýڵϵڴݿɱع */
+        /* 无vnode工作在该节点，设置该节点上的内存数据可被重构 */
         CTRL_UTIL_PRINT_LIMIT(CTRL_LOG_PRINT_INTERVAL, 
                               CTRL_LOG_NEW_COUNT, 
                               DBG_LOG_INFO, 
@@ -9765,7 +9765,7 @@
         retVal = getVnodePairInfoByPairRoleSync(vnodeId, MASTER_PAIR, &pairInfo);
         if (RETURN_OK != retVal)
         {
-            /* vnode pairϢȡʧܣĬΪvnode޾ڴ޾ */
+            /* vnode pair信息获取失败，默认为该vnode无镜像，设置内存数据无镜像标记 */
             CTRL_UTIL_PRINT_LIMIT(CTRL_LOG_PRINT_INTERVAL, 
                               CTRL_LOG_NEW_COUNT, 
                               DBG_LOG_WARNING, 
@@ -9776,7 +9776,7 @@
     
         if (DOUBLE != pairInfo.pairStatus)
         {
-            /* ڸýڵϵһvnodedoubleΪýڵ޾ */
+            /* 工作在该节点上的任意一个vnode，如果不是double，则认为该节点上数据无镜像 */
             CTRL_UTIL_PRINT_LIMIT(CTRL_LOG_PRINT_INTERVAL, 
                               CTRL_LOG_NEW_COUNT, 
                               DBG_LOG_INFO, 
@@ -9796,11 +9796,11 @@
 }
 
 /**************************************************************************
-     :  нڵ㣬Ƿڴо
- :  task
- :  
- ֵ  :     
-     :  
+ 功    能:  检查所有节点，是否内存中数据有镜像
+ 输入参数:  task
+ 输出参数:  无
+ 返回值  :     无
+ 其 他   :  无
 **************************************************************************/
 int32_t checkCmmDataHaveMirror(CMM_DATA_CHECK_INFO_S* cmmCheckInfo)
 {
@@ -9821,11 +9821,11 @@
 
 
 /**************************************************************************
-     :  ýڵڴǷ
- :  rpcContext  RPC
- :  
- ֵ  :  
-     :  
+ 功    能:  设置节点内存数据是否有冗余
+ 输入参数:  rpcContext  RPC上下文
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/  
 static void nodeSetCmmStatusDependsVnode(void *rpcContext)
 {
@@ -9833,13 +9833,13 @@
     uint32_t buffLen = 0;
     CMM_DATA_CHECK_INFO_S* cmmCheckInfo = NULL;
     nid_t localNid = 0;
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF(NULL != rpcContext);
 
-    /* ȡݹ */
+    /* 获取传递过来的数据 */
     retVal = GET_SYS_RPC_DATA((void**)&cmmCheckInfo, &buffLen, rpcContext);
 
-    /* 쳣øýڵcmm޾񣬲OKֹʧ */
+    /* 异常处理均设置该节点上cmm数据无镜像，并返回OK，防止丢失数据 */
     if (RETURN_OK != retVal || ((sizeof(CMM_DATA_CHECK_INFO_S)) != buffLen))
     {
         CTRL_UTIL_PRINT_LIMIT(CTRL_LOG_PRINT_INTERVAL, 
@@ -9895,10 +9895,10 @@
 }
 
 
-/* PowerOnAction */
+/* PowerOn的Action表 */
 ACTION_ENTRY_S s_powerOnActionArray[] =
 {
-    /* PowerOnĴ̵Action */
+    /* PowerOn的处理流程的Action步骤 */
     {ACTION_CLS_POWER_ON_TASK_OVER,
      "PowerOn: TaskOver",
      pwrOnTaskOver,
@@ -9949,7 +9949,7 @@
      pwrOnSendEvent,
      defaultSysActionDone},
 
-    /* ϵԼ칫Task̵Action */
+    /* 上电自检公共子Task处理流程的Action步骤 */
     {ACTION_CLS_POWER_ON_SELF_CHECK_TASK_OVER,
      "SelfCheck: TaskOver",
      pwrOnSelfCheckTaskOver,
@@ -10046,7 +10046,7 @@
      pwrOnSyncClsInfo,
      defaultSysActionDone},
 
-    /* ϵָݹTask̵Action */
+    /* 上电恢复脏数据公共子Task处理流程的Action步骤 */
     {ACTION_CLS_RECOVERY_DIRTY_TASK_OVER,
      "RecoveryDirty: TaskOver",
      pwrOnRecoveryDirtyTaskOver,
@@ -10074,7 +10074,7 @@
      defaultSysActionDone},
 /* END:   Added by r90006280, 2013/9/11 */
 
-    /* ϵָùTask̵Action */
+    /* 上电恢复配置公共子Task处理流程的Action步骤 */
     {ACTION_CLS_RECOVERY_PROFILE_TASK_OVER,
      "RecoveryProfile: TaskOver",
      pwrOnRecoveryProfileTaskOver,
@@ -10100,12 +10100,12 @@
      pwrOnSetMemProtectFlg,
      defaultSysActionDone},
 
-    /*AR-0000736701 CCDB  added by z00276765  2014/6/28 begin*/
+    /*AR-0000736701 CCDB 开工 added by z00276765  2014/6/28 begin*/
     {ACTION_CLS_NOTIFY_CCDB_START_WORK,
      "RecoveryProfile: NtfClsUtil(CCDB/DLM/C-CLS)",
      pwrOnNotifyCCDBStartWork,
      defaultSysActionDone},
-   /*AR-0000736701 CCDB  added by z00276765  2014/6/28 end*/
+   /*AR-0000736701 CCDB 开工 added by z00276765  2014/6/28 end*/
 
     {ACTION_CLS_BDM_RECOVER_CONF,
      "RecoveryProfile: BdmRecoverConf",
@@ -10133,8 +10133,8 @@
      defaultSysActionDone},
 
     /* add_b for support 2k iSCSI by luoyilei 00184804 @ 2016-1-12*/
-    /* Ϊϰ汾ݣͨRPC͵DBϢȻͣ
-    ϰ汾ֻܴRPCϢ°汾ֻͨXRBϢͬDBϢ*/
+    /* 为了新老版本兼容，上面通过RPC发送的DB信息仍然发送，
+    老版本只能处理RPC消息，新版本只通过XRB消息同步DB信息*/
     {ACTION_CLS_NOTIFY_ISCSI_RECOVER_DB,
      "RecoveryProfile: NotifyISCSIRecoverDb",
      pwrOnNotifyISCSIRecoverDb,
@@ -10166,7 +10166,7 @@
      pwrOnNotifyOmStartBackupCfg,
      defaultSysActionDone},
 
-    /* ϵ̴Task̵Action */
+    /* 上电后继处理公共子Task处理流程的Action步骤 */
     {ACTION_CLS_NORMAL_HANDLE_TASK_OVER,
      "NormalHandle: TaskOver",
      pwrOnRoundOffTaskOver,
@@ -10197,7 +10197,7 @@
      pwrOnCloseLight,
      defaultActionDoneIgnoreResult},
 
-    /* ڵϻȡϢ̵Action */
+    /* 节点上获取本地信息处理流程的Action步骤 */
     {ACTION_CLS_POWER_ON_NODE_TASK_OVER,
      "PowerOnNode: TaskOver",
      pwrOnNodeTaskOver,
@@ -10225,7 +10225,7 @@
      defaultActionDoneIgnoreResult},
     /* END:   Added by l90004318, 2013/10/26 */
 
-    /* PowerOnĴ */
+    /* PowerOn的错误处理步骤 */
     {ACTION_CLS_POWER_ON_ERR_HANDLE_TASK_OVER,
      "PowerOnError: TaskOver",
      pwrOnErrHandleTaskOver,
@@ -10236,7 +10236,7 @@
      pwrOnErrSyncClsInfo,
      defaultSysActionDone},
 
-    /* PowerOnʧ֪ͨOMռ־*/
+    /* PowerOn失败通知OM收集错误日志*/
     {ACTION_CLS_POWER_ON_NTFOM_COLLECT_LOG,
      "PowerOnError: NotifyCltFailLog",
      pwrOnErrCollectFailLog,
@@ -10259,7 +10259,7 @@
     /* modified by g90006267 for DTS2014071107593, 2014-7-12 end */
 	
     /* add_b for support 2k iSCSI by luoyilei 00184804 @ 2016-1-12*/
-    /* C20ָEAMDB modified by l90006215, 2014/06/10 begin */
+    /* C20新增恢复EAM的DB数据 modified by l90006215, 2014/06/10 begin */
     {ACTION_RECOVER_DB_TASK_OVER,
      "RecoverDb: TaskOver",
      recoverDbTaskOver,
@@ -10288,16 +10288,16 @@
      recoverDbSyncDbCfg, 
      defaultSysActionDone
     },
-    /* C20ָEAMDB modified by l90006215, 2014/06/10 end */
+    /* C20新增恢复EAM的DB数据 modified by l90006215, 2014/06/10 end */
     /* add_e for support 2k iSCSI */
 	
-    /* AA޸ģmodified by h002819232014-12-23 begin */
+    /* 后端AA适配修改，modified by h00281923，2014-12-23 begin */
     {ACTION_CLS_PWRON_SET_DIRTY_DATA_FLAG,
      "PowerOn: SetDirtyDataFlag",
      clsPwrOnSetDirtyDataFlag,
      defaultSysActionDone
     },
- /* AA޸ģmodified by h002819232014-12-23 end */
+ /* 后端AA适配修改，modified by h00281923，2014-12-23 end */
 
     /* DTS2015041300515 modified by x00283088, 2015-04-21 begin */
     {ACTION_CLS_PWRON_SYNC_REDO_LOG,
@@ -10343,7 +10343,7 @@
     defaultSysActionDone
     },
 
-    /* ϵ/ָϵ ɹ/ʧ 쳣룩ڵϢʧܻ˱*/
+    /* 上电/恢复上电 成功/失败 处理异常（隔离）节点错误信息失败回退标记*/
     {
         ACTION_CLS_POWER_ON_SET_ROLLBACK_FLAG,
         "PowerOn: set rollbackFlag",
@@ -10351,7 +10351,7 @@
         defaultActionDoneIgnoreResult
     },
 
-    /* ϵ/ָϵ ɹ/ʧ 쳣룩ڵϢ*/
+    /* 上电/恢复上电 成功/失败 处理异常（隔离）节点错误信息*/
     {
         ACTION_CLS_POWER_ON_DEAL_ABNORMAL_NODE,
         "PowerOn: DealAbnormalNode",
@@ -10359,7 +10359,7 @@
         defaultActionDoneIgnoreResult
     },
 
-    /* ϵɴϢ*/
+    /* 上电完成处理错误信息*/
     {
         ACTION_CLS_POWER_ON_ERR_INFO,
         "PowerOn: write error log",
@@ -10367,7 +10367,7 @@
         defaultActionDoneIgnoreResult,
     },
 
-    /*ָϵͬʱ*/        
+    /*恢复上电同步自愈处理时间*/        
     {
         ACTION_CLS_POWER_ON_SYNC_HEAL_TIME,
         "RecoveryProfile: SynchealTime",
@@ -10375,7 +10375,7 @@
         defaultActionDoneIgnoreResult,
     },
 
-    /* ϵռϵʧϢ*/
+    /* 上电完成收集上电失败信息*/
     {
         ACTION_CLS_POWER_ON_COLLECT_FAILED_INFO,
         "PowerOn: collect failed info",
@@ -10383,7 +10383,7 @@
         defaultActionDoneIgnoreResult,
     },
 
-    /* ֪ͨڵдϵʧϢ*/
+    /* 通知隔离节点写上电失败信息*/
     {
         ACTION_CLS_POWER_ON_WRITE_FAILED_INFO,
         "PowerOn: node write failed info",
@@ -10391,7 +10391,7 @@
         defaultActionDoneIgnoreResult,
     },
 
-    /* ϵʧϢ*/
+    /* 清除上电失败信息*/
     {
         ACTION_CLS_POWER_ON_CLEAR_FAILED_INFO,
         "PowerOn: node clear failed info",
@@ -10401,62 +10401,62 @@
 
 };
 
-/* PowerOnAction  */
+/* PowerOn的Action的总数  */
 static uint32_t s_powerOnActionArraySize = ARRAY_LEN(s_powerOnActionArray);
 
-/* PowerOnڲϢע */
+/* PowerOn内部消息的注册数组 */
 SYS_RPC_PROC_ENTRY_S s_powerOnRpcProcEntrySet[] =
 {
-    /* ֪ͨڵȡϢ */
+    /* 通知节点获取本地信息 */
     {SYS_RPC_CLS_GET_NODE_INFO,
      nodeGetNodeInfo,
      getNodeInfoRpcSrcHandle,
      "nodeGetNodeInfo",
      NULL, NULL},
 
-    /* ȡϵͳSN */
+    /* 获取系统SN */
     {SYS_RPC_CLS_GET_SYS_SN,
      nodeGetSysSn,
      getSysSnRpcSrcHandle,
      "nodeGetSysSn",
      NULL, NULL},
 
-    /* ֪ͨڵ㸴λ */
+    /* 通知节点复位 */
     {SYS_RPC_CLS_NODE_REBOOT_OS_NTF,
      nodeRebootOs,
      defaultRpcSrcHandle,
      "nodeRebootOs",
      NULL, NULL},
 
-    /* ֪ͨڵOS */
+    /* 通知节点继续加载OS */
     {SYS_RPC_CLS_CONTINUE_LOAD_OS,
      nodeContinueLoadOs,
      defaultRpcSrcHandle,
      "nodeContinueLoadOs",
      NULL, NULL},
 
-    /* ȡϵͳwwn */
+    /* 获取系统wwn */
     {SYS_RPC_CLS_GET_SYS_WWN,
      nodeGetSysWWN,
      getSysWWNRpcSrcHandle,
      "nodeGetSysWWN",
      NULL, NULL},
 
-    /* ֪ͨӦĽڵpanicλ */
+    /* 通知对应的节点panic复位 */
     {SYS_RPC_CLS_NTF_PANIC_RESET,
      nodePanicReset,
      panicResetRpcSrcHandle,
      "nodePanicReset",
      NULL, NULL},
 
-    /* ϵBBU״̬ */
+    /* 上电检查BBU状态 */
     {SYS_RPC_CLS_CHECK_BBU_STATUS,
      nodeCheckBbuStauts,
      nodeCheckBbuRpcSrcHandle,
      "nodeCheckBbuStatus",
      NULL, NULL},
 
-    /* ϵʧд־ */
+    /* 上电失败写错误码日志 */
     {SYS_RPC_CLS_SET_FAIL_LOG,
      nodeSetPowerOnFailLog,
      defaultIgnoreRPCSrcHandle,
@@ -10464,7 +10464,7 @@
      NULL, NULL},
 
     /* modified by z00248602 for DTS2014062601615 , 2014-6-22 begin */
-    /* ֪ͨڵȡڴϢ */
+    /* 通知节点获取内存屏蔽信息 */
     {SYS_RPC_CLS_GET_NODE_DIMM_INFO,
      nodeGetDimmInfo,
      getNodeDimmInfoRpcSrcHandle,
@@ -10478,42 +10478,42 @@
      "nodeCheckBbuStatus",
      NULL, NULL},
      
-    /* ڵд־ */
+    /* 隔离节点写错误码日志 */
     {SYS_RPC_NODE_SET_FAIL_LOG,
      nodeSetPowerOnIsolateLog,
      defaultIgnoreRPCSrcHandle,
      "nodeSetFailLog",
      NULL, NULL},
     
-    /* ݺļ */
+    /* 清错误码数据和文件 */
     {SYS_RPC_NODE_CLEAR_FAIL_LOG,
      clearPowerOnFailedInfo,
      defaultIgnoreRPCSrcHandle,
      "nodeClearFailLog",
      NULL, NULL},
 
-    /* ϵʧܸϢͬ POST */
+    /* 上电失败辅助信息同步 POST */
     {SYS_RPC_SYNC_PWRON_FAILED_AUX_INFO,
      nodeSetPowerOnFailAuxInfo,
      NULL,
      "nodeSyncFailAuxInfo",
      NULL, NULL},
 
-    /* ϵͬλϢڴ POST */
+    /* 上电同步复位信息内存 POST */
     {SYS_RPC_SYNC_NODE_RESET_INFO,
      nodeSyncNodeResetInfo,
      NULL,
      "nodeSyncResetInfo",
      NULL, NULL},
 
-    /* ϵɹλϢڴ POST */
+    /* 上电成功清除复位信息内存 POST */
     {SYS_RPC_CLEAR_NODE_RESET_INFO,
      nodeClearNodeResetInfo,
      NULL,
      "nodeClearResetInfo",
      NULL, NULL},	
      
-     /* ֪ͨڵcmm */
+     /* 通知各节点设置cmm镜像标记 */
      {SYS_RPC_SET_NODE_CMM_MIRROR_STATUS,
      nodeSetCmmStatusDependsVnode, 
      DEFAULT_TASK_RPC_SRC_IGNORE_DIFF_HANDLE,
@@ -10521,14 +10521,14 @@
      NULL, NULL
      },    
     
-    /* ϵʧϢռ */
+    /* 上电失败信息收集 */
     {SYS_RPC_CLS_GET_NODE_FAULT_INFO,
      nodeReturnPowerOnFailedInfo,
      getOtherNodePowerOnfailedInfo,
      "collectPowerOnFailedInfo",
      NULL, NULL},
 
-    /* ֪ͨڵдϵʧϢ*/
+    /* 通知各节点写上电失败信息*/
     {SYS_RPC_CLS_WRITE_NODE_FAULT_INFO,
      pwrOnWriteLocalFailedInfo,
      defaultIgnoreRPCSrcHandle,
@@ -10536,7 +10536,7 @@
      NULL, NULL},    
 };
 
-/* PowerOnصԶ̵ô */
+/* PowerOn相关的远程调用处理个数 */
 static uint32_t s_powerOnRpcProcEntryNum = ARRAY_LEN(s_powerOnRpcProcEntrySet);
 
 void tpDoNothing(char userparam[], int32_t *ret)
@@ -10551,11 +10551,11 @@
 }
 
 /**************************************************************************
-     : PowerOnĴעắ
- : 
- : 
- ֵ  : RETURN_OK:ɹ;RETURN_ERROR:ʧ
-     : 
+ 功    能: PowerOn的处理函数的注册函数
+ 输入参数: 无
+ 输出参数: 无
+ 返回值  : RETURN_OK:成功;RETURN_ERROR:失败
+ 其 他   : 无
 **************************************************************************/
 int32_t initClsPowerOn(void)
 {
@@ -10563,7 +10563,7 @@
 
     regClsPwrOnTp();
 
-    /* עActionļ  */
+    /* 注册Action的集合  */
     retVal = regActionSet("POWER_ON Actions",
                           ACTION_SET_TYPE_SYS_POWER_ON,
                           s_powerOnActionArraySize,
@@ -10574,7 +10574,7 @@
         return RETURN_ERROR;
     }
 
-    /* עϢ */
+    /* 注册消息处理集 */
     retVal = regSysRpcEntrySet("PowerOn Rpc Handle",
                                SYS_RPC_ENTRY_CLS_POWER_ON,
                                s_powerOnRpcProcEntryNum,
@@ -10587,7 +10587,7 @@
         return retVal;
     }
 
-    /* ʼȫֱ */
+    /* 初始化全局变量 */
     g_powerOnStep = B_FALSE;
     g_powerOnStartTime = 0;
     g_pwrOnErrCode = 0;
@@ -10598,11 +10598,11 @@
     g_pwrOnNeedRetryErrCode = SYS_DEFAULT_ERROR_CODE;
     memset(&localNodeFaultInfo, 0, sizeof(PWRON_ERROR_INFO_S));
     spin_lock_init(&localNodeFaultInfoLock);
-    /* ȫϢ,ЧڵIDΪȫڵ*/
+    /* 清空全部辅助信息,无效节点ID即为全部节点*/
     clearPowerOnFailAuxiliaryInfo(INVALID_NID);
-    /* ȫڵϸλԭЧڵIDΪȫڵ*/
+    /* 清空全部节点故障复位原因，无效节点ID即为全部节点*/
     clearNodeFaultReason(INVALID_NID);
-    /* شʾϢ */
+    /* 清除主控错误码显示信息 */
     clearPowerOnFailErrcodeInfo();
 
     DBG_LogInfo(LOG_ID_14E7, "POWER_ON: Init succeeded.");
@@ -10610,15 +10610,15 @@
 }
 
 /**************************************************************************
-     : PowerOnĴע
- : 
- : 
- ֵ  : void
-     : 
+ 功    能: PowerOn的处理函数的注销函数
+ 输入参数: 无
+ 输出参数: 无
+ 返回值  : void
+ 其 他   : 无
 **************************************************************************/
 void exitClsPowerOn(void)
 {
-    ///TODO: 油˳
+    ///TODO: 后面补充退出函数
     spin_lock_destroy(&localNodeFaultInfoLock);
 	unRegActionSet(ACTION_SET_TYPE_SYS_POWER_ON);
     DBG_LogInfo(LOG_ID_14E8, "POWER_ON: Exit succeeded.");
--- ./source/private_module/sys/comm/comm_alarm.c	2018-03-08 04:40:08.000000000 +0000
+++ ./source/private_module/sys/comm/comm_alarm.c.hotpatch	2023-01-06 09:36:36.000000000 +0000
@@ -1,17 +1,17 @@
 /**************************************************************************
 
-    (C) 2007 ~2019   Ϊ˿Ƽ޹˾  ȨУһȨ
+    (C) 2007 ~2019   华为赛门铁克科技有限公司  版权所有，保留一切权利。
 
 ***************************************************************************
-   :  
-     :  l00006215
- :  2011830
- :  AGETNģ¼ӿ
-     ע:
- ޸ļ¼:
-        1.ʱ     :
-             :
-          ޸ :
+ 版 本 号:  初稿
+ 作    者:  l00006215
+ 完成日期:  2011年8月30日
+ 功能描述:  AGETN模块事件处理接口
+ 备    注:
+ 修改记录:
+        1.时    间 :
+          修 改 人 :
+          修改内容 :
 **************************************************************************/
 #include "lvos.h"
 #ifndef WIN32
@@ -33,35 +33,35 @@
 /* modified by l00225715 for DTS2014061101242 , 2014-06-11 begin */
 //#include "cls_power_on.h"
 /* modified by l00225715 for DTS2014061101242 , 2014-06-11 end */
-
+#include "econf.h"
 //#include "comm_alarm.h"
 #include "eam_intf.h"
 #include "qos_sys_use.h"
 #include "cls_vote.h"
 #include "ctrl_public_util.h"
 #include "cls_node_fault.h"
-
+#include "customize.h"
 MODULE_ID(OSP_SYS);
 
-/*·黺йϢ*/
+/*链路检查缓冲队列管理信息*/
 static ALARM_EVENT_QUEUE_S s_alarmQueueInfo;
 /* V2R1C01; DTS2013011405147; modified by l90004318; 20130114 begin */
-/* CPUڴ鶨ʱ */
+/* CPU和内存检查定时器 */
 static int32_t g_cpuAndMemCheckTimerId = (int32_t)INVALID_VALUE32; 
 
-/* ͳһCPUͳֵ */
+/* 统计一定次数的CPU利用率统计值 */
 static int32_t g_totalCpuUsing = 0;
-/* ͳһڴͳֵ */
+/* 统计一定次数的内存利用统计值 */
 static int32_t g_totalFreeMem = 0;
-/* CPUڴͳƴ */
+/* CPU和内存利用率统计次数 */
 static int32_t g_totalCpuCountNum = 0;
 static int32_t g_totalMemCountNum = 0;
 
-bool g_bIsAlarmCpuUsingHigh = B_FALSE; /* CPU澯־ */
-bool g_bIsAlarmMemUsingHigh = B_FALSE; /* ڴ澯־ */
+bool g_bIsAlarmCpuUsingHigh = B_FALSE; /* 发送CPU告警标志 */
+bool g_bIsAlarmMemUsingHigh = B_FALSE; /* 发送内存告警标志 */
 
 /* added by l00177955 for DTS2015090902023, 2015-10-6 begin */
-/* ԭձ */
+/* 错误码原因对照表 */
 static ERROR_CODE_DES_S errorCodeDesField[] = 
 {
     {XNET_SEND_TIMEOUT,                 "send xnet msg time out"},
@@ -78,7 +78,7 @@
 	{SYS_ERROR_PWRON_GET_DIRTY_DATA_FLAG, "db disk is not enough"},
 };
 
-/* */
+/*总数 */
 uint32_t errorCodeDesSize = ARRAY_LEN(errorCodeDesField);
 /* added by l00177955 for DTS2015090902023, 2015-10-6 end */
 
@@ -88,12 +88,12 @@
 
 /* V2R1C01; DTS2013011405147; modified by l90004318; 20130114 end */
 /**************************************************************************
-     :  ԸĽڵ¼־
- :  nodeBitmap -- λͼ
-            errCODE    -- 
- :  
- ֵ  :  
-     :  
+ 功    能:  针对隔离的节点记录运行日志
+ 输入参数:  nodeBitmap -- 隔离位图
+            errCODE    -- 错误码
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void isolateNodesRunLog(uint32_t nodeBitmap, uint32_t errCode)
 {
@@ -120,12 +120,12 @@
 }
 
 /**************************************************************************
-     :  ԸĽڵ¼־
- :  nid -- ڵ
-            errCODE -- 
- :  
- ֵ  :  
-     :  
+ 功    能:  针对隔离的节点记录运行日志
+ 输入参数:  nid -- 隔离节点
+            errCODE -- 错误码
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void isolateNodeRunLog(nid_t nodeId, uint32_t errCode)
 {
@@ -144,12 +144,12 @@
     return;
 }
 /**************************************************************************
-     :  ԸλĽڵ¼־
- :  nodeBitmap -- λλͼ
-            errCODE    -- 
- :  
- ֵ  :  
-     :  
+ 功    能:  针对复位的节点记录运行日志
+ 输入参数:  nodeBitmap -- 复位位图
+            errCODE    -- 错误码
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void rebootNodeRunLog(uint32_t nodeBitmap, uint32_t errCode)
 {
@@ -175,13 +175,13 @@
 }
 
 /**************************************************************************
-     :  /ָ ڵϵʧܸ澯
- :  nodeId     -- λλͼ
-            errCODE    -- 
-            alarmType  -- 
- :  
- ֵ  :  
-     :  
+ 功    能:  发送/恢复 节点上电失败告警
+ 输入参数:  nodeId     -- 复位位图
+            errCODE    -- 错误码
+            alarmType  -- 操作类型
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void sendNodePwrOnFailAlarm(nid_t nodeId, int32_t errCode, uint32_t alarmType)
 {
@@ -193,7 +193,7 @@
     getFrameNamebyNid(nodeId,frameName);
     GET_CTRL_NAME(nodeId, nodeName, NODE_NAME_FOR_UI);
     
-	/* ȻָŷϣԻָ볡OMMִ */
+	/* 错误码先恢复才发故障，处理自恢复变更错误码场景，OMM串行执行 */
     (void)ALM_SendAlarmEx(OSP_SYS, ALM_RECOVER_POWER_ON_FAILED,
                         ALM_ALARM_TYPE_RESUME, "%u,%s,%s,%s", FRAME_TYPE_CTRL,
                         frameName,
@@ -201,7 +201,7 @@
 
     if (ALM_ALARM_TYPE_FAULT == alarmType)
     {
-        /* Ϊ룬Ĭϴ봦 */
+        /* 错误码为公共错误码，按照默认错误码处理 */
         if(RETURN_SYSTEM_INNER_ERROR == errCode)
          {
              (void)ALM_SendAlarmEx(OSP_SYS, ALM_RECOVER_POWER_ON_FAILED,
@@ -222,13 +222,13 @@
 }
 
 /**************************************************************************
-     :  /ָ Ⱥָϵʧܸ澯
- :  sendBitMap  -- λλͼ
-            errCODE     -- 
-            alarmType   -- 
- :  
- ֵ  :  
-     :  
+ 功    能:  发送/恢复 集群恢复上电失败告警
+ 输入参数:  sendBitMap  -- 复位位图
+            errCODE     -- 错误码
+            alarmType   -- 操作类型
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void sendClsPwrOnFailAlarm(uint32_t sendBitMap, int32_t errCode, uint32_t alarmType)
 {
@@ -244,7 +244,7 @@
     {
         if (CHECK_NODEMAP_BIT_VALID(idx, sendBitMap))
         {  
-            /* ϵʧҪ澯ҪȰѻָи澯ɵ*/
+            /* 如果上电失败需要发告警，需要先把恢复中告警干掉*/
             if(ALM_ALARM_TYPE_FAULT == alarmType)
             {
                 changeResetRepairToClsPwrOnFailedAlarm(idx, errCode);
@@ -259,13 +259,13 @@
 }
 
 /**************************************************************************
-     :  /ָ ڵϵ쳣澯()
- :  sendBitMap  -- λλͼ
-            errCODE     -- 
-            alarmType   -- 
- :  
- ֵ  :  
-     :  
+ 功    能:  发送/恢复 节点上电异常告警(隔离)
+ 输入参数:  sendBitMap  -- 复位位图
+            errCODE     -- 错误码数组
+            alarmType   -- 操作类型
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void sendNodePwrOnAbnormalAlarm(uint32_t sendBitMap, int32_t* errCode, uint32_t alarmType)
 {
@@ -278,9 +278,9 @@
     {
         if (CHECK_NODEMAP_BIT_VALID(idx, sendBitMap))
         {
-            /* ϵʧܴϢ*/
+            /* 设置上电失败错误码信息*/
             setNodePowerOnFailInfo(idx, errCode[idx]);
-            /* ϵʧҪ澯ҪȰѻָи澯ɵ*/
+            /* 如果上电失败需要发告警，需要先把恢复中告警干掉*/
             if(ALM_ALARM_TYPE_FAULT == alarmType)
             {
                 changeResetRepairToClsPwrOnFailedAlarm(idx, errCode[idx]);
@@ -297,11 +297,11 @@
 }
 
 /**************************************************************************
-     :  ¼
- :  
- :  
- ֵ  :  
-     :  ںⲿ
+ 功    能:  清空事件缓冲队列
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  在函数外部加锁
 **************************************************************************/
 static void emptyAlarmEventQ(void)
 {
@@ -321,13 +321,13 @@
 }
 
 /**************************************************************************
-     :  ȺڵԱ仯¼
- :
-   1eventId  ¼ID
-   2eventObj ¼ݣݸʽǼȺCLUSTER_NODE_INFO_S
- :  
- ֵ  :
-     :
+ 功    能:  处理集群节点成员数量变化的事件
+ 输入参数:
+   1、eventId  事件ID
+   2、eventObj 事件数据，数据格式是集群管理定义的CLUSTER_NODE_INFO_S
+ 输出参数:  无
+ 返回值  :
+ 其  他  :
 **************************************************************************/
 void doAlarmAfterVote(uint32_t eventId, void *eventObj)
 {
@@ -343,7 +343,7 @@
 
     memset(alarmArray, 0, sizeof(alarmArray));
     
-    /* ּеĸ澯ᳬ20 */
+    /* 现假设队列中的告警不会超过20 */
     spin_lock(&s_alarmQueueInfo.lock);
     list_for_each_safe(node, next, &s_alarmQueueInfo.listHead)
     {        
@@ -359,14 +359,14 @@
         num++;
     }
 
-    /* ջ */
+    /* 清空缓冲队列 */
     emptyAlarmEventQ();
 
     spin_unlock(&s_alarmQueueInfo.lock);
 
     for (i = 0; i < num; i++)
     {
-        /* ¼ȥ */
+        /* 把事件发出去 */
         partitionWriteThroughAlarm(alarmArray[i].nodeId, alarmArray[i].alarmType, alarmArray[i].innerPttId);
     }
 
@@ -375,12 +375,12 @@
 }
 
 /*********************************************************************************
-    :  RPCסʱ/ָ澯澯-----"״̬"
-:
-            errCODE    -- 룬RPC timeout ʧܵĴ
-:  
-ֵ  :  
-    :  
+功    能:  RPC挂住超时后发送/恢复告警，告警内容-----"控制器运行状态不正常"
+输入参数:
+            errCODE    -- 错误码，针对RPC timeout 流程失败的错误码
+输出参数:  无
+返回值  :  无
+其 他   :  无
 *********************************************************************************/
 int32_t rpcTimeOutSendAlarm(nid_t nodeId, uint32_t alarmType)
 {
@@ -403,12 +403,12 @@
 }
 
 /**************************************************************************
-     :  Ⱥָʧܣ澯-----"״̬쳣"
- :  
-            errCODE    -- 
- :  
- ֵ  :  
-     :  
+ 功    能:  集群恢复配置失败，告警内容-----"控制器运行状态异常"
+ 输入参数:  
+            errCODE    -- 错误码
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void nodeRecvServiceFailAlarm(nid_t nodeId, int32_t errCode, uint32_t alarmType)
 {
@@ -455,13 +455,13 @@
 
 /* modified by l00221048 for DTS2014070907926 2014-07-31 begin */
 /**************************************************************************
-     :  ڵҵģʽ״̬͸澯
- :  nodeId             õĽڵID
-            oldServiceMode     ɵģʽֵ
-            newServiceMode     µģʽֵ
- :  
- ֵ  :  
-     :  
+ 功    能:  节点业务服务模式状态变更发送告警
+ 输入参数:  nodeId             设置的节点ID
+            oldServiceMode     旧的模式值
+            newServiceMode     新的模式值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void sendNodeServiceChangeAlarm(nid_t nodeId, 
                                             NODE_SERVICE_MODE_E oldServiceMode,
@@ -470,20 +470,20 @@
     uint16_t usrCfgNodeNum = 0;
     SYS_CLUSTER_STATUS_E clsStatus = SYS_CLUSTER_STATUS_BUTT;
     
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF_RETURN(MAX_CTRL_NODE_NUM > nodeId);
     CTRL_UTIL_IF_RETURN(NODE_SERVICE_MODE_BUTT > oldServiceMode);
     CTRL_UTIL_IF_RETURN(NODE_SERVICE_MODE_BUTT > newServiceMode);
 	
     /*AR-0000878055, added by x00291101, 2015-01-10 begin*/
-    /*ϵͳڷǵģʽżǷнڵָҵʧ*/
+    /*系统处于非单控配置模式，才检查是否有节点恢复业务失败*/
     if (IS_PRODUCT_SINGLE_MODE())
     {
         return;
     }
     /*AR-0000878055, added by x00291101, 2015-01-10 end*/
 		
-    /* ȡûýڵĿ, ڵIDûĿڣ򲻷͸澯*/
+    /* 获取用户配置节点数目, 节点ID不在用户配置数目内，则不发送告警*/
     getUsrConfigNodeNum(&usrCfgNodeNum);
     if(nodeId >= usrCfgNodeNum)
     {
@@ -492,7 +492,7 @@
 
     getClusterStatus(&clsStatus);
     
-    /* ڵ״̬normalҲ״̬ʱ͹ϸ澯 */
+    /* 节点新状态非normal，并且不是离线状态时，发送故障告警 */
     if((NODE_SERVICE_MODE_NORMAL  != newServiceMode)
         &&(NODE_SERVICE_MODE_OFFLINE  != newServiceMode))
     {
@@ -508,13 +508,13 @@
         return;
     }
 
-     /* ״̬normalͻָ澯 */
+     /* 新状态normal，发送恢复告警 */
     if(NODE_SERVICE_MODE_NORMAL  == newServiceMode)
     {
         DBG_LogInfo(DBG_LOGID_NEW, "Node(%u) service mode(%d) changed to (%d),send recover alarm.", 
                     nodeId, oldServiceMode, newServiceMode);
         nodeRecvServiceFailAlarm(nodeId, SYS_DEFAULT_ERROR_CODE, ALM_ALARM_TYPE_RESUME);
-        /* ޸и澯޸ʧܸ澯*/
+        /* 清除修复中告警和修复失败告警*/
         clearResetRepairAndRepairFailedAlarm(nodeId);
         return;
     }
@@ -526,13 +526,13 @@
 
 
 /**************************************************************************
-     :  ڵҵģʽ״̬͸澯
- :  nodeId             õĽڵID
-            oldServiceMode     ɵģʽֵ
-            newServiceMode     µģʽֵ
- :  
- ֵ  :  
-     :  
+ 功    能:  节点业务服务模式状态变更发送告警
+ 输入参数:  nodeId             设置的节点ID
+            oldServiceMode     旧的模式值
+            newServiceMode     新的模式值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void sendFlowNodeServiceStatusChangeAlarm(nid_t nodeId, 
                                                     FLOW_OBJ_NODE_SRV_STATUS_E oldServiceStatus,
@@ -541,18 +541,18 @@
     uint16_t usrCfgNodeNum = 0;
     SYS_CLUSTER_STATUS_E clsStatus = SYS_CLUSTER_STATUS_BUTT;
     
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF_RETURN(MAX_CTRL_NODE_NUM > nodeId);
 	
     /*AR-0000878055, added by x00291101, 2015-01-10 begin*/
-    /*ϵͳڷǵģʽżǷнڵָҵʧ*/
+    /*系统处于非单控配置模式，才检查是否有节点恢复业务失败*/
     if (IS_PRODUCT_SINGLE_MODE())
     {
         return;
     }
     /*AR-0000878055, added by x00291101, 2015-01-10 end*/
 
-    /* ȡûýڵĿ, ڵIDûĿڣ򲻷͸澯*/
+    /* 获取用户配置节点数目, 节点ID不在用户配置数目内，则不发送告警*/
     getUsrConfigNodeNum(&usrCfgNodeNum);
     if(nodeId >= usrCfgNodeNum)
     {
@@ -561,7 +561,7 @@
 
     getClusterStatus(&clsStatus);
     
-    /* ڵ״̬normalҲ״̬ϵ״̬ʱ͹ϸ澯 */
+    /* 节点新状态非normal，并且不是离线状态和上电中状态时，发送故障告警 */
     if((FLOW_OBJ_NODE_SRV_STATUS_NORMAL != newServiceStatus)
         &&(FLOW_OBJ_NODE_SRV_STATUS_OFFLINING != newServiceStatus)
         &&(FLOW_OBJ_NODE_SRV_STATUS_ONLINING != newServiceStatus))
@@ -578,13 +578,13 @@
         return;
     }
 
-    /* ״̬normalͻָ澯 */
+    /* 新状态normal，发送恢复告警 */
     if(FLOW_OBJ_NODE_SRV_STATUS_NORMAL  == newServiceStatus)
     {
         DBG_LogInfo(DBG_LOGID_NEW, "Node(%u) service mode(%d) changed to (%d),send recover alarm.", 
                     nodeId, oldServiceStatus, newServiceStatus);
         nodeRecvServiceFailAlarm(nodeId, SYS_DEFAULT_ERROR_CODE, ALM_ALARM_TYPE_RESUME);
-        /* ޸и澯޸ʧܸ澯*/
+        /* 清除修复中告警和修复失败告警*/
         clearResetRepairAndRepairFailedAlarm(nodeId);
         return;
     }
@@ -592,12 +592,12 @@
 }
 
 /**************************************************************************
-     :  Ϳ޸и澯
- :  nid_t nodeId        -- ͸澯ĽڵID
-            uint32_t alarmType  -- ͸澯
- :  
- ֵ  :  
-     :  
+ 功    能:  发送控制器故障修复中告警
+ 输入参数:  nid_t nodeId        -- 发送告警的节点ID
+            uint32_t alarmType  -- 发送告警的类型
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  
  *************************************************************************/
 void sendResetRepairAlarm(nid_t nodeId, uint32_t alarmType)
 {
@@ -610,13 +610,13 @@
     getFrameNamebyNid(nodeId,frameName);
     GET_CTRL_NAME(nodeId, nodeName, NODE_NAME_FOR_UI);
 
-    /* ǿмϰ汾澯*/    
+    /* 强行兼容老版本告警*/    
 	(void)ALM_SendAlarmEx(OSP_SYS, ALM_SYS_NODE_REPAIRING, 
                           ALM_ALARM_TYPE_RESUME, "%u,%s,%s,%s", FRAME_TYPE_CTRL, 
                           frameName, 
                           nodeName, COMM_ERROR_CODE);
 
-    /* ޸и澯 */
+    /* 发修复中告警 */
     (void)ALM_SendAlarmEx(OSP_SYS, ALM_SYS_CONTROLER_IS_REPAIRING, 
                         alarmType, "%u,%s,%s,%s", FRAME_TYPE_CTRL, 
                         frameName, 
@@ -639,12 +639,12 @@
 }
 
 /**************************************************************************
-     :  Ϳ޸ʧܸ澯
- :  nid_t nodeId        -- ͸澯ĽڵID
-            uint32_t alarmType  -- ͸澯
- :  
- ֵ  :  
-     :  
+ 功    能:  发送控制器故障修复失败告警
+ 输入参数:  nid_t nodeId        -- 发送告警的节点ID
+            uint32_t alarmType  -- 发送告警的类型
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  
  *************************************************************************/
 void sendResetRepairFailedAlarm(nid_t nodeId, uint32_t alarmType)
 {
@@ -661,10 +661,10 @@
 
     if (ALM_ALARM_TYPE_FAULT == alarmType)
     {
-        /* ޸ʧܣ
-        1.errCodeڣparaCodeж:  errCodeʾ--  paraCodeʾ--
-        2.errCodeڣ  paraCode:  errCodeʾparaCodeʾ--
-        3.errCodeڣ  paraCode:    errCodeʾparaCodeʾ  
+        /* 如果修复失败，
+        1.errCode不存在，paraCode不判断:  errCode显示--，  paraCode显示--
+        2.errCode存在，  paraCode不存在:  errCode正常显示，paraCode显示--
+        3.errCode存在，  paraCode存在:    errCode正常显示，paraCode正常显示  
         */
         getNodeFaultReason(nodeId, &errCode, &paraCode);
         if (SYS_DEFAULT_ERROR_CODE == errCode)
@@ -694,7 +694,7 @@
     }
     else if (ALM_ALARM_TYPE_RESUME == alarmType)
     {
-        /* ޸ʧܸ澯 */
+        /* 发修复失败告警 */
         (void)ALM_SendAlarmEx(OSP_SYS, ALM_SYS_NODE_REPAIR_FAILED, 
                               ALM_ALARM_TYPE_RESUME, "%u,%s,%s,%s,%s", FRAME_TYPE_CTRL, 
                               frameName, 
@@ -712,13 +712,13 @@
 
 
 /**************************************************************************
-     :  ѯָ澯Ƿڸ澯
- :  alarmId   --  澯ID
-            alarmPara --  澯
- :  
- ֵ  :  B_TRUE  -- 
-            B_FALSE -- 
-     :  ӿ
+ 功    能:  查询指定告警是否存在父告警
+ 输入参数:  alarmId   --  告警ID
+            alarmPara --  告警参数
+ 输出参数:  无
+ 返回值  :  B_TRUE  -- 存在
+            B_FALSE -- 不存在
+ 其 他   :  可能阻塞接口
 **************************************************************************/
 static bool haveParentAlarm(uint64_t alarmID, char *alarmPara)
 {
@@ -741,7 +741,7 @@
         return B_FALSE;
     }
 
-    // 
+    // 创建发送内容
     pMsgObj = MSGOBJ_Create(1, 0);
     if (NULL == pMsgObj)
     {
@@ -760,7 +760,7 @@
         return B_FALSE;
     }
 
-    // ȡOBJĳ
+    // 获取OBJ的长度
     if (RETURN_OK != MSGOBJ_GetObjInfo(pMsgObj, &msgBodyLength, NULL, NULL))
     {
         DBG_LogError(DBG_LOGID_NEW, "Get msg length to check root alarm exist failed.");
@@ -768,7 +768,7 @@
         return B_FALSE;
     }
 
-    // ͨϢͨŽӿڷڴ
+    // 通过消息通信接口分配内存
     pMsg = MSG_AllocMsg(msgBodyLength);
     if (NULL == pMsg)
     {
@@ -787,10 +787,10 @@
 
     MSGOBJ_Destroy(pMsgObj);
 
-    // ʼMsgInfo
+    // 初始化MsgInfo
     MSG_InitMsgInfo(&stMsgInfo);
 
-    // MsgInfo
+    // 填充MsgInfo内容
     stMsgInfo.usSenderPID   = OSP_SYS;
     stMsgInfo.usReceiverPID = OSP_ALM;
     stMsgInfo.uiMsgLength   = msgBodyLength;
@@ -799,7 +799,7 @@
     stMsgInfo.uiMsgTimeout  = SYS_ROOT_ALARM_CHECK_MAX_BLOCK_TIME;
     stMsgInfo.usReceiverBID = masterNid;
 
-    // ͬϢ
+    // 发送同步消息
     reVal = MSG_SendSyncMsg(pMsg, &stMsgInfo, &pAck);
 
     LVOS_TP_START(NODE_FAULT_1_47_16, &reVal)
@@ -830,7 +830,7 @@
 
     MSGOBJ_GetItemUnsigned(pAckObj, 0, CMO_SYS_GET_FATHER_RESULT, &(isExistFatherAlm), sizeof(uint32_t));
 
-    // ͷӦϢ
+    // 释放响应消息体
     MSGOBJ_Destroy(pAckObj);
     
     DBG_LogInfo(DBG_LOGID_NEW, 
@@ -846,12 +846,12 @@
 }
 
 /**************************************************************************
-     :  ǰǷڿ޸еĸ澯
- :  nid_t nodeId  -- ڵid
- :  
- ֵ  :  B_TRUE  -- 
-            B_FALSE -- 
-     :  ӿ
+ 功    能:  当前是否存在控制器修复中的根因告警
+ 输入参数:  nid_t nodeId  -- 节点id
+ 输出参数:  无
+ 返回值  :  B_TRUE  -- 存在
+            B_FALSE -- 不存在
+ 其 他   :  可能阻塞接口
 **************************************************************************/
 bool isExistResetRepairRootAlarm(nid_t nodeId)
 {
@@ -865,7 +865,7 @@
     getFrameNamebyNid(nodeId,frameName);
     GET_CTRL_NAME(nodeId, nodeName, NODE_NAME_FOR_UI);
 
-    // ޸и澯
+    // 修复中告警参数
 	(void)snprintf(alarmPara, MAX_NAME_LEN - 1, "%u,%s,%s,%s",
 	                 FRAME_TYPE_CTRL, 
                      frameName, 
@@ -876,12 +876,12 @@
 }
 
 /**************************************************************************
-     :  ǷҪڴ治һ¸澯
- :  nid_t nodeId  -- ڵid
- :  
- ֵ  :  B_TRUE  -- 
-            B_FALSE -- 
-     :  ӿڡڴ治Ϲڴϸ澯ڴ治һ
+ 功    能:  是否需要抑制内存不一致告警
+ 输入参数:  nid_t nodeId  -- 节点id
+ 输出参数:  无
+ 返回值  :  B_TRUE  -- 抑制
+            B_FALSE -- 不抑制
+ 其 他   :  可能阻塞接口。存在内存不合规格或者内存故障隔离类告警，不报内存不一致
 **************************************************************************/
 bool needBlockAlmMemNotMatch(nid_t nodeId)
 {
@@ -904,7 +904,7 @@
     GET_CTRL_NAME(nodeId, localNodeName, NODE_NAME_FOR_UI);
     GET_CTRL_NAME(peerId, peerNodeName, NODE_NAME_FOR_UI);
 
-    // ڴ治һ¸澯, ڴСƥ
+    // 内存不一致告警参数, 控制器内存大小不参与匹配
     (void)snprintf(alarmPara, MAX_NAME_LEN - 1,
                     "%u,%s,%s,%llu,%u,%s,%s,%llu",
                     FRAME_TYPE_CTRL, localFrameName, 
@@ -918,28 +918,28 @@
 }
 
 /**************************************************************************
-     :  Ⱥϵɹָ澯
- :  
-            errCODE    -- 
- :  
- ֵ  :  
-     :  
+ 功    能:  集群对象上电成功，恢复告警
+ 输入参数:  
+            errCODE    -- 错误码
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void objOnlineRecvAlarm(uint32_t nodeBitmap)
 {
     uint16_t idx = 0;
     
-    /* ָȺ쳣澯 */
+    /* 恢复集群工作异常告警 */
     (void)ALM_SendAlarm(OSP_SYS, ALM_SYS_CLS_RECV_SERVICE_FAIL, 
                         ALM_ALARM_TYPE_RESUME, "");
 
-    /* սڵλͼָڵ㹤쳣澯 */
+    /* 按照节点位图恢复节点工作异常告警 */
 
     for (idx = 0; idx < MAX_CTRL_NODE_NUM; idx++)
     {
         if (CHECK_NODEMAP_BIT_VALID(idx, nodeBitmap))
         {
-            /* ָ澯贫Ч */
+            /* 恢复告警无需传入有效错误码 */
             nodeRecvServiceFailAlarm(idx, SYS_DEFAULT_ERROR_CODE, ALM_ALARM_TYPE_RESUME);
         }
     }
@@ -947,12 +947,12 @@
     return;
 }
 /**************************************************************************
-     :  cacheдرյĸ澯
- :  nodeId:     澯ڵ
-            alarmType:  
- :  
- ֵ  :  
-     :  
+ 功    能:  发送cache写关闭的告警
+ 输入参数:  nodeId:     告警节点
+            alarmType:  类型
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void cacheWriteThroughAlarm(nid_t nodeId, uint32_t alarmType)
 {
@@ -974,13 +974,13 @@
 }
 
 /**************************************************************************
-     :  partitionдرյĸ澯
- :  nodeId:     澯ڵ
-            alarmType:  
-            cachepttid: ID
- :  
- ֵ  :  
-     :  
+ 功    能:  发送partition写关闭的告警
+ 输入参数:  nodeId:     告警节点
+            alarmType:  类型
+            cachepttid: 分区ID
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void partitionWriteThroughAlarm(nid_t nodeId, uint32_t alarmType, uint16_t innerPttId)
 {
@@ -1000,7 +1000,7 @@
     getFrameNamebyNid(nodeId,frameName);
     GET_CTRL_NAME(nodeId, nodeName, NODE_NAME_FOR_UI);
 
-    /* ȡĬϷID */
+    /* 获取默认分区ID */
     ret = GET_CUR_ENGINE_DEFAULT_INNER_CACHE_PTT_ID(&defaultCachepttId);    
 
     if (RETURN_OK != ret)
@@ -1008,7 +1008,7 @@
         DBG_LogError(LOG_ID_1658, "There is no default cache partition.");
     }
     
-    /* жǷĬϷID */
+    /* 判断是否是默认分区ID */
     if (innerPttId == defaultCachepttId)
     {
         (void)ALM_SendAlarmEx(OSP_SYS, ALM_SYS_DEFAULT_PART_WRITE_THROUGH, 
@@ -1018,7 +1018,7 @@
     }
     else
     {
-        /* ȡⲿID */
+        /* 获取外部分区ID */
         ret = GET_CACHE_PTT_CFG_INFO_BY_INNER_ID(innerPttId, &cachePttCfgInfo);        
         
         if (RETURN_OK != ret)
@@ -1040,12 +1040,12 @@
 }
 
 /**************************************************************************
-     :  ͽڵ㵥ڵ澯
- :  nodeBitmap: 澯λͼ
-            alarmType:  
- :  
- ֵ  :  
-     :  
+ 功    能:  发送节点单节点告警
+ 输入参数:  nodeBitmap: 告警位图
+            alarmType:  类型
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void sendEngineFaultAlarm(nid_t nodeId, uint32_t alarmType)
 {
@@ -1062,7 +1062,7 @@
 
     CTRL_UTIL_IF_RETURN(ALM_ALARM_TYPE_BUTT > alarmType);
 	
-    ///TODO: 󿨲͸澯
+    ///TODO: 大卡不发送告警
     if (getLinkDomainCtrlNum() > LINK2)
     {
         return;
@@ -1074,7 +1074,7 @@
     GET_CTRL_NAME(peerId, peerNodeName, NODE_NAME_FOR_UI);
     getNodeGroupIdInfo(nodeId, &groupId);
     
-    /* жǷҪ澯 */
+    /* 判断是否有引擎故障需要告警 */
     getAllNodeIdInfoInNodeGroup(groupId, &engineBitmap);
 	/* BEGIN: C01 DTS2014091800394 w00268932 2014/9/18 begin */
     getAliveNodeBitMapInfo(&normalBitmap);
@@ -1086,9 +1086,9 @@
                 faultBItmap);
     if (ALM_ALARM_TYPE_FAULT == alarmType)
     {
-/* h00281923 ޸ڽڵ,2014-12-27 begin */
+/* h00281923 持续镜像修改引擎内节点数量,2014-12-27 begin */
         if (getLinkDomainCtrlNum() == nidNum)
-/* h00281923 ޸ڽڵ,2014-12-27 begin */
+/* h00281923 持续镜像修改引擎内节点数量,2014-12-27 begin */
         {
             (void)ALM_SendAlarmEx(OSP_SYS, ALM_SYS_ENGINEER_STATUS_INIT, 
                                 ALM_ALARM_TYPE_FAULT,
@@ -1108,9 +1108,9 @@
     else if (ALM_ALARM_TYPE_RESUME == alarmType)
     {
         
-/* h00281923 ޸ڽڵ,2014-12-27 begin */
+/* h00281923 持续镜像修改引擎内节点数量,2014-12-27 begin */
         if ((getLinkDomainCtrlNum() - 1) == nidNum)    
-/* h00281923 ޸ڽڵ,2014-12-27 end */
+/* h00281923 持续镜像修改引擎内节点数量,2014-12-27 end */
         {
             (void)ALM_SendAlarmEx(OSP_SYS, ALM_SYS_ENGINEER_STATUS_INIT, 
                                 ALM_ALARM_TYPE_RESUME,
@@ -1127,13 +1127,13 @@
 }
 
 /**************************************************************************
-     :  ָ澯
- :  
-            nidBitmap: ¼ָϵλͼ
-            nid: ָڵ
- :  
- ֵ  :  
-     :  
+ 功    能:  恢复引擎告警
+ 输入参数:  
+            nidBitmap: 记录恢复上电的引擎位图
+            nid: 恢复节点
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void pwrOnRecvEngineAlarm(uint32_t nidBitmap, nid_t nid)
 {
@@ -1147,7 +1147,7 @@
     char frameName[FRAME_NAME_LEN] = {0};
 
     UNREFERENCE_PARAM(nidBitmap);
-    ///TODO: 󿨲͸澯
+    ///TODO: 大卡不发送告警
     if (getLinkDomainCtrlNum() > LINK2)
     {
         return;
@@ -1169,9 +1169,9 @@
                               COMM_ERROR_CODE);
     }
     COUNT_NUM_FROM_BITMAP(engineNormalmap, nidMum, idx);
-/* h00281923 ޸ڽڵ,2014-12-27 begin */
+/* h00281923 持续镜像修改引擎内节点数量,2014-12-27 begin */
     if (getLinkDomainCtrlNum() == nidMum)
-/* h00281923 ޸ڽڵ,2014-12-27 end */
+/* h00281923 持续镜像修改引擎内节点数量,2014-12-27 end */
     {
         (void)ALM_SendAlarmEx(OSP_SYS, ALM_LOG_DOUBLE_ENGINE_MODE, 
                               ALM_ALARM_TYPE_EVENT,
@@ -1180,7 +1180,7 @@
     else
     {
         /*AR-0000878055, modified by x00291101, 2015-01-12 begin*/
-        /*鲻ڵģʽ浥ģʽĸ澯*/
+        /*检查不处于单控配置模式，则发送引擎单控模式的告警*/
         if (!IS_PRODUCT_SINGLE_MODE() &&  (1 == nidMum))
         {
             (void)ALM_SendAlarmEx(OSP_SYS, ALM_LOG_SINGLE_ENGINE_NODE,
@@ -1194,12 +1194,12 @@
 }
 /* Begin: Modified by g00285223 for DTS2016030301343 at 2016-03-02 */ 
 /**************************************************************************
-     :  ģʽ仯ʱ͸澯ͻָ
- :  
-            nidBitmap: ¼ָϵλͼ
- :  
- ֵ  :  
-     :  
+ 功    能:  配置模式变化时发送告警和恢复
+ 输入参数:  
+            nidBitmap: 记录恢复上电的位图
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void sendConfigChangeAlarm(void)
 {
@@ -1223,12 +1223,12 @@
 /*  End : Modified by g00285223 for DTS2016030301343 at 2016-03-02 */ 
 
 /**************************************************************************
-     :  ϵָ澯
- :  pwrOnType: ϵͣȺϵ硢ָϵ
-            nidBitmap: ¼ָϵλͼ
- :  
- ֵ  :  
-     :  
+ 功    能:  上电恢复告警
+ 输入参数:  pwrOnType: 上电类型，集群上电、恢复上电
+            nidBitmap: 记录恢复上电的位图
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void pwrOnRecvAlarm(int32_t pwrOnType, uint32_t nidBitmap)
 {
@@ -1247,14 +1247,14 @@
     getAliveNodeBitMapInfo(&aliveBitmap);
     DBG_LogInfo(LOG_ID_165D,"Power on succeeded , recovery alarm nidBitmap(%u).", nidBitmap);
     
-    /* ָϵʧܸ澯澯IDĬϴRETURN_SYSTEM_INNER_ERROR*/
+    /* 恢复上电失败告警，告警ID填默认错误RETURN_SYSTEM_INNER_ERROR*/
     sendClsPwrOnFailAlarm(nidBitmap, RETURN_SYSTEM_INNER_ERROR, ALM_ALARM_TYPE_RESUME);
-    /* ϵʧܸϢ */
+    /* 清空上电失败辅助信息 */
     nodeSyncClearPowerOnFailAuxInfo(nidBitmap);
-    /*ϵʧܴ*/
+    /*清除上电失败错误码*/
     setPowerOnFailErrcodeInfoByBitMap(nidBitmap, SYS_DEFAULT_ERROR_CODE);
 
-    /* λͼȷϻָĽڵ澯 */
+    /* 根据位图确认恢复的节点和引擎告警 */
     for (idx = 0; idx < usrCfgNodeNum; idx++)
     {
         if (CHECK_NODEMAP_BIT_VALID(idx, nidBitmap))
@@ -1262,7 +1262,7 @@
             getNodeGroupIdInfo(idx, &groupId);
             getAllNodeIdInfoInNodeGroup(groupId, &engineBitmap);
 
-            /*ͬڵǷ񶼻ָ*/
+            /*检查同引擎节点是否都恢复*/
             engineRecvBitmap = nidBitmap & engineBitmap;
             DBG_LogInfo(LOG_ID_165E, "Engine(bitmap %u) recovery alarm.", engineRecvBitmap);
 
@@ -1281,23 +1281,23 @@
             }
             pwrOnRecvEngineAlarm(engineRecvBitmap, idx);    
 
-            /* λͼ */
+            /* 清除本引擎的位图 */
             nidBitmap = nidBitmap & (~engineBitmap);
         }
     }
 
-    /* Ⱥϵȫģʽ澯 */
+    /* 集群上电清除安全模式告警 */
     if (CLUSTER_POWER_ON == pwrOnType)
     {
         /*AR-0000878055, modified by x00291101, 2015-01-10 begin*/
-        /*ϵͳڵģʽǷнڵ޷*/
+        /*系统处于单控配置模式，不检查是否有节点无法监控*/
         if (IS_PRODUCT_SINGLE_MODE())
         {
             return;
         }
         /*AR-0000878055, added by x00291101, 2015-01-10 end*/
 		
-        /*λͼеĽڵ㣬ͽڵ޷صĸ澯*/
+        /*遍历不在在线位图中的节点，并发送节点无法监控的告警*/
         for (nidIndex = 0; nidIndex < usrCfgNodeNum; nidIndex++)
         {
             if(!CHECK_NODEMAP_BIT_VALID(nidIndex, aliveBitmap))
@@ -1318,12 +1318,12 @@
 }
 
 /**************************************************************************
-     :  ڵ־
- :  
-            nid: ڵ
- :  
- ֵ  :  
-     :  
+ 功    能:  节点掉电运行日志
+ 输入参数:  
+            nid: 掉电节点
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void nodePwrLostSendRunLog(nid_t nodeId)
 {
@@ -1341,12 +1341,12 @@
 }
 
 /**************************************************************************
-     :  ˢʧܣ¼־
- :  
-            nid: ڵ
- :  
- ֵ  :  
-     :  
+ 功    能:  刷脏数据失败，记录运行日志
+ 输入参数:  
+            nid: 掉电节点
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void nodeDestageCacheFailRunLog(nid_t nodeId)
 {
@@ -1365,12 +1365,12 @@
 }
 
 /**************************************************************************
-     :  ¼ڵָϵʧ־
- :  
-            nid: ָϵʧܽڵ
- :  
- ֵ  :  
-     :  
+ 功    能:  记录节点恢复上电失败日志
+ 输入参数:  
+            nid: 恢复上电失败节点
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  
 **************************************************************************/
 void nodeRecvPwrOnFailRunLog(uint32_t nidBitmap)
 {
@@ -1396,14 +1396,14 @@
     return;
 }
 /**************************************************************************
-     :  ڴ治һ¸澯
- :  
-            pwrOnnid ϵڵid
-            pwrOnbitmap ϵλͼ
-            alarmType 澯
- :  
- ֵ  :  
-     :  
+ 功    能:  内存不一致告警
+ 输入参数:  
+            pwrOnnid 上电节点id
+            pwrOnbitmap 上电位图
+            alarmType 告警类型
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  
 **************************************************************************/
 void memNotMatchAlarm(nid_t pwrOnnid, uint32_t pwrOnbitmap, LOCAL_NODE_INFO_S *vaultInfo, uint32_t alarmType)
 {
@@ -1427,7 +1427,7 @@
                 "with engine(id %u) node(id %u), alarm(type %u) need alarm.",
                 localEngineId, pwrOnnid, peerEngineId, peerId, alarmType);
     
-    /* 2ڵϵλͼУڵidСķ͹ϡָ澯 */
+    /* 如果2个节点均在上电位图中，节点id号小的发送故障、恢复告警 */
     if (CHECK_NODEMAP_BIT_VALID(peerId, pwrOnbitmap))
     {
         if ((pwrOnnid > peerId) && (ALM_ALARM_TYPE_FAULT == alarmType))
@@ -1451,7 +1451,7 @@
         }
         return;
     }
-    /* ָϵ磬ֱӷ͸澯ָ澯⴦ */
+    /* 恢复上电，直接发送告警，恢复告警特殊处理 */
     (void)ALM_SendAlarmEx(OSP_SYS, ALM_SYS_MEM_NOT_MATCH, 
                           alarmType,  
                           "%u, %s, %s, %llu, %u, %s, %s, %llu", 
@@ -1464,7 +1464,7 @@
                           peerNodeName,
                           vaultInfo[peerId].memSize);
 
-    /* ָʱԭ͵˳⴦ */
+    /* 恢复时候不清楚原来发送的顺序特殊处理下 */
     if (ALM_ALARM_TYPE_RESUME == alarmType)
     {
         (void)ALM_SendAlarmEx(OSP_SYS, ALM_SYS_MEM_NOT_MATCH, 
@@ -1480,26 +1480,26 @@
     return;
 }
 
-/**************************************************************************
-     :  澯¼ӵ
- :  nodeId: ڵID
-            alarmType: 澯
-            innerPttId: ID
- :  
- ֵ  :  
-     :  ںⲿ
-**************************************************************************/
+typedef enum tagCPU_CHECK_SWITCH_E {
+    SYS_CPU_CHECK_NORMAL = 0,
+    SYS_CPU_CHECK_ENHANCED = 1,
+    SYS_CPU_CHECK_BUTT
+} CPU_CHECK_SWITCH_E;
+void cpuCheckHandleEnhanced(void);
+void cpuCheckHandleNorMal(void);
+CPU_CHECK_SWITCH_E getCpuCheckEnhancedSwitch(void);
+
 void addAlarmEventToQ(nid_t nodeId, uint32_t alarmType, uint16_t innerPttId)
 {
     ALARM_EVENT_INFO_S *alarmEventInfo = NULL;
     ALARM_EVENT_OBJ_S alarmEvent = {0};
 
-    /* Ϊֵ */
+    /* 为参数赋值 */
     alarmEvent.nodeId = nodeId;
     alarmEvent.alarmType = alarmType;
     alarmEvent.innerPttId = innerPttId;
     
-    /* ڴ */    
+    /* 分配内存 */    
     alarmEventInfo = mallocRsvMem(SYS_RSV_MEM_TYPE_ALARM_EVENT_CHECK, SYS_RSV_MEM_POOL_32_BYTE_SIZE);
     if(NULL == alarmEventInfo)
     {
@@ -1561,7 +1561,7 @@
             SYS_MSG_LOG(SYS_LOG_WARN, LOG_ID_1559, 
                 "CLS_STATUS: Controllers (%u) free memory is (%d), send alarm.", localCtrlId, aveFreeMem);
             
-            /**µIDʱ򣬱֮ǰϰ汾ѾϵIDôID֮ǰҲðϵIDȻָˣٷµĹID*/
+            /**发送新的ID时候，避免升级之前老版本已经存在了老的ID，那么发送新ID之前，也得把老的ID先恢复了，再发新的故障ID*/
             (void)ALM_SendAlarmEx(OSP_SYS, ALM_SYS_MEM_USAGE_TOO_HIGH, ALM_ALARM_TYPE_RESUME,
                     "%d, %s, %s, %d%%", FRAME_TYPE_CTRL, frameName, nodeName, SYS_MEM_USAGE_ALM_LEVEL);
             (void)ALM_SendAlarmEx(OSP_SYS, ALM_SYS_MEM_USAGE_TOO_HIGH_NEW, ALM_ALARM_TYPE_FAULT,
@@ -1574,7 +1574,7 @@
             SYS_MSG_LOG(SYS_LOG_INFO, LOG_ID_155A, 
                 "CLS_STATUS: Controllers (%u) free memory is (%d), resume alarm.", localCtrlId, aveFreeMem);
             
-            /**ָµIDʱͬʱҲûָϵID*/
+            /**恢复新的ID时候，同时也得恢复老的ID*/
             (void)ALM_SendAlarmEx(OSP_SYS, ALM_SYS_MEM_USAGE_TOO_HIGH, ALM_ALARM_TYPE_RESUME,
                     "%d, %s, %s, %d%%", FRAME_TYPE_CTRL, frameName, nodeName, SYS_MEM_USAGE_ALM_LEVEL);
             (void)ALM_SendAlarmEx(OSP_SYS, ALM_SYS_MEM_USAGE_TOO_HIGH_NEW, ALM_ALARM_TYPE_RESUME,
@@ -1590,80 +1590,80 @@
 
 void cpuCheckHandle(void)
 {
-    int32_t curCpuUsage = 0;
-    int32_t aveCpuUsage;
-    char nodeName[NODE_NAME_FOR_UI] = {0};
-    char frameName[FRAME_NAME_LEN] = {0};
-    uint16_t localCtrlId;
+    if (getCpuCheckEnhancedSwitch() == SYS_CPU_CHECK_NORMAL) {
+        cpuCheckHandleNorMal();
+    } else {
+        cpuCheckHandleEnhanced();
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
-    LVOS_TP_START(SYS_ALARM_1_47_1, &curCpuUsage);
-    curCpuUsage = (int32_t)LVOS_GetCpuUsage();
-    LVOS_TP_END
 
-    if (0 > curCpuUsage || 100 < curCpuUsage)
-    {
-        CTRL_UTIL_TYPE_LOG(CTRL_UTIL_LOG_SWITCH, CTRL_UTIL_LOG_DATA_NULL,
-                       CTRL_UTIL_LOG_WARN, DBG_LOGID_NEW,"CLS_STATUS: Current cpu usage (%d%%) is invalid.", curCpuUsage);
-        return;
-    }
-    
-    CTRL_UTIL_TYPE_LOG(CTRL_UTIL_LOG_SWITCH, CTRL_UTIL_LOG_DATA_NULL,
-                       CTRL_UTIL_LOG_INFO, DBG_LOGID_NEW,
-                       "CLS_STATUS: Current cpu usage (%d%%).",
-                       curCpuUsage);
 
-    g_totalCpuUsing += curCpuUsage;
-    g_totalCpuCountNum++;
 
-    localCtrlId = getLocalNid();
-    getFrameNamebyNid(localCtrlId, frameName);
-    GET_CTRL_NAME(localCtrlId, nodeName, NODE_NAME_FOR_UI);
 
-    if (SYS_CPU_CHECK_TIME == g_totalCpuCountNum)
-    {
-        aveCpuUsage = g_totalCpuUsing / g_totalCpuCountNum;
-        g_totalCpuUsing = 0;
-        g_totalCpuCountNum = 0;
 
-        /**mod_b for H2 normal alarm desc by luoyilei 184804 @ 2015-12-22 */
-        if (SYS_CPU_USAGE_ALM_LEVEL <= aveCpuUsage)
-        {
-            SYS_MSG_LOG(SYS_LOG_WARN, LOG_ID_1557, "CLS_STATUS: Controller (%u) cpu usage is too high to (%d).",
-                        localCtrlId, aveCpuUsage);
-            
-            /* ͸澯 */
-            (void)ALM_SendAlarmEx(OSP_SYS, ALM_SYS_CPU_USAGE_TOO_HIGH, ALM_ALARM_TYPE_RESUME, 
-                              "%d, %s, %s, %d%%", FRAME_TYPE_CTRL, frameName, nodeName, SYS_CPU_USAGE_ALM_LEVEL);
-            (void)ALM_SendAlarmEx(OSP_SYS, ALM_SYS_CPU_USAGE_TOO_HIGH_NEW, ALM_ALARM_TYPE_FAULT, 
-                               "%d, %s, %s, %d%%, %d%%, %d%%", 
-                               FRAME_TYPE_CTRL, frameName, nodeName, aveCpuUsage, SYS_CPU_USAGE_ALM_LEVEL, SYS_CPU_USAGE_RECOVER_LEVEL);
-            g_bIsAlarmCpuUsingHigh = B_TRUE;
-        }
-        else if (B_TRUE == g_bIsAlarmCpuUsingHigh
-                && SYS_CPU_USAGE_RECOVER_LEVEL >=  aveCpuUsage)
-        {
-            SYS_MSG_LOG(SYS_LOG_INFO, LOG_ID_1558, "CLS_STATUS: Controller (%u) cpu usage recover to (%d).",
-                        localCtrlId, aveCpuUsage);
-                
-            (void)ALM_SendAlarmEx(OSP_SYS, ALM_SYS_CPU_USAGE_TOO_HIGH, ALM_ALARM_TYPE_RESUME, 
-                              "%d, %s, %s, %d%%", FRAME_TYPE_CTRL, frameName, nodeName, SYS_CPU_USAGE_ALM_LEVEL);
-            (void)ALM_SendAlarmEx(OSP_SYS, ALM_SYS_CPU_USAGE_TOO_HIGH_NEW, ALM_ALARM_TYPE_RESUME, 
-                              "%d, %s, %s, %d%%, %d%%, %d%%", 
-                              FRAME_TYPE_CTRL, frameName, nodeName, aveCpuUsage, SYS_CPU_USAGE_ALM_LEVEL, SYS_CPU_USAGE_RECOVER_LEVEL);
-            g_bIsAlarmCpuUsingHigh = B_FALSE;
-        }
-        /**mod_e for H2 normal alarm desc */
     }
     return;
 }
 
 /* V2R1C01; DTS2013011405147; modified by l90004318; 20130114 begin */
 /**************************************************************************
-*     : CPUڴ涨ʱ
-* : void *v_pArg
-* : 
-* ֵ  :
-*     : 
+* 功    能: CPU和内存定时检测程序
+* 输入参数: void *v_pArg
+* 输出参数: 无
+* 返回值  :
+* 其 他   : 
 **************************************************************************/
 void cpuAndMemCheckTimer(void *v_pArg)
 {   
@@ -1672,18 +1672,18 @@
 
     UNREFERENCE_PARAM(v_pArg);
 
-    /* ȡؿID */
+    /* 获取本地控制器ID */
     localCtrlId = getLocalNid();
 
-    /* ѯڵ״̬ */
+    /* 查询节点状态 */
     getNodeStatus(localCtrlId, &nodeStatus);
     
     DBG_LogDebug(LOG_ID_1553, "CLS_STATUS: Get node id (%u) status(%u).", localCtrlId, nodeStatus);
     
-    /* ģʽʱ򲻼cpuڴ */
+    /* 非正常模式的时候不检查cpu和内存利用率 */
     if (SYS_NODE_STATUS_INIT == nodeStatus)
     {
-        /* ϵʱcpuڴ־ΪB_TRUE */
+        /* 上电时置cpu和内存标志为B_TRUE */
         g_bIsAlarmCpuUsingHigh = B_TRUE;
         g_bIsAlarmMemUsingHigh = B_TRUE;
     }
@@ -1700,21 +1700,21 @@
 }
 
 /**************************************************************************
-     : CPUڴĶʱ
- : 
- : 
- ֵ  : 
-     : 
+ 功    能: 启动CPU和内存检查的定时器
+ 输入参数: 无
+ 输出参数: 无
+ 返回值  : 无
+ 其 他   : 无
 **************************************************************************/
 void startCpuAndMemCheckTimer(void)
 {
     int32_t retVal = 0;
     
-    /* ʼCPUڴĶʱ */
+    /* 初始化CPU和内存检查的定时器 */
     retVal = IOD_CREATE_TIMER("CPU and MEM Check", SYS_CPU_AND_MEM_CHECK_PERIOD, cpuAndMemCheckTimer, NULL, IOD_TIMER_TYPE_LOOP);
     if (0 >= retVal)
     {
-        /* ʧֻӡ, */
+        /* 失败只打印错误,不结束流程 */
         DBG_LogError(LOG_ID_155B, "CLS_STATUS: Create CPU and MEM check timer failed.");
         g_cpuAndMemCheckTimerId = (int32_t)INVALID_VALUE32;
     }
@@ -1725,11 +1725,11 @@
     }
 }
 /**************************************************************************
-     : ˳ CPUڴĶʱ
- : 
- : 
- ֵ  : 
-     : 
+ 功    能: 退出 CPU和内存检查的定时器
+ 输入参数: 无
+ 输出参数: 无
+ 返回值  : 无
+ 其 他   : 无
 **************************************************************************/
 void exitCpuAndMemCheckTimer(void)
 {
@@ -1744,11 +1744,11 @@
 
 /* added by l00177955 for DTS2015090902023, 2015-10-6 begin */
 /**************************************************************************
-     :  ݴҶӦĴԭ
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  根据错误码找对应的错误原因
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 int32_t getFailReasonByErrorCode(int32_t errorCode, ERROR_CODE_DES_S** errorDes)
 {
@@ -1767,14 +1767,14 @@
 }
 
 /**************************************************************************
-     :  ϵͳ쳣λָ澯
- :  const char* traceName -- 
-                          const char* failStepName -- ϵͳеǰ̲
-                          int32_t errorCode --н
-                          int32_t *nodeResult --ڵִн
- :  
- ֵ  :  
-     :  
+ 功    能:  发送系统流程异常定位指导告警
+ 输入参数:  const char* traceName -- 流程名称
+                          const char* failStepName -- 系统流程中当前出错的流程步骤
+                          int32_t errorCode --流程运行结果
+                          int32_t *nodeResult --节点执行结果
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void sendSysFlowErrorAlarm(const char* traceName, 
                                   const char* failStepName,
@@ -1796,7 +1796,7 @@
         return;
     }
 
-    /* ڵ */
+    /* 节点错误 */
     for(nodeIndex = 0; nodeIndex < MAX_CTRL_NODE_NUM; nodeIndex++)
     {
         if(RETURN_OK != nodeResult[nodeIndex])
@@ -1812,7 +1812,7 @@
         }
     }
     
-    /* Ⱥ */
+    /* 集群主错误 */
     if(isMasterFlowError)
     {
         retVal = getGlbMasterNodeId(&masterNodeId);
@@ -1838,14 +1838,14 @@
 /* added by l00177955 for DTS2015090902023, 2015-10-6 end */
 
 
-/* DTSDTS2015073104703 modify by lwx207050 2015-07-31 begin */
+/* DTS：DTS2015073104703 modify by lwx207050 2015-07-31 begin */
 /**************************************************************************
-    :  ϵʧܷڲ¼RPC
-:  xnetMsg            xnetϢ
-:  
-ֵ  :  RETURN_OK          ڲ¼ͳɹ
-             RETURN_ERROR    ڲ¼ʧ
-    :  
+功    能:  上电失败发送内部事件RPC处理函数
+输入参数:  xnetMsg            xnet消息
+输出参数:  无
+返回值  :  RETURN_OK          内部事件发送成功
+             RETURN_ERROR    内部事件发送失败
+其 他   :  无
 **************************************************************************/
 static int32_t sendInnerAlarm (XNET_MSG_S *xnetMsg)
 {
@@ -1884,14 +1884,14 @@
     return RETURN_OK;
 }
 /**************************************************************************
-    :  ϵʧܷڲ¼
-:  innerAlarmCode    ϵʧڲ¼
-             bitMap            ϵʧλͼ
-:  
+功    能:  上电失败发送内部事件函数
+输入参数:  innerAlarmCode    上电失败内部事件错误码
+             bitMap            上电失败位图
+输出参数:  无
             
-ֵ  :  RETURN_OK          ڲ¼ͳɹ
-             RETURN_ERROR    ڲ¼ʧ
-    :  
+返回值  :  RETURN_OK          内部事件发送成功
+             RETURN_ERROR    内部事件发送失败
+其 他   :  无
 **************************************************************************/
 int32_t ALM_SendInnerAlarm(int32_t innerAlarmCode ,uint32_t bitMap)
 {
@@ -1900,7 +1900,7 @@
         SYS_MSG_LOG(SYS_LOG_INFO, DBG_LOGID_NEW, "BitMap is 0.");
         return RETURN_ERROR;
     }
-    /* ֪ͨϵʧܽڵ㷢ڲ¼ */
+    /* 通知上电失败节点发送内部事件 */
     SYS_SEND_NO_TASK_POST_TO_NODES(XNET_MSG_SYS_RECOV_POWER_ON_NTF_NODE_FAILED_REASON,
                                    bitMap,
                                    &innerAlarmCode,
@@ -1913,7 +1913,7 @@
 }
  
  
-/* ϵʧܷڲ¼XNET POSTϢ */
+/* 上电失败发送内部事件的XNET POST消息表 */
 static SYS_REQ_MSG_PROC_ENTRY_S s_sendInnerAlarmPostMsgArray[] =
 {
     {XNET_MSG_SYS_RECOV_POWER_ON_NTF_NODE_FAILED_REASON,
@@ -1922,16 +1922,16 @@
      "sendInnerAlarm",
      NULL},
 };
-/* ϵʧܷڲ¼XNET POSTϢ */
+/* 上电失败发送内部事件的XNET POST消息个数 */
 static uint32_t s_sendInnerAlarmPostMsgNum = ARRAY_LEN(s_sendInnerAlarmPostMsgArray);
 
 /**************************************************************************
-     :  ʼ澯ṹ
- :  
- :  
- ֵ  :  RETURN_OK    - ʼɹ
-            RETURN_ERROR - ʼʧ
-     :  
+ 功    能:  初始化告警管理结构
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  RETURN_OK    - 初始化成功
+            RETURN_ERROR - 初始化失败
+ 其 他   :  无
 **************************************************************************/
 int32_t initAlarmEventModule(void)
 {
@@ -1939,14 +1939,14 @@
     spin_lock_init(&s_alarmQueueInfo.lock);
     INIT_LIST_HEAD(&s_alarmQueueInfo.listHead);
 
-    /* עἯȺڵ仯¼ */
+    /* 注册集群节点变化事件 */
     ret = EVENT_REGISTER_HANDLE(EVENT_BROADCAST_CLUSTER_CHANGE, doAlarmAfterVote);
     if (RETURN_OK != ret)
     {
         DBG_LogInfo(LOG_ID_1669, "ALARM_EVENT: Register alarm event not successed.");
     }
 
-    /*עXNETϢ*/
+    /*注册XNET消息*/
     ret = regSysInterMsgEntrySet("SEND INNER ALARM",
                                  SYS_INTER_MSG_INNER_ALARM,
                                  s_sendInnerAlarmPostMsgNum,
@@ -1965,18 +1965,18 @@
 }
 
 /**************************************************************************
-     :  ʼ澯ṹ
- :  
- :  
- ֵ  :  RETURN_OK    - ʼɹ
-            RETURN_ERROR - ʼʧ
-     :  
+ 功    能:  初始化告警管理结构
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  RETURN_OK    - 初始化成功
+            RETURN_ERROR - 初始化失败
+ 其 他   :  无
 **************************************************************************/
 void exitAlarmEventModule(void)
 {
     spin_lock_destroy(&s_alarmQueueInfo.lock);
 
-    /* עἯȺڵ¼Ĵ: ģĿͽڵ仯 */
+    /* 注册集群节点事件订阅处理: 模块的开工和节点变化都走这里 */
     EVENT_UNREGISTER_HANDLE(EVENT_BROADCAST_CLUSTER_CHANGE, doAlarmAfterVote);
     
     DBG_LogInfo(LOG_ID_166B, "ALARM_EVENT: Exit alarm event succeeded.");
@@ -1984,3 +1984,453 @@
     return;
 }
 
+#define EXTENT_CONF_FILE_PATH  "/startup_disk/conf/conf_local/extend.ini"
+#define GLOBAL_SECTION_NAME "GLOBAL"
+#define CPU_CHECK_TYPE_ITEM_NAME "CpuCheckType"
+#define CPU_CHECK_THRESHOLD_ITEM_NAME "CpuCheckThreshold"
+#define CPU_CHECK_PERIOD_ITEM_NAME "CpuCheckPeriod"
+#define CPU_CHECK_ALARM_PERCENTAGE_ITEM_NAME "CpuCheckAlarmPercentage"
+
+/* 新增cpu检查增强模式变量 */
+CPU_CHECK_SWITCH_E g_cpuCheckType = SYS_CPU_CHECK_NORMAL;
+uint32_t g_totalCpuOverThresholdCount = 0;
+uint32_t g_totalCpuEnhancedCount = 0;
+uint32_t g_cpuThreshold = 0;
+uint32_t g_cpuCheckPeriod = 0;
+uint32_t g_cpuAlarmPercentage = 0;
+
+CPU_CHECK_SWITCH_E getCpuCheckEnhancedSwitch(void)
+{
+    return g_cpuCheckType;
+}
+
+typedef struct tagCPU_CHECK_INFO_S {
+    bool isType;
+    CPU_CHECK_SWITCH_E cpuCheckType;
+    uint32_t cpuThreshold;
+    uint32_t cpuCheckPeriod;
+    uint32_t cpuAlarmPercentage;
+    uint32_t reserved[4];         /* *<预留字段,预留4个u32 */
+} CPU_CHECK_INFO_S;
+
+void resetCpuCheckTimeAndUse(void)
+{
+    /*  重置普通模式统计信息 */
+    g_totalCpuUsing = 0;
+    g_totalCpuCountNum = 0;
+
+    /*  重置增强模式统计信息 */
+    g_totalCpuOverThresholdCount = 0;
+    g_totalCpuEnhancedCount = 0;
+    return;    
+}
+
+void getCpuCheckThreshold(uint32_t *preCpuThreshold)
+{
+    *preCpuThreshold = g_cpuThreshold;
+    return;
+}
+
+void recoverCpuCheckAlarm(uint32_t preXCpuThreshold)
+{
+    char nodeName[NODE_NAME_FOR_UI] = {0};
+    char frameName[FRAME_NAME_LEN] = {0};
+    uint16_t localCtrlId;
+
+    localCtrlId = getLocalNid();
+    getFrameNamebyNid(localCtrlId, frameName);
+    GET_CTRL_NAME(localCtrlId, nodeName, NODE_NAME_FOR_UI);
+    if (g_bIsAlarmCpuUsingHigh = B_TRUE) {
+        SYS_MSG_LOG(SYS_LOG_INFO, LOG_ID_1558,
+                    "CPU_CHECK: Controller (%u) current CPU check information is cleared ",
+                    " because the CPU check switch or parameter is changed.",
+                    localCtrlId);
+        
+        (void)ALM_SendAlarmEx(OSP_SYS, ALM_SYS_CPU_USAGE_TOO_HIGH, ALM_ALARM_TYPE_RESUME, 
+                            "%d, %s, %s, %d%%", FRAME_TYPE_CTRL, frameName, nodeName, preXCpuThreshold);
+        (void)ALM_SendAlarmEx(OSP_SYS, ALM_SYS_CPU_USAGE_TOO_HIGH_NEW, ALM_ALARM_TYPE_RESUME, 
+                            "%d, %s, %s, %d%%, %d%%, %d%%", 
+                            FRAME_TYPE_CTRL, frameName, nodeName, 0, SYS_CPU_USAGE_ALM_LEVEL, SYS_CPU_USAGE_RECOVER_LEVEL);           
+
+        g_bIsAlarmCpuUsingHigh = B_FALSE;
+    }
+    return;
+}
+
+int32_t updateCpuCheckSwitchType(CPU_CHECK_SWITCH_E cpuCheckSwitchType)
+{
+    int32_t retVal;
+    CST_ITEM_T item;
+
+    /* 写配置文件 */
+    memset(&item, 0, sizeof(CST_ITEM_T));
+    snprintf(item.acName,CST_MAX_ITEM_NAME_LEN, "%s", CPU_CHECK_TYPE_ITEM_NAME);
+    snprintf(item.acValue,CST_MAX_ITEM_NAME_LEN, "%d", cpuCheckSwitchType);
+    retVal = CST_SetItem(GLOBAL_SECTION_NAME, &item);
+    if (RETURN_OK != retVal)
+    {
+        DBG_LogWarning(DBG_LOGID_NEW, "CPU_CHECK: Set cpu check config item failed, ret(%d).", retVal);
+        return RETURN_ERROR;
+    }
+    /* 修改extend.ini文件 */
+    retVal = ECONF_ModifyConfig(GLOBAL_SECTION_NAME, item.acName, item.acValue);
+    if (RETURN_OK != retVal) {
+        DBG_LogWarning(DBG_LOGID_NEW, "CPU_CHECK: Set cpuCheckType %d to file failed.", cpuCheckSwitchType);
+        return RETURN_ERROR;
+    }
+    g_cpuCheckType = cpuCheckSwitchType;
+    resetCpuCheckTimeAndUse();
+    recoverCpuCheckAlarm(g_cpuThreshold);
+    DBG_LogInfo(DBG_LOGID_NEW, "CPU_CHECK: Set cpuCheckType %d to file successful.", g_cpuCheckType);
+    return RETURN_OK;
+}
+
+int32_t updateCpuCheckEnhancedThreshold(uint32_t cpuThreshold)
+{
+    int32_t retVal;
+    CST_ITEM_T item;
+
+    /* 写配置文件 */
+    memset(&item, 0, sizeof(CST_ITEM_T));
+    snprintf(item.acName,CST_MAX_ITEM_NAME_LEN, "%s", CPU_CHECK_THRESHOLD_ITEM_NAME);
+    snprintf(item.acValue,CST_MAX_ITEM_NAME_LEN, "%d", cpuThreshold);
+
+    retVal = CST_SetItem(GLOBAL_SECTION_NAME, &item);
+    if (RETURN_OK != retVal)
+    {
+        DBG_LogWarning(DBG_LOGID_NEW, "CPU_CHECK: Set cpu check config item failed, ret(%d).", retVal);
+        return RETURN_ERROR;
+    }
+    /* 修改extend.ini文件 */
+    retVal = ECONF_ModifyConfig(GLOBAL_SECTION_NAME, item.acName, item.acValue);
+    if (RETURN_OK != retVal) {
+        DBG_LogWarning(DBG_LOGID_NEW, "CPU_CHECK: Set cpuThreshold %d to file failed.", cpuThreshold);
+        return RETURN_ERROR;
+    }
+    g_cpuThreshold = cpuThreshold;
+    DBG_LogInfo(DBG_LOGID_NEW, "CPU_CHECK: Set cpuThreshold %d to file successful.", g_cpuThreshold);
+    return RETURN_OK;
+}
+
+int32_t updateCpuCheckEnhancedCheckPeriod(uint32_t cpuCheckPeriod)
+{
+    int32_t retVal;
+    CST_ITEM_T item;
+
+    /* 写配置文件 */
+    memset(&item, 0, sizeof(CST_ITEM_T));
+    snprintf(item.acName,CST_MAX_ITEM_NAME_LEN, "%s", CPU_CHECK_PERIOD_ITEM_NAME);
+    snprintf(item.acValue,CST_MAX_ITEM_NAME_LEN, "%d", cpuCheckPeriod);
+    retVal = CST_SetItem(GLOBAL_SECTION_NAME, &item);
+    if (RETURN_OK != retVal)
+    {
+        DBG_LogWarning(DBG_LOGID_NEW, "CPU_CHECK: Set cpu check config item failed, ret(%d).", retVal);
+        return RETURN_ERROR;
+    }
+    /* 修改extend.ini文件 */
+    retVal = ECONF_ModifyConfig(GLOBAL_SECTION_NAME, item.acName, item.acValue);
+    if (RETURN_OK != retVal) {
+        DBG_LogWarning(DBG_LOGID_NEW, "CPU_CHECK: Set cpuCheckPeriod %d to file failed.", cpuCheckPeriod);
+        return RETURN_ERROR;
+    }
+    g_cpuCheckPeriod = cpuCheckPeriod;
+    DBG_LogInfo(DBG_LOGID_NEW, "CPU_CHECK: Set cpuCheckPeriod %d to file successful.", g_cpuCheckPeriod);
+    return RETURN_OK;
+}
+
+int32_t updateCpuCheckEnhancedAlarmPercentage(uint32_t cpuAlarmPercentage)
+{
+    int32_t retVal;
+    CST_ITEM_T item;
+
+    /* 写配置文件 */
+    memset(&item, 0, sizeof(CST_ITEM_T));
+    snprintf(item.acName,CST_MAX_ITEM_NAME_LEN, "%s", CPU_CHECK_ALARM_PERCENTAGE_ITEM_NAME);
+    snprintf(item.acValue,CST_MAX_ITEM_NAME_LEN, "%d", cpuAlarmPercentage);
+    retVal = CST_SetItem(GLOBAL_SECTION_NAME, &item);
+    if (RETURN_OK != retVal)
+    {
+        DBG_LogWarning(DBG_LOGID_NEW, "CPU_CHECK: Set cpu check config item failed, ret(%d).", retVal);
+        return RETURN_ERROR;
+    }
+    /* 修改extend.ini文件 */
+    retVal = ECONF_ModifyConfig(GLOBAL_SECTION_NAME, item.acName, item.acValue);
+    if (RETURN_OK != retVal) {
+        DBG_LogWarning(DBG_LOGID_NEW, "CPU_CHECK: Set cpuAlarmPercentage %d to file failed.", cpuAlarmPercentage);
+        return RETURN_ERROR;
+    }
+    g_cpuAlarmPercentage = cpuAlarmPercentage;
+    DBG_LogInfo(DBG_LOGID_NEW, "CPU_CHECK: Set cpuAlarmPercentage %d to file successful.", g_cpuAlarmPercentage);
+    return RETURN_OK;
+}
+
+void getCpuCheckEnhancedParams(uint32_t *xCpuThreshold, uint32_t *yCheckPeriod, uint32_t *zAlarmPercentage)
+{
+    *xCpuThreshold = g_cpuThreshold;
+    *yCheckPeriod = g_cpuCheckPeriod;
+    *zAlarmPercentage = g_cpuAlarmPercentage;
+
+    return;
+}
+
+void setCpuCheckEnhancedParams(uint32_t xCpuThreshold, uint32_t yCheckPeriod, uint32_t zAlarmPercentage)
+{
+    g_cpuThreshold = xCpuThreshold;
+    g_cpuCheckPeriod = yCheckPeriod;
+    g_cpuAlarmPercentage = zAlarmPercentage;
+
+    return;
+}
+
+bool canSetCpuCheckEnhancedSwitch(void)
+{
+    /* 设置了所有参数才能设置开关开启 */
+    if (g_cpuThreshold != 0 && g_cpuCheckPeriod != 0 && g_cpuAlarmPercentage != 0) {
+        return B_TRUE;
+    }
+    return B_FALSE;
+}
+
+void resetCpuCheckParams(void)
+{
+    g_cpuThreshold = 0;
+    g_cpuCheckPeriod = 0;
+    g_cpuAlarmPercentage = 0;
+
+    return;
+}
+
+void recoverCpuCheck(void)
+{
+    CST_ITEM_T stItem;
+
+    memset(&stItem, 0, sizeof(CST_ITEM_T));
+    if (CST_GetItemFromFile(EXTENT_CONF_FILE_PATH, GLOBAL_SECTION_NAME, CPU_CHECK_TYPE_ITEM_NAME, &stItem)) {
+        g_cpuCheckType = (CPU_CHECK_SWITCH_E)LVOS_StrToU64(stItem.acValue);
+        DBG_LogInfo(DBG_LOGID_NEW, "CPU_CHECK: Get global switch(%d) from config file successed.",
+                    g_cpuCheckType);
+    } else {
+        DBG_LogError(DBG_LOGID_NEW, "CPU_CHECK: Get global switch from config file failed. set switch(0).");
+        g_cpuCheckType = SYS_CPU_CHECK_NORMAL;
+        return;
+    }
+
+    memset(&stItem, 0, sizeof(CST_ITEM_T));
+    if (CST_GetItemFromFile(EXTENT_CONF_FILE_PATH, GLOBAL_SECTION_NAME, CPU_CHECK_THRESHOLD_ITEM_NAME, &stItem)) {
+        g_cpuThreshold = (uint32_t)LVOS_StrToU64(stItem.acValue);
+        DBG_LogInfo(DBG_LOGID_NEW, "CPU_CHECK: Get global cpu threshold(%d%%) from config file successed.",
+                    g_cpuThreshold);
+    } else {
+        DBG_LogError(DBG_LOGID_NEW, "CPU_CHECK: Get global  switch from config file failed. set switch(0).");
+        g_cpuCheckType = SYS_CPU_CHECK_NORMAL;
+        resetCpuCheckParams();
+        return;
+    }
+
+    memset(&stItem, 0, sizeof(CST_ITEM_T));
+    if (CST_GetItemFromFile(EXTENT_CONF_FILE_PATH, GLOBAL_SECTION_NAME, CPU_CHECK_PERIOD_ITEM_NAME, &stItem)) {
+        g_cpuCheckPeriod = (uint32_t)LVOS_StrToU64(stItem.acValue);
+        DBG_LogInfo(DBG_LOGID_NEW, "CPU_CHECK: Get global cpu check period(%d) from config file successed.",
+                    g_cpuCheckPeriod);
+    } else {
+        DBG_LogError(DBG_LOGID_NEW, "CPU_CHECK: Get global cpu check period from config file failed. set switch(0).");
+        g_cpuCheckType = SYS_CPU_CHECK_NORMAL;
+        resetCpuCheckParams();
+        return;
+    }
+
+    memset(&stItem, 0, sizeof(CST_ITEM_T));
+    if (CST_GetItemFromFile(EXTENT_CONF_FILE_PATH, GLOBAL_SECTION_NAME, CPU_CHECK_ALARM_PERCENTAGE_ITEM_NAME, &stItem)) {
+        g_cpuAlarmPercentage = (uint32_t)LVOS_StrToU64(stItem.acValue);
+        DBG_LogInfo(DBG_LOGID_NEW, "CPU_CHECK: Get global cpu alarm percentage from config file successed.",
+                    g_cpuAlarmPercentage);
+    } else {
+        DBG_LogError(DBG_LOGID_NEW, "CPU_CHECK: Get global cpu alarm percentage from config file failed.set switch(0).");
+        g_cpuCheckType = SYS_CPU_CHECK_NORMAL;
+        resetCpuCheckParams();
+    }
+
+    return;
+}
+
+void cpuCheckHandleEnhanced(void)
+{
+    int32_t curCpuUsage = 0;
+    int32_t aveCpuUsage;
+    char nodeName[NODE_NAME_FOR_UI] = {0};
+    char frameName[FRAME_NAME_LEN] = {0};
+    uint16_t localCtrlId;
+
+    curCpuUsage = (int32_t)LVOS_GetCpuUsage();
+
+    if (0 > curCpuUsage || 100 < curCpuUsage)
+    {
+        CTRL_UTIL_TYPE_LOG(CTRL_UTIL_LOG_SWITCH, CTRL_UTIL_LOG_DATA_NULL,
+                       CTRL_UTIL_LOG_WARN, DBG_LOGID_NEW,"CPU_CHECK: Current cpu usage (%d%%) is invalid.", curCpuUsage);
+        return;
+    }
+    
+    CTRL_UTIL_TYPE_LOG(CTRL_UTIL_LOG_SWITCH, CTRL_UTIL_LOG_DATA_NULL,
+                       CTRL_UTIL_LOG_INFO, DBG_LOGID_NEW,
+                       "CPU_CHECK: Current cpu usage (%d%%).",
+                       curCpuUsage);
+
+    if (curCpuUsage >= g_cpuThreshold) {
+        g_totalCpuOverThresholdCount++;
+    }
+    g_totalCpuEnhancedCount++;
+
+    localCtrlId = getLocalNid();
+    getFrameNamebyNid(localCtrlId, frameName);
+    GET_CTRL_NAME(localCtrlId, nodeName, NODE_NAME_FOR_UI);
+
+    if ((g_cpuCheckPeriod / 10) == g_totalCpuEnhancedCount)
+    {
+        aveCpuUsage = g_totalCpuOverThresholdCount * 100 / g_totalCpuEnhancedCount;
+        g_totalCpuOverThresholdCount = 0;
+        g_totalCpuEnhancedCount = 0;
+
+        /**mod_b for H2 normal alarm desc by luoyilei 184804 @ 2015-12-22 */
+        if (g_cpuAlarmPercentage <= aveCpuUsage)
+        {
+            SYS_MSG_LOG(SYS_LOG_WARN, LOG_ID_1557, "CPU_CHECK: Controller (%u) cpu usage is too high to (%d).",
+                        localCtrlId, aveCpuUsage);
+            /* 发送告警 */
+            (void)ALM_SendAlarmEx(OSP_SYS, ALM_SYS_CPU_USAGE_TOO_HIGH, ALM_ALARM_TYPE_FAULT, 
+                              "%d, %s, %s, %d%%", FRAME_TYPE_CTRL, frameName, nodeName, g_cpuThreshold);
+            g_bIsAlarmCpuUsingHigh = B_TRUE;
+        }
+        else if (B_TRUE == g_bIsAlarmCpuUsingHigh
+                && g_cpuAlarmPercentage >=  aveCpuUsage)
+        {
+            SYS_MSG_LOG(SYS_LOG_INFO, LOG_ID_1558, "CPU_CHECK: Controller (%u) cpu usage recover to (%d).",
+                        localCtrlId, aveCpuUsage);
+                
+            (void)ALM_SendAlarmEx(OSP_SYS, ALM_SYS_CPU_USAGE_TOO_HIGH, ALM_ALARM_TYPE_RESUME, 
+                              "%d, %s, %s, %d%%", FRAME_TYPE_CTRL, frameName, nodeName, g_cpuThreshold);
+            g_bIsAlarmCpuUsingHigh = B_FALSE;
+        }
+        /**mod_e for H2 normal alarm desc */
+    }
+    return;
+}
+
+void cpuCheckHandleNorMal(void)
+{
+    int32_t curCpuUsage = 0;
+    int32_t aveCpuUsage;
+    char nodeName[NODE_NAME_FOR_UI] = {0};
+    char frameName[FRAME_NAME_LEN] = {0};
+    uint16_t localCtrlId;
+
+    curCpuUsage = (int32_t)LVOS_GetCpuUsage();
+
+    if (0 > curCpuUsage || 100 < curCpuUsage)
+    {
+        CTRL_UTIL_TYPE_LOG(CTRL_UTIL_LOG_SWITCH, CTRL_UTIL_LOG_DATA_NULL,
+                       CTRL_UTIL_LOG_WARN, DBG_LOGID_NEW,"CPU_CHECK: Current cpu usage (%d%%) is invalid.", curCpuUsage);
+        return;
+    }
+    
+    CTRL_UTIL_TYPE_LOG(CTRL_UTIL_LOG_SWITCH, CTRL_UTIL_LOG_DATA_NULL,
+                       CTRL_UTIL_LOG_INFO, DBG_LOGID_NEW,
+                       "CPU_CHECK: Current cpu usage (%d%%).",
+                       curCpuUsage);
+
+    g_totalCpuUsing += curCpuUsage;
+    g_totalCpuCountNum++;
+
+    localCtrlId = getLocalNid();
+    getFrameNamebyNid(localCtrlId, frameName);
+    GET_CTRL_NAME(localCtrlId, nodeName, NODE_NAME_FOR_UI);
+
+    if (SYS_CPU_CHECK_TIME == g_totalCpuCountNum)
+    {
+        aveCpuUsage = g_totalCpuUsing / g_totalCpuCountNum;
+        g_totalCpuUsing = 0;
+        g_totalCpuCountNum = 0;
+
+        /**mod_b for H2 normal alarm desc by luoyilei 184804 @ 2015-12-22 */
+        if (SYS_CPU_USAGE_ALM_LEVEL <= aveCpuUsage)
+        {
+            SYS_MSG_LOG(SYS_LOG_WARN, LOG_ID_1557, "CPU_CHECK: Controller (%u) cpu usage is too high to (%d).",
+                        localCtrlId, aveCpuUsage);
+            
+            /* 发送告警 */
+            (void)ALM_SendAlarmEx(OSP_SYS, ALM_SYS_CPU_USAGE_TOO_HIGH, ALM_ALARM_TYPE_RESUME, 
+                              "%d, %s, %s, %d%%", FRAME_TYPE_CTRL, frameName, nodeName, SYS_CPU_USAGE_ALM_LEVEL);
+            (void)ALM_SendAlarmEx(OSP_SYS, ALM_SYS_CPU_USAGE_TOO_HIGH_NEW, ALM_ALARM_TYPE_FAULT, 
+                               "%d, %s, %s, %d%%, %d%%, %d%%", 
+                               FRAME_TYPE_CTRL, frameName, nodeName, aveCpuUsage, SYS_CPU_USAGE_ALM_LEVEL, SYS_CPU_USAGE_RECOVER_LEVEL);
+            g_bIsAlarmCpuUsingHigh = B_TRUE;
+        }
+        else if (B_TRUE == g_bIsAlarmCpuUsingHigh
+                && SYS_CPU_USAGE_RECOVER_LEVEL >=  aveCpuUsage)
+        {
+            SYS_MSG_LOG(SYS_LOG_INFO, LOG_ID_1558, "CPU_CHECK: Controller (%u) cpu usage recover to (%d).",
+                        localCtrlId, aveCpuUsage);
+                
+            (void)ALM_SendAlarmEx(OSP_SYS, ALM_SYS_CPU_USAGE_TOO_HIGH, ALM_ALARM_TYPE_RESUME, 
+                              "%d, %s, %s, %d%%", FRAME_TYPE_CTRL, frameName, nodeName, SYS_CPU_USAGE_ALM_LEVEL);
+            (void)ALM_SendAlarmEx(OSP_SYS, ALM_SYS_CPU_USAGE_TOO_HIGH_NEW, ALM_ALARM_TYPE_RESUME, 
+                              "%d, %s, %s, %d%%, %d%%, %d%%", 
+                              FRAME_TYPE_CTRL, frameName, nodeName, aveCpuUsage, SYS_CPU_USAGE_ALM_LEVEL, SYS_CPU_USAGE_RECOVER_LEVEL);
+            g_bIsAlarmCpuUsingHigh = B_FALSE;
+        }
+        /**mod_e for H2 normal alarm desc */
+    }
+    return;    
+}
+
+void procCpuCheckChange(void *rpcContext)
+{
+    int32_t retVal = RETURN_OK;
+    uint32_t preCpuThreshold = 0;
+    uint32_t buffLen = 0;
+    CPU_CHECK_INFO_S  *cpuCheckInfo = NULL;
+    if(B_TRUE == checkLocalNodeIsGlbMaster())
+    {
+        DBG_LogInfo(DBG_LOGID_NEW, "CPU_CHECK: The master node does not need to process the RPC(SYS_RPC_CLEAR_NODE_RESET_INFO).");
+        return;
+    }
+    DBG_LogInfo(DBG_LOGID_NEW, "CPU_CHECK: receive rpc to change cpu check switch or params.");
+    /* 获取传递过来的数据 */
+    retVal = GET_SYS_RPC_DATA((void**)&cpuCheckInfo, &buffLen, rpcContext);
+    if ((RETURN_OK != retVal) || (0 == buffLen))
+    {
+        DBG_LogError(DBG_LOGID_NEW, "CPU_CHECK: Get sys rpc data failed, return code(%d), bufflen(%u).",
+                     retVal, buffLen);
+        return;
+    }
+    getCpuCheckThreshold(&preCpuThreshold);
+    if (cpuCheckInfo->isType == B_FALSE) {     
+        setCpuCheckEnhancedParams(cpuCheckInfo->cpuThreshold, cpuCheckInfo->cpuCheckPeriod, cpuCheckInfo->cpuAlarmPercentage);
+        DBG_LogInfo(DBG_LOGID_NEW, "CPU_CHECK: set cpu check params threshold(%d%%) checkPeriod(%d s) alarmPercentage(%d%%).",
+                    g_cpuThreshold, g_cpuCheckPeriod, g_cpuAlarmPercentage);
+        if (g_cpuCheckType == SYS_CPU_CHECK_ENHANCED) {
+            recoverCpuCheckAlarm(preCpuThreshold);
+            resetCpuCheckTimeAndUse();
+            DBG_LogInfo(DBG_LOGID_NEW, "CPU_CHECK: current switch is open, clears the current CPU check information.");
+        }
+    } else {
+        g_cpuCheckType = cpuCheckInfo->cpuCheckType;
+        recoverCpuCheckAlarm(g_cpuThreshold);
+        resetCpuCheckTimeAndUse();
+        DBG_LogInfo(DBG_LOGID_NEW, "CPU_CHECK: set cpu check switch(%d).", g_cpuCheckType);
+    }
+
+    return;
+}
+
+EXPORT_SYMBOL(getCpuCheckEnhancedSwitch);
+EXPORT_SYMBOL(updateCpuCheckSwitchType);
+EXPORT_SYMBOL(updateCpuCheckEnhancedThreshold);
+EXPORT_SYMBOL(updateCpuCheckEnhancedCheckPeriod);
+EXPORT_SYMBOL(updateCpuCheckEnhancedAlarmPercentage);
+EXPORT_SYMBOL(recoverCpuCheck);
+EXPORT_SYMBOL(getCpuCheckEnhancedParams);
+EXPORT_SYMBOL(canSetCpuCheckEnhancedSwitch);
+EXPORT_SYMBOL(procCpuCheckChange);
+EXPORT_SYMBOL(setCpuCheckEnhancedParams);
+EXPORT_SYMBOL(resetCpuCheckTimeAndUse);
+EXPORT_SYMBOL(recoverCpuCheckAlarm);
\ No newline at end of file
--- ./source/private_module/sys/debug/sys_debug.c	2018-04-27 09:52:08.000000000 +0000
+++ ./source/private_module/sys/debug/sys_debug.c.hotpatch	2023-01-06 09:14:50.000000000 +0000
@@ -1,17 +1,17 @@
 /**************************************************************************
 
-    (C) 2007 ~2019   Ϊ޹˾  ȨУһȨ
+    (C) 2007 ~2019   华为技术有限公司  版权所有，保留一切权利。
 
 ***************************************************************************
-   :  
-     :  r90006280
- :  2013129
- :  ϵͳdiagnose
-     ע:
- ޸ļ¼:
-        1.ʱ     :
-             :
-          ޸ :
+ 版 本 号:  初稿
+ 作    者:  r90006280
+ 完成日期:  2013年1月29日
+ 功能描述:  系统控制diagnose调试命令
+ 备    注:
+ 修改记录:
+        1.时    间 :
+          修 改 人 :
+          修改内容 :
 **************************************************************************/
 
 #include "lvos.h"
@@ -123,7 +123,7 @@
 #ifdef _DEBUG
 static char *m_sysCfgPathName = "./conf/dbgconfig.ini";
 
-/* жǷ2Nη */
+/* 判断是否是2的N次方 */
 #define IS_POWER_OF_2(a) (0 == ((a)&((a)-1)))
 #endif
 
@@ -131,36 +131,36 @@
 extern int      OS_Execute(const char * cmd);
 #endif
 
-/* diagnoseʾ첽ȡЧԱ־Ľṹ */
+/* diagnose中显示异步读取脏数据有效性标志的结构体 */
 DIAG_SHOW_DIRTY_FLAG_S g_showDirtyDataFlag;
 
-/* Ⱥӳʱ */
+/* 集群延迟时间 */
 uint32_t g_delTime = 0;
 
 #ifdef _DEBUG
 extern int32_t g_globalDiskDomainCkgFormatSwitch;
 
 /* declared in "cls_power_lost.h" begin */
-/* ǷرյԴ־ */
+/* 是否关闭电源标志 */
 extern bool g_closePowerFlag;
 
-/* ǷرGE־ */
+/* 是否关闭GE标志 */
 extern bool g_closeEthFlag;
 
-/* ģԴ */
+/* 模拟掉电重试次数 */
 extern uint32_t g_simuPwrLostCnt;
 
-/* ýڵ־ */
+/* 设置节点掉电标志 */
 void setNodeACFlag(bool ACOffFlag);
 
-/* ֹͣmonitorCbuTimer */
+/* 停止掉电monitorCbu的Timer */
 void pwrLostStopMonitorCbu(void);
 /* declared in "cls_power_lost.h" end */
 
 #endif
 
 extern uint32_t g_cfgLogPer;
-/* ⵥţDTS2014010900443 modified by r90006280, 2014-1-2 end */
+/* 问题单号：DTS2014010900443， modified by r90006280, 2014-1-2 end */
 
 
 #ifdef _DEBUG
@@ -179,7 +179,7 @@
 /* DTS2016022906545 modified by z00230408 2016/3/10 end */
 void returnErrorHook(char userparam[], int32_t *ret);
 
-/*ʵƵfs ctrl*/
+/*下面这个函数的实现已移到fs ctrl*/
 extern void diagShowFsMiniLoadTime(int32_t argCnt, char* argBuff[]);
 
 extern void diagIsMemUsedUp(int32_t argCnt, char *argBuff[]);
@@ -190,17 +190,17 @@
 
 extern uint32_t preHandleDelayMs;
 
-/* ÿѯ6룬һѯ14400Σܼ24Сʱ */
+/* 每次轮询间隔6秒，一共轮询14400次，总计24小时 */
 #define MAX_LOOP_TIMES (14400)
-/*****************************************************************/
+/*************************函数定义****************************************/
 
 /**************************************************************************
-     :  ʾǰϵͳ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  显示当前系统命令
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowSysCmdList(int32_t argCnt, char *argBuff[])
 {
@@ -211,14 +211,14 @@
     return;
 }
 
-/* ⵥ: DTS2014092405030 жϵͳǷִ w00225702, 2014/09/25, begin */
+/* 问题单号: DTS2014092405030 判断系统是否有命令在执行 w00225702, 2014/09/25, begin */
 /**************************************************************************
-     :  ѯϵͳǰǷִ(runningwait)
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  查询系统当前是否有命令在执行(running和wait链表中)
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagIsSystemBusy(int32_t argCnt, char *argBuff[])
 {
@@ -236,17 +236,17 @@
 
     return;
 }
-/* ⵥ: DTS2014092405030 жϵͳǷִ w00225702, 2014/09/25, end */
+/* 问题单号: DTS2014092405030 判断系统是否有命令在执行 w00225702, 2014/09/25, end */
 
 #define MAX_QUERY_DIF_UUID_LUN_NUM (32)
 /**************************************************************************
-     :  ӡǰϵͳLUN uuidvolume uuidͬLUN
- :
-    argCnt  : 
-    argBuff : 嵥
- :  
- ֵ  :
-     :  
+ 功    能:  打印当前系统LUN uuid和volume uuid不同的LUN
+ 输入参数:
+    argCnt  : 命令参数数量
+    argBuff : 参数清单
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 void dbgPrintDifUuidLun(lunid_t lunId)
 {
@@ -264,7 +264,7 @@
 
     recId = (0 == lunId ? INVALID_VALUE32 : (lunId - 1));
 
-    /* ѯDB,ȡȫԱ̵index */
+    /* 查询DB,获取全部成员盘的index */
     DB_LockForRead();
     do
     {
@@ -272,7 +272,7 @@
                               sizeof(DB_LUN_S), SELECT_BY_NONE_COND);
         if (RETURN_OK == retVal)
         {
-            /* rowlunlun */
+            /* 过滤rowlun的子lun */
             if (IS_CHILD_ROW_LUN(recId))
             {
                 continue;
@@ -308,7 +308,7 @@
     } while(RETURN_OK == retVal);
     DB_UnLockForRead();
 
-    /* ѯӦRETURN_END_OF_TABLE */
+    /* 查询的正常结束应该是RETURN_END_OF_TABLE */
     if (RETURN_RECORD_END != retVal)
     {
         DBG_Print("Query LUN info in DB failed.");
@@ -334,13 +334,13 @@
 }
 
 /**************************************************************************
-     :  ӡǰϵͳLUN uuidvolume uuidͬLUN
- :
-    argCnt  : 
-    argBuff : 嵥
- :  
- ֵ  :
-     :  
+ 功    能:  打印当前系统LUN uuid和volume uuid不同的LUN
+ 输入参数:
+    argCnt  : 命令参数数量
+    argBuff : 参数清单
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowDifUuidLun(int32_t argCnt, char *argBuff[])
 {
@@ -349,7 +349,7 @@
     uint64_t tmpLunId = INVALID_VALUE64;
     bool     result   = B_FALSE;
 
-    /* жǷ */
+    /* 判断是否是主控 */
     if(B_TRUE != checkLocalNodeIsGlbMaster())
     {
         DBG_Print("Please do it on master.\n");
@@ -374,7 +374,7 @@
 
     maxLunId = OSP_GetMaxLunNumber() - 1;
 
-    /* жopTypeȡֵΧ */
+    /* 判断opType的取值范围 */
     if (maxLunId < lunId)
     {
         DBG_Print("optype value should be 0 - %u.\n", maxLunId);
@@ -387,12 +387,12 @@
 
 
 /**************************************************************************
-     :  ʾǰϵͳ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  显示当前系统命令
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowSysCmdHistory(int32_t argCnt, char *argBuff[])
 {
@@ -412,12 +412,12 @@
 }
 
 /**************************************************************************
-     :  ʾϵͳ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  显示系统流程
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowSysCallback(int32_t argCnt, char *argBuff[])
 {
@@ -467,12 +467,12 @@
 }
 
 /**************************************************************************
-    :  ʾλԭ
-:  int32_t argCnt  - 
-char *argBuff[] - 
-:  
-ֵ  :
-    :  
+功    能:  显示复位和起不来原因
+输入参数:  int32_t argCnt  - 参数个数
+char *argBuff[] - 参数数组
+输出参数:  无
+返回值  :
+其 他   :  无
 **************************************************************************/
 static void diagShowNodeFaultReason(int32_t argCnt, char *argBuff[])
 {
@@ -490,10 +490,10 @@
     for (nodeId = 0; nodeId < MAX_CTRL_NODE_NUM; nodeId++)
     {
         getNodeFaultReason(nodeId, &errCode, &paraCode);
-        //ΪĬֵ
+        //如果不为默认值
         if (SYS_DEFAULT_ERROR_CODE != errCode)
         {
-            /* ȡ */
+            /* 获取框槽内容 */
             getFrameNamebyNid(nodeId,FrameName);
             GET_CTRL_NAME(nodeId, NodeName, NODE_NAME_FOR_UI);
             DBG_Print("Node: (%d); Controller Enslocure %s, Controller %s; Node Fault Reason: (0x%x), paraCode: (%d).\n",
@@ -504,12 +504,12 @@
 }
 
 /**************************************************************************
-:  ʾϵʧܸϢ
-:  int32_t argCnt  - 
-char *argBuff[] - 
-:
-ֵ  :
-   :  
+功能:  显示上电失败辅助信息
+输入参数:  int32_t argCnt  - 参数个数
+char *argBuff[] - 参数数组
+输出参数:无
+返回值  :
+其他   :  无
 **************************************************************************/
 static void diagShowPowerOnFailedAuxiliaryMessage(int32_t argCnt, char *argBuff[])
 {
@@ -537,11 +537,11 @@
 }
 
 /*****************************************************************************
-  : ʾϵʧܴϢ
-  : flow -- FLOW ID
-  : 
-ֵ  : 
-       : 
+功能描述  : 显示上电失败错误码信息
+输入参数  : flow -- 流程FLOW ID
+输出参数  : 无
+返回值  : 无
+其他       : 无
 *****************************************************************************/
 static void showTraceErrorCodeInfo(uint32_t traceType)
 {
@@ -551,7 +551,7 @@
     uint16_t nodeIndex = 0;
     uint32_t count = 0;
     
-    //Ⱥϵʧܻ߼Ⱥָϵʧ
+    //集群上电失败或者集群恢复上电失败
     if (SYS_TRACE_TYPE_POWER_ON == traceType
         || SYS_TRACE_TYPE_RECOVERY_POWER_ON == traceType)
     {        
@@ -584,12 +584,12 @@
 }
 
 /**************************************************************************
-     :  ʾϵͳ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  显示系统流程
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowSysTrace(int32_t argCnt, char *argBuff[])
 {
@@ -607,18 +607,18 @@
     return;
 }
 
-/* ϢѯŻDTS2016020502830 modified by l90005871 2016-2-20 begin */
+/* 盘信息查询优化DTS2016020502830 modified by l90005871 2016-2-20 begin */
 static uint64_t g_perfTaskBitMap = 0;
 static uint64_t g_perfTaskItem[PERF_TASK_BUTT] = {0};
 #define  MAX_TPERF_ITEM_NUM  (64)
 
 /**************************************************************************
-     :  Sysͳ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  打开Sys的性能统计
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 void diagOpenSysPerf(int32_t argCnt, char *argBuff[])
 {
@@ -678,13 +678,13 @@
 }
 
 /**************************************************************************
-     :  ṩͳƹܣӡӦִв
- :  perfTask : ҪͳƵPERF_TASK_E
-            item : ӦTaskҪͳƵ
-            key  : һӦitemģֲͬ
- :  
- ֵ  :  
-     :  
+ 功    能:  提供性能统计功能，打印相应的执行步骤
+ 输入参数:  perfTask : 需要进行性能统计的任务，PERF_TASK_E
+            item : 对应Task的需要统计的项
+            key  : 一般填对应的item的上下文，用于区分不同的批次
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void traceTaskItemPerf(uint32_t perfTask, uint32_t item, uint64_t key, const char *func, uint32_t line)
 {
@@ -704,15 +704,15 @@
 
 
 /**************************************************************************
-     :  SYSʱģϢ
- :  opCode   : 
-            maxItem  : Ϣ
-            context  : ģڱͽʱʹ
-            encodeItemFun : Ϣʱб
-            decodeItemFun : յӦϢʱн
- :
- ֵ  :
-     :
+ 功    能:  SYS调试时模拟网管消息处理
+ 输入参数:  opCode   : 命令字
+            maxItem  : 最大的消息条数
+            context  : 上下文，用于编码和解码时使用
+            encodeItemFun : 发送消息时，进行编码
+            decodeItemFun : 收到响应消息时，进行解析检查
+ 输出参数:
+ 返回值  :
+ 其 他   :
 **************************************************************************/
 int32_t simuOmMsgForCommDebug(uint64_t opCode,
                          uint32_t maxItem,
@@ -774,9 +774,9 @@
     msgInfo.uiMsgOPCode  = MSG_OP_MMT_TLV_REQUEST;
     msgInfo.uiMsgTimeout = 5000;
 
-    /* ģͳģ鷢ͬϢ */
-    /* ߵmsgֻҪķͳɹͷںִ*/
-    /* ʧܣҪͷţڻȡmsg info ʱͷ*/
+    /* 模拟网管向性能统计模块发同步消息 */
+    /* 这边的msg只需要关心发送成功与否，释放在函数内执行*/
+    /* 如果发送失败，不需要急着释放，在获取msg info 时释放*/
     (void)MSG_SendSyncMsg(msg, &msgInfo, &ack);
     if (RETURN_OK != MSG_GetMsgInfo(ack, &msgInfo))
     {
@@ -799,18 +799,18 @@
         decodeItemFun(ackObj, argBuff);
     }
 
-    /* ͷӦϢ */
+    /* 释放响应消息体 */
     MSGOBJ_Destroy(ackObj);
 
     return RETURN_OK;
 }
 /**************************************************************************
-     :  ͻȡ̻ϢӦϢĽ
- :  ackMsgObj
+ 功    能:  调试命令，发送获取盘汇总信息后响应消息的解析函数
+ 输入参数:  ackMsgObj
             context
- :  
- ֵ  :  
-     :  
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void simuGetDiskInfoSummaryDecode(void *ackMsgObj, char *argBuff[])
 {
@@ -842,12 +842,12 @@
 }
 
 /**************************************************************************
-     :  diagnoseڹϢȡ̵ĻϢ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :  
-     :  
+ 功    能:  diagnose命令，用于构造网管消息获取盘的汇总信息
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void diagSimuGetDiskInfoSummary(int32_t argCnt, char *argBuff[])
 {
@@ -867,12 +867,12 @@
 }
 
 /**************************************************************************
-     :  ֪ͨ״̬뺯
- :  msgObj     - Ϣ
-            context    - 
- :  
- ֵ  :  
-     :  
+ 功    能:  调试命令，构造通知升级状态编码函数
+ 输入参数:  msgObj     - 消息体
+            context    - 上下文
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void simuNotifyUpgradeStatusEncode(void *msgObj, char *argBuff[])
 {
@@ -909,12 +909,12 @@
 }
 
 /**************************************************************************
-     :  diagnoseڹ֪ͨ״̬
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :  
-     :  
+ 功    能:  diagnose命令，用于构造通知升级状态
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void diagSimuNotifyUpgradeStatus(int32_t argCnt, char *argBuff[])
 {
@@ -937,12 +937,12 @@
 }
 
 /**************************************************************************
-     :  diagnoseڹϢ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :  
-     :  
+ 功    能:  diagnose命令，用于构造网管消息
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void diagSimuOmMsg(int32_t argCnt, char *argBuff[])
 {
@@ -973,15 +973,15 @@
 
     return;
 }
-/* ϢѯŻ modified by l90005871 2016-2-20 end */
+/* 盘信息查询优化 modified by l90005871 2016-2-20 end */
 
 /**************************************************************************
-     :  ʾ¿ϵͳ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  显示新框架系统流程
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowFlowTrace(int32_t argCnt, char *argBuff[])
 {
@@ -999,12 +999,12 @@
 }
 
 /**************************************************************************
-    :  ʾʷʧϵͳ
-:  int32_t argCnt  - 
-char *argBuff[] - 
-:  
-ֵ  :
-    :  
+功    能:  显示历史失败系统流程
+输入参数:  int32_t argCnt  - 参数个数
+char *argBuff[] - 参数数组
+输出参数:  无
+返回值  :
+其 他   :  无
 **************************************************************************/
 static void diagShowFailedFlowTrace(int32_t argCnt, char *argBuff[])
 {
@@ -1016,12 +1016,12 @@
 }
 
 /**************************************************************************
-    :  ʾʷʧFlow
-:  int32_t argCnt  - 
-char *argBuff[] - 
-:  
-ֵ  :
-    :  
+功    能:  显示历史失败Flow流程
+输入参数:  int32_t argCnt  - 参数个数
+char *argBuff[] - 参数数组
+输出参数:  无
+返回值  :
+其 他   :  无
 **************************************************************************/
 static void diagShowFailedTrace(int32_t argCnt, char *argBuff[])
 {
@@ -1034,12 +1034,12 @@
 
 
 /**************************************************************************
-     :  ʾ·״̬
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  显示链路状态
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowlink(int32_t argCnt, char *argBuff[])
 {
@@ -1052,12 +1052,12 @@
 }
 
 /**************************************************************************
-     :  ʾȺϢ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  显示集群信息
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowCls(int32_t argCnt, char *argBuff[])
 {
@@ -1069,12 +1069,12 @@
 }
 
 /**************************************************************************
-     :  ʾȺ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  显示集群脑裂
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowSplit(int32_t argCnt, char *argBuff[])
 {
@@ -1086,11 +1086,11 @@
 }
 
 /**************************************************************************
-     : ǰϵͳ״̬ǷNormal
- :
- :  
- ֵ  :
-     :  
+ 功    能: 当前系统状态是否Normal
+ 输入参数:
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static bool isClsNormal(void)
 {
@@ -1111,12 +1111,12 @@
 }
 
 /**************************************************************************
-     :  ʾϵͳǷ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  显示系统是否正常
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagIsSysNormal(int32_t argCnt, char *argBuff[])
 {
@@ -1136,12 +1136,12 @@
 }
 
 /**************************************************************************
-     :  ʾϵͳǷ涼˫
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  显示系统是否所有引擎都是双控
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagIsAllDoubleCtrl(int32_t argCnt, char *argBuff[])
 {
@@ -1161,12 +1161,12 @@
 }
 
 /**************************************************************************
-     :  ȡڵСڵIDͽڵ
- :  
- :  smallNid   -- ڵСڵID
-                          nodeNum  -- ڵĽڵ
- ֵ  : 
-     :  
+ 功    能:  获取引擎内的小节点ID和节点个数
+ 输入参数:  无
+ 输出参数:  smallNid   -- 引擎内的小节点ID
+                          nodeNum  -- 引擎内的节点个数
+ 返回值  : 无
+ 其 他   :  无
 **************************************************************************/
 static void getSmallNidAndNodeNumInPair(nid_t *smallNid, uint32_t *nodeNum)
 {
@@ -1182,7 +1182,7 @@
 	
     localNid = getLocalNid();
 
-    /* ȡڵĽڵλͼ*/
+    /* 获取引擎内的节点位图*/
     getNodeGroupIdInfo(localNid, &groupId);
     getAllNodeIdInfoInNodeGroup(groupId, &groupBitmap);
 
@@ -1204,7 +1204,7 @@
     return;
 }
 
-/*ݻ¶ʾַ*/
+/*根据环境温度情况组合其诊断命令显示字符串*/
 static inline void constructEnvTempStr(uint32_t tempState, char *hightempState)
 {
     if (0 == tempState)
@@ -1227,7 +1227,7 @@
     return;
 }
 
-/*ݵ¶ʾַ*/
+/*根据单板温度情况组合其诊断命令显示字符串*/
 static inline void constructBoardTempStr(uint32_t boardTempState, char *hightempState)
 {
     if (0 == boardTempState)
@@ -1250,7 +1250,7 @@
     return;
 }
 
-/*ݵת͸״̬ʾַ*/
+/*根据单控转透开关状态组合其诊断命令显示字符串*/
 static inline void constructSingleNodeWriteThroughStr(uint32_t isSingleNodeWriteThrough, char *string)
 {
     if (0 == isSingleNodeWriteThrough)
@@ -1271,12 +1271,12 @@
 extern uint32_t getFruStat(void);
 
 /**************************************************************************
-     :  ʾȺϢ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  显示集群信息
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowFruStatus(int32_t argCnt, char *argBuff[])
 {
@@ -1325,7 +1325,7 @@
 
     constructSingleNodeWriteThroughStr(fruRecordInPair.isSingleNodeWriteThrough, singleNodeWriteThrough);
 
-    /* ⵥ: DTS2014050800274   chenhong WX207688, 2014/05/07, begin */
+    /* 问题单号: DTS2014050800274  受限命令整改 chenhong WX207688, 2014/05/07, begin */
     DBG_Print("cacheState            : %s\n", cacheState);
     DBG_Print("engineVaultState      : %s\n", engineVaultState);
     DBG_Print("hightempState         : %s\n", hightempState);
@@ -1362,17 +1362,17 @@
         DBG_Print(" %-7d   boardTempState   %s \n",
                         localNid+index, hightempState);
     }
-     /* ⵥ: DTS2014050800274   chenhong WX207688, 2014/05/07, end */
+     /* 问题单号: DTS2014050800274  受限命令整改 chenhong WX207688, 2014/05/07, end */
     return;
 }
 /* modified by x00352582 for   2016/05/17 begin */
 /**************************************************************************
-     :  л
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  主备切换
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagSwapMaster(int32_t argCnt, char *argBuff[])
 {
@@ -1410,12 +1410,12 @@
 
 extern void diagPrintCommMemInfo(void);
 /**************************************************************************
-     :  ʾϵͳԤڴϢ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  显示系统控制预留内存信息
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowSysMem(int32_t argCnt, char *argBuff[])
 {
@@ -1428,12 +1428,12 @@
 
 extern void showSysXnetReqRec(void);
 /**************************************************************************
-     :  ʾϵͳϢ¼
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  显示系统控制消息记录
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowSysMsgReq(int32_t argCnt, char *argBuff[])
 {
@@ -1445,12 +1445,12 @@
 }
 
 /**************************************************************************
-     :  ʾ״̬Ϣ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  显示对象状态信息
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowObjStatus(int32_t argCnt, char *argBuff[])
 {
@@ -1465,12 +1465,12 @@
 
 /* DTS2015031109087 modified by x00283088, 2015-03-16 begin */
 /**************************************************************************
-     :  ʾ״̬Ϣ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  显示流程状态信息
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowFlowStatus(int32_t argCnt, char *argBuff[])
 {
@@ -1484,30 +1484,30 @@
 /* DTS2015031109087 modified by x00283088, 2015-03-16 end */
 
 /**************************************************************************
-     :  diagnoseȡЧԱ־Ļص
- :  cofferState -- Coffer״̬
-            context     -- 
- :  
- ֵ  :  
-     :
+ 功    能:  用diagnose命令获取脏数据有效性标志的回调函数
+ 输入参数:  cofferState -- Coffer状态
+            context     -- 上下文
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :
 **************************************************************************/
 static void diagShowDirtyFlagCallback(void *             context,
                                      int32_t            result,
                                      DIRTY_DATA_FLAG_S *dirtyDataInfo)
 {
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF_RETURN(NULL != dirtyDataInfo);	
 	
     UNREFERENCE_PARAM(context);
 
     DBG_LogInfo(LOG_ID_183D, "DIAGNOSE: Enter diag show dirty data flag callback.");
 
-    /* ӡȡЧԱ־Ϣ */
+    /* 打印获取到的脏数据有效性标志信息 */
     DBG_LogInfo(LOG_ID_183E,
                "Get dirty data flag result(%d), value(frame sn %llu,serial num %llu,node bitmap %u).",
                result,dirtyDataInfo->frameSn, dirtyDataInfo->serialNum, dirtyDataInfo->nodeBitmap);
 
-    /* ȡϢȫֱ */
+    /* 保存获取到的信息到全局变量中 */
     g_showDirtyDataFlag.result = result;
     g_showDirtyDataFlag.dirtyDataFlag.frameSn = dirtyDataInfo->frameSn;
     g_showDirtyDataFlag.dirtyDataFlag.magic = dirtyDataInfo->magic;
@@ -1521,12 +1521,12 @@
 }
 
 /**************************************************************************
-     :  ȡʾǰ̵ĵЧԱ־
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  获取并显示前四盘的的脏数据有效性标志
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowDirtyDataFlag(int32_t argCnt, char *argBuff[])
 {
@@ -1535,16 +1535,16 @@
     UNREFERENCE_PARAM(argCnt);
     UNREFERENCE_PARAM(argBuff);
 
-    /* ȡǰ̵ЧԱ־洢ȫֱ */
+    /* 获取前四盘的脏数据有效性标志，并存储在全局变量中 */
     getDirtyDataFlagSync(&g_showDirtyDataFlag, diagShowDirtyFlagCallback);
 
-    /* ȴȡݽ */
+    /* 等待读取数据结果 */
     LVOS_sema_down(&g_showDirtyDataFlag.readFlagSem);
 
     result = g_showDirtyDataFlag.result;
 
-    /* USER_DISK_IN   ɹȡݱ־ */
-    /* NEW_DISK_IN  ̽*/
+    /* USER_DISK_IN   成功获取脏数据标志 */
+    /* NEW_DISK_IN  新盘接入*/
     if (USER_DISK_IN == result)
     {
         DBG_Print("Dirty data flag value:\nmagic       : %u\nframe sn    : %llu\nserial num  : %llu\nnode bitmap : %u\n",
@@ -1568,11 +1568,11 @@
 }
 
 /**************************************************************************
-     : ϵͳӳʱ
- :  
- :  
- ֵ  :  ϵͳӳʱ
-     :  
+ 功    能: 系统延迟时间
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  系统延迟时间
+ 其 他   :  无
 **************************************************************************/
 uint32_t getDelayTime(void)
 {
@@ -1580,12 +1580,12 @@
 }
 
 /**************************************************************************
-     :  FRU 
- :  argCnt - в
-            argBuff - в
- :  
- ֵ  :
-     :  
+ 功    能:  设置FRU 器件故障命令
+ 输入参数:  argCnt - 命令行参数的数量
+            argBuff - 命令行参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagResetsystem(int32_t argCnt, char *argBuff[])
 {
@@ -1604,25 +1604,25 @@
    return;
 }
 /**************************************************************************
-     :  ҪӳִTASKĿغʱ
- :  argCnt - в
-            argBuff - в
- :  
- ֵ  :
-     :  
+ 功    能:  设置需要延迟执行TASK的开关和时间
+ 输入参数:  argCnt - 命令行参数的数量
+            argBuff - 命令行参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagCfgShowCfgLog(int32_t argCnt, char *argBuff[])
 {
     CFG_LOG_INFO_S *logRec   = NULL;
     uint16_t        count    = 0;
-    /* DTS2014102101893 CR-01535290ṩǷLOGdiagnoseԣ߶ȡ c90006379, 2014/10/9, begin */
+    /* DTS2014102101893 CR-01535290提供是否存在配置LOG的diagnose回显，供工具读取 c90006379, 2014/10/9, begin */
     uint32_t        curLogNum = 0;
     uint32_t        logId    = INVALID_VALUE32;
 
     UNREFERENCE_PARAM(argCnt);
     UNREFERENCE_PARAM(argBuff);
 
-    /* DB޷(DBڵDBδ) */
+    /* DB无法访问(非DB节点或者DB还未开工) */
     if(B_FALSE == isClsDbStarted())
     {
         DBG_Print("False\n");
@@ -1639,19 +1639,19 @@
     {
         DBG_Print("False\n");
     }
-    /* DTS2014102101893 CR-01535290ṩǷLOGdiagnoseԣ߶ȡ c90006379, 2014/10/9, end */
-    /* ȡ־ĵַ */
+    /* DTS2014102101893 CR-01535290提供是否存在配置LOG的diagnose回显，供工具读取 c90006379, 2014/10/9, end */
+    /* 获取日志区的地址 */
     logRec = getCfgLogRecAddr();
     if (NULL == logRec)
     {
         DBG_Print("Get config log failed.\n");
         return;
     }
-    /* ⵥ: DTS2014050800274   chenhong WX207688, 2014/05/07, begin */
+    /* 问题单号: DTS2014050800274  受限命令整改 chenhong WX207688, 2014/05/07, begin */
     DBG_Print("\n    Logid        objType        objId        useStatus        redoFlag       opcode       keyIndex \n");
     DBG_Print(" -----------   ------------   ----------   --------------   ------------   ----------     ---------- \n");
 
-    /* ־ҳö־¼ID */
+    /* 遍历所有日志，找出该对象的日志，记录ID */
     for (logId = 0; logId < MAX_CFG_LOG_NUM; logId++)
     {
         if (B_TRUE == logRec->isUsed)
@@ -1663,17 +1663,17 @@
 
         logRec++;
     }
-    /* ⵥ: DTS2014050800274   chenhong WX207688, 2014/05/07, end */
+    /* 问题单号: DTS2014050800274  受限命令整改 chenhong WX207688, 2014/05/07, end */
     DBG_Print("\n Total log num: %d\n", CURRENT_MAX_CFG_LOG_NUM);
     DBG_Print(" Remain free log num: %d\n", CURRENT_MAX_CFG_LOG_NUM - count);
 }
 
 /*****************************************************************************
-   : зž
-   : const void *v_pcOldData    ָ
-                          const uint32_t oldDataSize  ݴС
-   : 
-   ֵ  : int64_t  õзŵľ
+ 功能描述  : 读有符号旧数据
+ 输入参数  : const void *v_pcOldData    旧数据指针
+                          const uint32_t oldDataSize  旧数据大小
+ 输出参数  : 无
+ 返 回 值  : int64_t  得到的有符号的旧数据
 *****************************************************************************/
 int64_t getSingedDdData(const void *data,
                                  const uint32_t dataSize)
@@ -1684,22 +1684,22 @@
 	
     switch (dataSize)
     {
-        case sizeof(int8_t): /* Ϊ1ֽ */
+        case sizeof(int8_t): /* 旧数据为1个字节 */
         {
             s64Data = (int64_t)(*(int8_t *)data);
             break;
         }
-        case sizeof(int16_t): /* Ϊ2ֽ */
+        case sizeof(int16_t): /* 旧数据为2个字节 */
         {
             s64Data = (int64_t)(*(int16_t *)data);
             break;
         }
-        case sizeof(int32_t): /* Ϊ4ֽ */
+        case sizeof(int32_t): /* 旧数据为4个字节 */
         {
             s64Data = (int64_t)(*(int32_t *)data);
             break;
         }
-        case sizeof(int64_t): /* Ϊ8ֽ */
+        case sizeof(int64_t): /* 旧数据为8个字节 */
         {
             s64Data = (int64_t)(*(int64_t *)data);
             break;
@@ -1715,11 +1715,11 @@
 }
 
 /*****************************************************************************
-   : ޷ž
-   : const void *oldData      ָ
-             const uint32_t oldDataSize    ݴС
-   : 
-   ֵ  : static uint64_t õ޷ŵľ
+ 功能描述  : 读无符号旧数据
+ 输入参数  : const void *oldData      旧数据指针
+             const uint32_t oldDataSize    旧数据大小
+ 输出参数  : 无
+ 返 回 值  : static uint64_t 得到的无符号的旧数据
 *****************************************************************************/
 uint64_t getUnsingedDdData(const void    *data,
                                  const uint32_t dataSize)
@@ -1730,22 +1730,22 @@
 	
     switch (dataSize)
     {
-        case sizeof(uint8_t): /*Ϊ1ֽ  */
+        case sizeof(uint8_t): /*旧数据为1个字节  */
         {
             u64Data = (uint64_t)(*(uint8_t *)data);
             break;
         }
-        case sizeof(uint16_t): /*Ϊ2ֽ  */
+        case sizeof(uint16_t): /*旧数据为2个字节  */
         {
             u64Data = (uint64_t)(*(uint16_t *)data);
             break;
         }
-        case sizeof(uint32_t): /*Ϊ4ֽ  */
+        case sizeof(uint32_t): /*旧数据为4个字节  */
         {
             u64Data = (uint64_t)(*(uint32_t *)data);
             break;
         }
-        case sizeof(uint64_t): /*Ϊ8ֽ  */
+        case sizeof(uint64_t): /*旧数据为8个字节  */
         {
             u64Data = (*(uint64_t *)data);
             break;
@@ -1762,11 +1762,11 @@
 }
 
 /**************************************************************************
-     :  license
- :
- :  
- ֵ  :
-     :  
+ 功    能:  设置license开关
+ 输入参数:
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 void diagSetLicCheckSwitch(int32_t v_iArgc, char *v_szArgv[])
 {
@@ -1775,7 +1775,7 @@
     uint64_t tmpLicCap = 0;
     bool     result = B_FALSE;
 
-    /* ֤ */
+    /* 参数验证 */
     if (v_iArgc < 3)
     {
         DBG_Print("LIC_CHECK: please input 0(close) or 1(open) after \"sys setlicswitch \":\n");
@@ -1784,7 +1784,7 @@
 
     sw = (char*)v_szArgv[2];
 
-    /* 0ʾ */
+    /* 如果等于0表示 */
     if (0 == strncmp("0", sw, 2))
     {
         setCheckLicSwitch(B_FALSE, licCap);
@@ -1817,17 +1817,17 @@
 }
 
 /**************************************************************************
-     :  ѯlicense
- :
- :  
- ֵ  :
-     :  
+ 功    能:  查询license开关
+ 输入参数:
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 void diagShowLicCheckSwitch(int32_t v_iArgc, char *v_szArgv[])
 {
     UNREFERENCE_PARAM(v_iArgc);
     UNREFERENCE_PARAM(v_szArgv);
-     /* ⵥ: DTS2014050800274   chenhong WX207688, 2014/05/07, begin */
+     /* 问题单号: DTS2014050800274  受限命令整改 chenhong WX207688, 2014/05/07, begin */
     if (getLicenseSwitch())
     {
         DBG_Print("License switch flag : open.\n");
@@ -1836,7 +1836,7 @@
     {
         DBG_Print("License switch flag : close.\n");
     }
-	 /* ⵥ: DTS2014050800274   chenhong WX207688, 2014/05/07, end */
+	 /* 问题单号: DTS2014050800274  受限命令整改 chenhong WX207688, 2014/05/07, end */
     return;
 }
 
@@ -1899,12 +1899,12 @@
 }
 
 /**************************************************************************
-     :  ѯǰִе
- :  argCnt - в
-            argBuff - в
- :  
- ֵ  :
-     :  
+ 功    能:  查询当前正在执行的配置命令
+ 输入参数:  argCnt - 命令行参数的数量
+            argBuff - 命令行参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowCfgCmd(int32_t argCnt, char *argBuff[])
 {
@@ -1916,7 +1916,7 @@
     cfgPara = getCfgCmdPara();
     CTRL_UTIL_IF_RETURN(NULL != cfgPara);
 	
-    /* ȡ־ĵַ */
+    /* 获取日志区的地址 */
     DBG_Print("\n Cmd Name: %s", cfgPara->cfgName);
     DBG_Print("\n Cmd Opcode: %llx", cfgPara->opcode);
     DBG_Print("\n Cmd ObjType: %u", cfgPara->objType);
@@ -1924,12 +1924,12 @@
 }
 
 /**************************************************************************
-     :  ѯӦģDifУ鼶
- :  argCnt  - в
-            argBuff - в
- :  
- ֵ  :  
-     :  midʾѯʾѯȫ
+ 功    能:  查询对应模块的Dif校验级别
+ 输入参数:  argCnt  - 命令行参数的数量
+            argBuff - 命令行参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  带mid参数表示单个查询，不带参数表示批量查询全部
 **************************************************************************/
 static void diagShowDifLevel(int32_t argCnt, char *argBuff[])
 {
@@ -1939,7 +1939,7 @@
     uint64_t tmpMid = INVALID_VALUE64;
     bool     result = B_FALSE;
 
-    /* ڼȺ */
+    /* 仅在集群主处理 */
     if (B_TRUE != checkLocalNodeIsGlbMaster())
     {
         DBG_Print("Only cluster master can execute this cmd.\n");
@@ -1952,13 +1952,13 @@
         DBG_Print("Please input: sys showdiflevel [mid]\n");
         return;
     }
-    /* ⵥ: DTS2014050800274   chenhong WX207688, 2014/05/07, begin */
-    /* ӡʾͷ */
+    /* 问题单号: DTS2014050800274  受限命令整改 chenhong WX207688, 2014/05/07, begin */
+    /* 打印显示头 */
     DBG_Print("\n module id   verify level \n"
                     " ---------   ------------\n");
 
-    /* лȡmid */
-    if (3 == argCnt)    /* ѯ */
+    /* 从输入参数中获取mid */
+    if (3 == argCnt)    /* 单个查询 */
     {
         result = cfgStrToUInt64(argBuff[2], 0ULL, (uint64_t)MAX_U32, &tmpMid);
         if (!result)
@@ -1974,36 +1974,36 @@
             return;
         }
 
-        /* ѯDB¼ */
+        /* 查询DB记录 */
         getDifVerifyLevelInDb(mid, &verifyLevel);
 
-        /* ӡ */
+        /* 打印回显 */
         DBG_Print(" %-9u          %2u \n", mid, verifyLevel);
     }
-    else   /* ѯ */
+    else   /* 批量查询 */
     {
         for (index = 0; index < DIF_MID_BUTT; index++)
         {
-            /* ѯDB¼ */
+            /* 查询DB记录 */
             getDifVerifyLevelInDb(index, &verifyLevel);
             /* moidified by z00221012 for DTS2014081103515 2014-8-11  begin */
-            /* ӡ */
+            /* 打印回显 */
             DBG_Print(" %-9u        %2u \n", index, verifyLevel);
             /* moidified by z00221012 for DTS2014081103515 2014-8-11  end */
         }
     }
-    /* ⵥ: DTS2014050800274   chenhong WX207688, 2014/05/07, end */
+    /* 问题单号: DTS2014050800274  受限命令整改 chenhong WX207688, 2014/05/07, end */
     //DBG_Print("\tQuery dif verify level succeeded.\n");
     return;
 }
 
 /**************************************************************************
-     :  ڵ仯¼
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :  
-     :  
+ 功    能:  节点变化事件
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void diagNotifyNodeChange(int32_t argCnt, char *argBuff[])
 {
@@ -2021,10 +2021,10 @@
         return;
     }
 
-    /* ȡ */
+    /* 获取参数 */
     nodeId = (nid_t)LVOS_StrToS64(argBuff[2]);
 
-    /* жnodeIdȡֵΧ */
+    /* 判断nodeId的取值范围 */
     if (!IS_NID_VALID(nodeId))
     {
         DBG_Print("nodeid value should be in 0-15.\n");
@@ -2033,21 +2033,21 @@
 
     eventType = (nid_t)LVOS_StrToS64(argBuff[3]);
 
-    /* жeventTypeȡֵΧ */
+    /* 判断eventType的取值范围 */
     if (eventType < 1 || eventType > 4)
     {
         DBG_Print("eventtype value should be in 1-4.\n");
         return;
     }
 
-    /* ͽڵ¼ */
+    /* 发送节点事件 */
     if (EVENT_NODE_OFFLINE == eventType)
     {
         offlineBitmap = 0;
         SET_NODEMAP_BIT(nodeId, offlineBitmap);
         sendNodeEvent(nodeId, eventType, &offlineBitmap, sizeof(offlineBitmap));
     }
-    /* ͵¼ */
+    /* 发送掉电事件 */
     else if(EVENT_NODE_POWERLOST == eventType)
     {
         sendNodePowerLostEvent(nodeId, &pwLostType, sizeof(pwLostType));
@@ -2065,11 +2065,11 @@
 
 /* DTS2015063001276 modified by f00285214 2015-6-6 begin */
 /**************************************************************************
-     : ѯVNODEľʱ䣬ʱΪ
- :
- : v_szArgv - в
- ֵ  :
-     :
+ 功    能: 查询VNODE的镜像时间，时间为秒
+ 输入参数:
+ 输出参数: v_szArgv - 命令行参数数组
+ 返回值  :
+ 其 他   :
 **************************************************************************/
 static void diagShowMirrorTime(int32_t argCnt, char *argBuff[])
 {
@@ -2087,13 +2087,13 @@
 
 #ifdef _DEBUG
 /**************************************************************************
-     :  ѯ澯ƶʱϢ
- :
-    argCnt  : 
-    argBuff : 嵥
- :  
- ֵ  :
-     :  
+ 功    能:  查询告警抑制定时器的信息
+ 输入参数:
+    argCnt  : 命令参数数量
+    argBuff : 参数清单
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowResetAlarmSuppressionTimerInfo(int32_t argCnt, char *argBuff[])
 {
@@ -2128,13 +2128,13 @@
 }
 
 /**************************************************************************
-     :  ø澯ƶʱʱ
- :
-    argCnt  : 
-    argBuff : 嵥
- :  
- ֵ  :
-     :  ʱҪǰδʱ
+ 功    能:  设置告警抑制定时时长
+ 输入参数:
+    argCnt  : 命令参数数量
+    argBuff : 参数清单
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  设置时需要当前未启动定时器
 **************************************************************************/
 static void diagSetResetAlarmSuppressionTime(int32_t argCnt, char *argBuff[])
 {
@@ -2156,7 +2156,7 @@
 
     timeValue = (uint32_t)LVOS_StrToU64(argBuff[2]);
 
-    /* жtimeValueȡֵΧ */
+    /* 判断timeValue的取值范围 */
     if (RESET_ALARM_SUPPRESSION_BURST_MAX_SET < timeValue 
       ||timeValue % RESET_ALARM_SUPPRESSION_BURST != 0)
     {
@@ -2189,11 +2189,11 @@
 }
 
 /**************************************************************************
-    : ģⷢRPCӦڵ
-: v_iArgc - в
-: v_szArgv - в
-ֵ  : 
-    : 
+功    能: 模拟发送RPC到对应节点
+输入参数: v_iArgc - 命令行参数的数量
+输出参数: v_szArgv - 命令行参数数组
+返回值  : 无
+其 他   : 无
 **************************************************************************/
 static void diagSendNodeRpc(int32_t argCnt, char *argBuff[])
 {
@@ -2228,15 +2228,15 @@
 
 /* DTS2015063001276 modified by f00285214 2015-6-6 begin */
 /**************************************************************************
-     :  vnodeݱǵĻص
- :
- :  
- ֵ  :  
-     :  
+ 功    能:  清vnode脏数据标记的回调
+ 输入参数:
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void diagSetVnodeDirtyDataFlagCallBack(vnodeid_t vnodeId, void* argv, int32_t result)
 {
-    /* μ */
+    /* 入参检查 */
     UNREFERENCE_PARAM(argv);
     UNREFERENCE_PARAM(vnodeId);
 
@@ -2253,11 +2253,11 @@
 }
 
 /**************************************************************************
-     : ضvnodeݱ
- :
- : v_szArgv - в
- ֵ  :
-     :
+ 功    能: 清特定vnode的脏数据标记
+ 输入参数:
+ 输出参数: v_szArgv - 命令行参数数组
+ 返回值  :
+ 其 他   :
 **************************************************************************/
 static void diagClearVnodeDirtyDataFlag(int32_t argCnt, char *argBuff[])
 {
@@ -2286,11 +2286,11 @@
     return;
 }
 /**************************************************************************
-     : ضvnodeݱΪЧ
- :
- : v_szArgv - в
- ֵ  :
-     :
+ 功    能: 置特定vnode的脏数据标记为有效
+ 输入参数:
+ 输出参数: v_szArgv - 命令行参数数组
+ 返回值  :
+ 其 他   :
 **************************************************************************/
 static void diagSetVnodeDirtyDataFlagValid(int32_t argCnt, char *argBuff[])
 {
@@ -2321,11 +2321,11 @@
 /* DTS2016010405010, modified by w90006775, 2016-1-5 end */
 
 /**************************************************************************
-     : ޸ضvnodepairϢ
- : 
- :
- ֵ  : 
-     :
+ 功    能: 修改特定vnode的pair信息
+ 输入参数: 
+ 输出参数:
+ 返回值  : 
+ 其 他   :
 **************************************************************************/
 static void diagModifyVnodePairInfo(int32_t argCnt, char* argBuff[])
 {
@@ -2339,12 +2339,12 @@
     return;
 }
 /**************************************************************************
-     :  ȺӲλϵڵ㱣ݿ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  设置先后软硬件复位先上电节点保数据开关
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagSetAbVnodeCheck(int32_t argCnt, char* argBuff[])
 {
@@ -2359,11 +2359,11 @@
     return;
 }
 /**************************************************************************
-     : ڴµ
- : v_iArgc - в
- : v_szArgv - в
- ֵ  : 
-     : 
+ 功    能: 调试命令行用于触发下电流程
+ 输入参数: v_iArgc - 命令行参数的数量
+ 输出参数: v_szArgv - 命令行参数数组
+ 返回值  : 无
+ 其 他   : 无
 **************************************************************************/
 static void diagPowerOffSys(int32_t v_iArgc, char *v_szArgv[])
 {
@@ -2372,14 +2372,14 @@
     UNREFERENCE_PARAM(v_iArgc);
     UNREFERENCE_PARAM(v_szArgv);
 
-    //жǷΪ
+    //判断是否为主控
     if (B_TRUE != checkLocalNodeIsGlbMaster())
     {
         DBG_Print("Please do it on master.\n");
         return;
     }
 
-    /* ͼȺµ¼ */
+    /* 发送集群下电事件 */
     retVal = EVENT_SENDEVENT(EVENT_CLS_POWER_OFF, NULL, 0);
     if (RETURN_OK != retVal)
     {
@@ -2394,11 +2394,11 @@
 }
 
 /**************************************************************************
-     :  ǿƻָؿ
- :  v_iArgc - в
- :  v_szArgv - в
- ֵ  :
-     :  
+ 功    能:  调试命令行里用于强制恢复本地控制器
+ 输入参数:  v_iArgc - 命令行参数的数量
+ 输出参数:  v_szArgv - 命令行参数数组
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagForceResetLocalCtrl(int32_t v_iArgc, char *v_szArgv[])
 {
@@ -2406,9 +2406,9 @@
 
     UNREFERENCE_PARAM(v_iArgc);
     UNREFERENCE_PARAM(v_szArgv);
-    /* λɶλ: sys stopfd*/
+    /* 复位可定位性: sys stopfd*/
     recordNodeFaultReasonLocalNid(SYS_RESET_REASON_STOP_FD, SYS_DEFAULT_ERROR_CODE);
-    /* ͸λϵͳ */
+    /* 发送复位系统命令 */
     retVal = resetSysOs();
 
     if (RETURN_OK != retVal)
@@ -2423,13 +2423,13 @@
 }
 
 /**************************************************************************
-     :  ѯCLMĻϢ
- :
-    argCnt  : 
-    argBuff : 嵥
- :  
- ֵ  :
-     :  
+ 功    能:  查询CLM的基本信息
+ 输入参数:
+    argCnt  : 命令参数数量
+    argBuff : 参数清单
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static inline void diagShowClmInfo(int32_t argCnt, char *argBuff[])
 {
@@ -2471,20 +2471,20 @@
 }
 
 /**************************************************************************
-     :  ѯLUN Ϣ
- :
-    argCnt  : 
-    argBuff : 嵥
- :  
- ֵ  :
-     :  
+ 功    能:  查询LUN 锁信息
+ 输入参数:
+    argCnt  : 命令参数数量
+    argBuff : 参数清单
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowLunLock(int32_t argCnt, char *argBuff[])
 {
     uint32_t lunId;
     int32_t num;
 
-    /* ⵥ: DTS2014050800274   chenhong WX207688, 2014/05/07, begin */
+    /* 问题单号: DTS2014050800274  受限命令整改 chenhong WX207688, 2014/05/07, begin */
     DBG_Print("CLM: show lunlock info, input %d params \n", argCnt-2);
     for (num = 0; num < argCnt-2; num++)
     {
@@ -2492,19 +2492,19 @@
         DBG_Print("    LUN ID: %d \n",lunId);
         dbgPrintLunLockInfo(lunId);
     }
-    /* ⵥ: DTS2014050800274   chenhong WX207688, 2014/05/07, end */
+    /* 问题单号: DTS2014050800274  受限命令整改 chenhong WX207688, 2014/05/07, end */
     DBG_Print("\n ");
     return;
 }
 
 /**************************************************************************
-     :  ѯPOOL Ϣ
- :
-    argCnt  : 
-    argBuff : 嵥
- :  
- ֵ  :
-     :  
+ 功    能:  查询POOL 锁信息
+ 输入参数:
+    argCnt  : 命令参数数量
+    argBuff : 参数清单
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowPoolLock(int32_t argCnt, char *argBuff[])
 {
@@ -2523,13 +2523,13 @@
 }
 
 /**************************************************************************
-     :  ѯDB Ϣ
- :
-    argCnt  : 
-    argBuff : 嵥
- :  
- ֵ  :
-     :  
+ 功    能:  查询DB 锁信息
+ 输入参数:
+    argCnt  : 命令参数数量
+    argBuff : 参数清单
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowDblock(int32_t argCnt, char *argBuff[])
 {
@@ -2542,13 +2542,13 @@
 }
 
 /**************************************************************************
-     :  ӡϢ
- :
-    argCnt  : 
-    argBuff : 嵥
- :  
- ֵ  :
-     :  
+ 功    能:  打印锁请求信息
+ 输入参数:
+    argCnt  : 命令参数数量
+    argBuff : 参数清单
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowLockhandle(int32_t argCnt, char *argBuff[])
 {
@@ -2570,7 +2570,7 @@
 
     opType = (uint32_t)LVOS_StrToU64(argBuff[2]);
 
-    /* жopTypeȡֵΧ */
+    /* 判断opType的取值范围 */
     if (7 < opType)
     {
         DBG_Print("optype value should be 0 - 7.\n");
@@ -2582,11 +2582,11 @@
 }
 
 /**************************************************************************
-     : ʾϵͳԴĲϢ
- : 
- : 
- ֵ  : 
-     : 
+ 功    能: 显示清除系统所有资源的步骤信息
+ 输入参数: 无
+ 输出参数: 无
+ 返回值  : 无
+ 其 他   : 无
 **************************************************************************/
 static void showClearallTrace(void)
 {
@@ -2613,11 +2613,11 @@
 }
 
 /**************************************************************************
-     : ʾϵͳԴĲϢ
- : 
- : 
- ֵ  : 
-     : 
+ 功    能: 显示清除本地系统所有资源的步骤信息
+ 输入参数: 无
+ 输出参数: 无
+ 返回值  : 无
+ 其 他   : 无
 **************************************************************************/
 static void showClearAllLocalTrace(void)
 {
@@ -2635,11 +2635,11 @@
 }
 
 /**************************************************************************
-     : ϵͳԴ
- : 
- : 
- ֵ  : 
-     : 
+ 功    能: 调试命令行用于清除系统所有资源
+ 输入参数: 无
+ 输出参数: 无
+ 返回值  : 无
+ 其 他   : 无
 **************************************************************************/
 static void diagClearAllCtrl(uint32_t opType)
 {
@@ -2653,7 +2653,7 @@
     g_isClearOverCls = FALSE;
     g_clearResultCls = RETURN_OK;
 
-    /* жǷ */
+    /* 判断是否是主控 */
     if(B_TRUE != checkLocalNodeIsGlbMaster())
     {
         DBG_Print("Please do it on master.\n");
@@ -2662,21 +2662,21 @@
     }
 
     getConfigNodeNum(&usrCfgNodeNum);
-    /*DTS2015033109376ֵ֧modified by x00291101 2015-4-7 begin*/
-    /*ڵʱûõĽڵΪ1*/
+    /*DTS2015033109376，支持单控配置清除环境modified by x00291101 2015-4-7 begin*/
+    /*当处于单控配置时，将用户配置的节点数置为1*/
     if (IS_PRODUCT_SINGLE_MODE())
     {
         usrCfgNodeNum = 1;
     }
-    /*DTS2015033109376ֵ֧modified by x00291101 2015-4-7 end*/
-    /*SR:SR-0000418447 modify by 90006015 һ廷 begin*/
+    /*DTS2015033109376，支持单控配置清除环境modified by x00291101 2015-4-7 end*/
+    /*SR:SR-0000418447 modify by 90006015 一键清环境需求 begin*/
     getAliveNodeBitMap(&activeBiteMap);
-    /*SR:SR-0000418447 modify by 90006015 һ廷 end*/
+    /*SR:SR-0000418447 modify by 90006015 一键清环境需求 end*/
 
-    /*DTS2015033109376СȫӶmodified by x00291101 2015-4-7 begin*/
-    /*ݽڵλͼȡڵĿ*/
+    /*DTS2015033109376，减小全复杂度modified by x00291101 2015-4-7 begin*/
+    /*根据节点位图获取节点数目*/
     activeNodeNum = (uint16_t)getNodeNumByBitmap(activeBiteMap);
-    /*DTS2015033109376СȦӶmodified by x00291101 2015-4-7 begin*/
+    /*DTS2015033109376，减小圈复杂度modified by x00291101 2015-4-7 begin*/
 
     if (usrCfgNodeNum != activeNodeNum)
     {
@@ -2686,7 +2686,7 @@
         return;
     }
 
-    /* EVENT_CLEARALL_AND_REBOOT¼ */
+    /* 发送EVENT_CLEARALL_AND_REBOOT事件 */
     retVal = EVENT_SENDEVENT(EVENT_CLEARALL_AND_REBOOT, &forbidReboot, sizeof(bool));
 
     if (RETURN_OK != retVal)
@@ -2703,7 +2703,7 @@
     DBG_Print("Start clear, nodeBiteMap(0x%x), wait ..", activeBiteMap);
 
     /* modified by g90006267 for DTS2014011602301, 2014-1-16 begin */
-    /* ÿѯ6룬һѯ14400Σܼ24Сʱ */
+    /* 每次轮询间隔6秒，一共轮询14400次，总计24小时 */
     for (waitCnt = 0; waitCnt < MAX_LOOP_TIMES; waitCnt++)
     {
         if (g_isClearOverCls)
@@ -2714,13 +2714,13 @@
         }
         else
         {
-            /* ȴ */
+            /* 等待清理完成 */
             DBG_Print("..");
             LVOS_sleep(600);
         }
     }
 
-    /* ʱ*/
+    /* 超时*/
     if (B_FALSE == g_isClearOverCls)
     {
         DBG_Print("\n");
@@ -2743,7 +2743,7 @@
         {
             DBG_Print("begin reboot, nodeBiteMap(0x%x)..\n", activeBiteMap);
             DBG_LogInfo(LOG_ID_1867, "CLS_CLEAR: Begin reboot.");
-            /* λɶλ: sys clear*/
+            /* 复位可定位性: sys clear*/
             recordNodeFaultReasonByBitMap(activeBiteMap, SYS_RESET_REASON_SYS_CLEARALL, SYS_DEFAULT_ERROR_CODE);
             retVal = EVENT_SENDEVENT(EVENT_STOP_FEED_DOG, &activeBiteMap, sizeof(activeBiteMap));
             if (RETURN_OK != retVal)
@@ -2758,11 +2758,11 @@
 }
 
 /**************************************************************************
-     : ϵͳԴ
- : 
- : 
- ֵ  : 
-     : 
+ 功    能: 调试命令行用于清除本地系统所有资源
+ 输入参数: 无
+ 输出参数: 无
+ 返回值  : 无
+ 其 他   : 无
 **************************************************************************/
 static void diagClearLocalCtrl(void)
 {
@@ -2780,7 +2780,7 @@
     }
 
     /* modified by g90006267 for DTS2014011602301, 2014-1-16 begin */
-    /* ÿѯ6룬һѯ24*60*60/6=14400Σܼ24Сʱ */
+    /* 每次轮询间隔6秒，一共轮询24*60*60/6=14400次，总计24小时 */
     for (waitCnt = 0; waitCnt < MAX_LOOP_TIMES; waitCnt++)
     {
         if (g_isClearOverCls)
@@ -2791,13 +2791,13 @@
         }
         else
         {
-            /* ȴ */
+            /* 等待清理完成 */
             DBG_Print("..");
             LVOS_sleep(600);
         }
     }
 
-    /* ʱ */
+    /* 超时 */
     if (B_FALSE == g_isClearOverCls)
     {
         DBG_Print("\n");
@@ -2821,11 +2821,11 @@
 }
 
 /**************************************************************************
-     : п򱾵ؿ
- : argCnt - в
- : argBuff - в
- ֵ  : 
-     : 
+ 功    能: 清理所有控制器或本地控制器
+ 输入参数: argCnt - 命令行参数的数量
+ 输出参数: argBuff - 命令行参数数组
+ 返回值  : 无
+ 其 他   : 无
 **************************************************************************/
 static void diagClearAllOrLocal(int32_t argCnt, char *argBuff[])
 {
@@ -2842,7 +2842,7 @@
 
     opType = (uint32_t)LVOS_StrToU64(argBuff[2]);
 
-    /* жopTypeȡֵΧ */
+    /* 判断opType的取值范围 */
     if (2 < opType)
     {
         DBG_Print("optype value should be 0 to 2.\n");
@@ -2869,12 +2869,12 @@
 
 /* Begin: sync by g00285223 for DTS2015061206709 at 2015-08-17 */
 /**************************************************************************
-     :  ִм׵
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :  
-     :  
+ 功    能:  执行简易掉电流程
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void diagSimplePowerLost(int32_t argCnt, char *argBuff[])
 {
@@ -2912,12 +2912,12 @@
 
 /*SR-0000491756, modified by x00283088,2015-1-19 begin*/
 /**************************************************************************
-     :  ʾVnode Ϣ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  显示Vnode 信息
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowVnode(int32_t argCnt, char *argBuff[])
 {
@@ -2967,12 +2967,12 @@
 }
 
 /**************************************************************************
-     :  ñЧԱ־
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  设置本引擎的脏数据有效性标志
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagSetDirtyDataFlag(int32_t argCnt, char *argBuff[])
 {
@@ -3002,7 +3002,7 @@
 
     getNidMapInGroup(getLocalNid(), &groupNidMap);
 
-    /* û· */
+    /* 解析用户下发参数 */
     while (-1 != (retVal = DBG_GetOpt(argCnt - 1, &argBuff[1], "ain:", &opt)))
     {
         if ('a' == retVal)
@@ -3016,7 +3016,7 @@
             tmpnodeBitmap = (uint32_t)LVOS_StrToU64(opt.szOptArg);
             nodeBitmap = tmpnodeBitmap&groupNidMap;
 
-            /* ĽڵλͼЧ */
+            /* 输入的节点位图无效 */
             if (0 == nodeBitmap ||tmpnodeBitmap != nodeBitmap)
             {
                 DBG_Print("input bitmap is invalid.\n");
@@ -3034,13 +3034,13 @@
         }
         else
         {
-            /* ǷӡʾϢ */
+            /* 参数非法，打印提示信息 */
             DBG_Print(helpInfo);
             return ;
         }
     }
 
-    /* ȡƿSN */
+    /* 获取控制框SN */
     //modify by t00104528 for PANGEA DMI 2013/11/28 begin
     retVal = (int32_t)GET_CTRL_WWN(&frameSn);
     //modify by t00104528 for PANGEA DMI 2013/11/28 end
@@ -3056,7 +3056,7 @@
     dirtyDataFlag.nodeBitmap = nodeBitmap;
     dirtyDataFlag.serialNum = 0;
 
-    /* ЧԱ־ */
+    /* 更新脏数据有效性标志 */
     retVal = writeDirtyDataFlag(&dirtyDataFlag);
     if (RETURN_OK != retVal)
     {
@@ -3069,12 +3069,12 @@
 }
 
 /**************************************************************************
-     :  ǰ̵ĵЧԱ־
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  清除前四盘的的脏数据有效性标志
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagClearDirtyDataFlag(int32_t argCnt, char *argBuff[])
 {
@@ -3089,7 +3089,7 @@
     dirtyDataFlag.nodeBitmap = 0;
     dirtyDataFlag.serialNum = 0;
 
-    /* ЧԱ־ */
+    /* 更新脏数据有效性标志 */
     retVal = writeDirtyDataFlag(&dirtyDataFlag);
     if (RETURN_OK != retVal)
     {
@@ -3103,17 +3103,17 @@
 
 /* modified by g90006267 for DTS2014101003438 , 2014-10-08 begin */
 /**************************************************************************
-     :  ڴμĿ
- :
- :  
- ֵ  :
-     :  
+ 功    能:  设置内存屏蔽检查的开关
+ 输入参数:
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 void diagSetForcePowerOnSwitch(int32_t argCnt, char *argBuff[])
 {
     char    *sw  = NULL;
 
-    /* ֤ */
+    /* 参数验证 */
     if (argCnt < 3)
     {
         DBG_Print("FORCE_POWER_ON: please input 0(open) or 1(close) after \"sys setforcepoweronswitch \"\n");
@@ -3122,7 +3122,7 @@
 
     sw = (char*)argBuff[2];
 
-    /* 0ʾ */
+    /* 如果等于0表示 */
     if (0 == strncmp("0", sw, 2))
     {
         setSysMemProtectInfo(SYS_RSV_MEM_FOR_FORCE_POWER_ON, SYS_FORCE_POWER_ON_FLAG);
@@ -3147,12 +3147,12 @@
 
 /* Add by g00285223 for DTS2015013007203 at 2015-01-30 Begin */
 /**************************************************************************
-     :  Եָڵ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :  
-     :  
+ 功    能:  调试掉电指定节点
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void diagPowerLostSpecifiedNode(int32_t argCnt, char *argBuff[])
 {
@@ -3168,24 +3168,24 @@
     -n, --nodes=bitmap  power lost nodes of bitmap\n\
 \n\
 ";
-    /* ĲȷӡʾϢ */
+    /* 如果输入的参数数量不正确，打印提示信息 */
     if (3 > argCnt)
     {
         DBG_Print(helpInfo);
         return;
     }
 
-    /* ȡڵλͼ */
+    /* 获取存活节点位图 */
     getAliveNodeBitMapInfo(&aliveBitmap);
 
-    /* ڵ㲻ڼȺУλָλͼЧ */
+    /* 如果节点不在集群中，复位指定位图的命令无效 */
     if (0 == aliveBitmap)
     {
         DBG_Print("Local node is not in cluster, can not execute this command.\n");
         return;
     }
 
-    /* û· */
+    /* 解析用户下发参数 */
     while (-1 != (retVal = DBG_GetOpt(argCnt - 1, &argBuff[1], "an:", &opt)))
     {
         if ('a' == retVal)
@@ -3198,7 +3198,7 @@
         {
             powerLostBitmap = (uint32_t)LVOS_StrToU64(opt.szOptArg);
 
-            /* ĽڵλͼЧӡڵϢ */
+            /* 输入的节点位图无效，打印存活节点信息 */
             if (0 == powerLostBitmap || powerLostBitmap != (powerLostBitmap & aliveBitmap))
             {
                 DBG_Print("input bitmap is invalid, current alive bitmap(0x%x), please input valid bitmap.\n", aliveBitmap);
@@ -3210,13 +3210,13 @@
         }
         else
         {
-            /* ǷӡʾϢ */
+            /* 参数非法，打印提示信息 */
             DBG_Print(helpInfo);
             return ;
         }
     }
 
-    /*  */
+    /* 创建掉电任务 */
     retVal = createSpecifiedNodesPowerLost(powerLostBitmap);
     if (RETURN_OK != retVal)
     {
@@ -3228,12 +3228,12 @@
 
 /* DTS:DTS2015070911969 modify by lwx207050 2015-07-9 begin */
 /**************************************************************************
-    :  ϵ粻BBUǷļ
-:  int32_t argCnt  - 
-           char *argBuff[] - 
-:  
-ֵ  :  
-    :  
+功    能:  设置上电不进行BBU电量是否充足的检查
+输入参数:  int32_t argCnt  - 参数个数
+           char *argBuff[] - 参数数组
+输出参数:  无
+返回值  :  无
+其 他   :  无
 **************************************************************************/
 static void diagSetPwrOnNotCheckBbu(int32_t argCnt, char *argBuff[])
 {
@@ -3248,12 +3248,12 @@
 
 #ifdef _DEBUG
 /**************************************************************************
-     :  
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :  
-     :  
+ 功    能:  测试命令
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void diagSysTest(int32_t argCnt, char *argBuff[])
 {
@@ -3276,7 +3276,7 @@
 
 OSP_CHAR *getNextWord(OSP_CHAR *string, OSP_CHAR seprator, OSP_CHAR *value)
 {
-    /* ڲӿڣЧб֤ü */
+    /* 内部接口，参数有效性有保证，不用检查 */
     if (NULL == string)
     {
         *value = '\0';
@@ -3287,7 +3287,7 @@
     {
         if (seprator == *string)
         {
-            /* ȡ */
+            /* 读取结束 */
             *value = '\0';
 
             return '\0' == *(string + 1) ? NULL : string + 1;
@@ -3351,21 +3351,21 @@
     UNREFERENCE_PARAM(argCnt);
     UNREFERENCE_PARAM(argBuff);
 
-    /*ȡPCIE״̬*/
+    /*获取PCIE状态*/
     getLinkStatusIni(0);
 
-    /*ȡGE״̬*/
+    /*获取GE状态*/
     getLinkStatusIni(1);
 }
 
 /**************************************************************************
-     :  ѯڵص
- :  uint32_t nidBitmap - صĴλͼ
-            void* context      - 
-            int32_t retVal     - ѯ
- :  
- ֵ  :  
-     :  
+ 功    能:  查询存活节点回调
+ 输入参数:  uint32_t nidBitmap - 返回的存活位图
+            void* context      - 上下文
+            int32_t retVal     - 查询结果
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void queryAliveNodeCb(uint32_t nidBitmap, void* context, int32_t retVal)
 {
@@ -3377,12 +3377,12 @@
     return;
 }
 /**************************************************************************
-     :  ѯڵ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  查询存活节点
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagQueryAliveNode(int32_t argCnt, char *argBuff[])
 {
@@ -3394,12 +3394,12 @@
 }
 
 /**************************************************************************
-     :  10P2P¼֤¼ܷ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  发送10个P2P事件，验证保序事件能否保序
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void sendP2PEventTest(int32_t argCnt, char *argBuff[])
 {
@@ -3423,11 +3423,11 @@
 
 /* modified by g90006267 for DTS2014031905180, 2014-3-19 begin */
 /**************************************************************************
-     :  Σʾ(y/n)
- :  outInfo ʾϢ
- :  
- ֵ  :  y/nضӦĽ
-     :
+ 功    能:  高危操作提示(y/n)
+ 输入参数:  outInfo 界面提示信息
+ 输出参数:  无
+ 返回值  :  根据y/n返回对应的结果
+ 其 他   :
 **************************************************************************/
 int32_t sysDiagnoseConfirm(char * outInfo)
 {
@@ -3441,25 +3441,25 @@
 
         if (RETURN_OK != iRet)
         {
-            /* diagnose õݳ޷  */
+            /* diagnose 得到数据出错，无法处理  */
             DBG_Print("Diagnose Error!\n");
             return RETURN_ERROR;
         }
 
         if (0 == strcmp(szYes, "y"))
         {
-            /* ûy */
+            /* 用户输入y */
             iRet = RETURN_OK;
             break;
         }
         else if (0 == strcmp(szYes, "n"))
         {
-            /* ûcancle */
+            /* 用户cancle */
             iRet = RETURN_ERROR;
             break;
         }
         DBG_Print("Please input \"y\" or \"n\"!\n");
-        /* ķy/n û*/
+        /* 输入的非y/n 继续让用户输入*/
     }
 
     return iRet;
@@ -3467,12 +3467,12 @@
 
 
 /**************************************************************************
-     :  sys
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  测试sys自愈函数
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void healEventTest(int32_t argCnt, char *argBuff[])
 {
@@ -3527,12 +3527,12 @@
 }
 
 /**************************************************************************
-     :  sys, (healEventTestĹ)
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  测试sys自愈请求, (包含了healEventTest的功能)
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void healRequestTest(int32_t argCnt, char *argBuff[])
 {
@@ -3554,7 +3554,7 @@
         return;
     }
 
-    if (QRY_NODE_CAN_HEAL == level) /* ǰֻ֧1ֲѯչ */
+    if (QRY_NODE_CAN_HEAL == level) /* 当前只支持1种查询，后续扩展再添加 */
     {
         DBG_Print("We are going to deliver node[%u] heal request.\n",
                   (nid_t)healNode);
@@ -3569,12 +3569,12 @@
 }
 
 /**************************************************************************
-     :  ʾʷ¼
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  显示自愈历史记录
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagnoseShowHealRec(int32_t argCnt, char *argBuff[])
 {
@@ -3594,12 +3594,12 @@
 }
 
 /**************************************************************************
-     :  Ⱥϵͳ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  集群扩柜系统命令
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagExpandBay(int32_t argCnt, char *argBuff[])
 {
@@ -3626,11 +3626,11 @@
         return;
     }
 
-    /* Ⱥ: һһ */
+    /* 集群扩柜: 一次扩一柜 */
     getConfigNodeNum(&totalNodeNum);
-/* h00281923 ޸ڽڵ,2014-12-27 begin */
+/* h00281923 持续镜像修改引擎内节点数量,2014-12-27 begin */
     expandBayId = totalNodeNum/getLinkDomainCtrlNum();
-/* h00281923 ޸ڽڵ,2014-12-27 end */
+/* h00281923 持续镜像修改引擎内节点数量,2014-12-27 end */
     if(argCnt > 3)
     {
         expandBayId = (uint32_t)LVOS_StrToS64(argBuff[3]);
@@ -3647,12 +3647,12 @@
 
 /* Added by c00281451 2014.09.11 begin*/
 /**************************************************************************
-     :  BMC
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  配置BMC
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagConfigBmcInfo(int32_t argCnt, char *argBuff[])
 {
@@ -3671,12 +3671,12 @@
 }
 
 /**************************************************************************
-     :  BAY
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  配置BAY
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagModifyBayCfg(int32_t argCnt, char *argBuff[])
 {
@@ -3737,14 +3737,14 @@
 
 /* modified by z00248602 for DTS2014032504485 , 2014-3-26 begin */
 /**************************************************************************
-     :  diaCLI֧޸ڲIP
- :  opCode    -- ҪOPCODE
-            maxItem    -- ¼Ŀ
-            moduleId   -- ģID
-            sysSetItemFun -- Ϣĺ
- :  
- ֵ  :
-     :  
+ 功    能:  dia下添加CLI命令支持修改内部IP
+ 输入参数:  opCode    -- 需要构造的OPCODE
+            maxItem    -- 记录的最大条目数
+            moduleId   -- 模块ID
+            sysSetItemFun -- 填充消息对象的函数
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 int32_t SYS_CliCmdAddForDebug(uint64_t opCode,
                             uint32_t maxItem,
@@ -3815,9 +3815,9 @@
 
     //SYS_SET_TLV_MNT_MSG(stMsgInfo , uiMsgLen);
 
-    /* ģͳģ鷢ͬϢ */
-    /* ߵmsgֻҪķͳɹͷںִ*/
-    /* ʧܣҪͷţڻȡmsg info ʱͷ*/
+    /* 模拟网管向性能统计模块发同步消息 */
+    /* 这边的msg只需要关心发送成功与否，释放在函数内执行*/
+    /* 如果发送失败，不需要急着释放，在获取msg info 时释放*/
 
     (void)MSG_SendSyncMsg(msg, &msgInfo, &ack);
     if (RETURN_OK != MSG_GetMsgInfo(ack, &msgInfo))
@@ -3842,29 +3842,29 @@
                            &returnStatus,
                            sizeof(uint64_t));
 
-    /* յӦϢ壬ŵͺͲĶӦͼ */
+    /* 解析收到的响应消息体，里面放的是类型和参数的对应图 */
     if (RETURN_OK != returnStatus)
     {
         DBG_LogError(LOG_ID_1795, "Failed to add hostgroup result is [%llu].",
                      returnStatus);
 
-        /* ͷӦϢ */
+        /* 释放响应消息体 */
         MSGOBJ_Destroy(ackObj);
         return RETURN_ERROR;
     }
 
-    /* ͷӦϢ */
+    /* 释放响应消息体 */
     MSGOBJ_Destroy(ackObj);
 
     return RETURN_OK;
 }
 
 /**************************************************************************
-     :  ޸ڲIP
- :
- :  
- ֵ  :
-     :  
+ 功    能:  修改内部IP策略填充参数
+ 输入参数:
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 void setDiaModifyIPPara(void *msgObj, char *eth2_ip, char *eth3_ip)
 {
@@ -3876,12 +3876,12 @@
 }
 
 /**************************************************************************
-     :  Ⱥ޸ڲIPϵͳ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  集群修改内部IP的系统命令
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagModifyIP(int32_t argCnt, char *argBuff[])
 {
@@ -3919,14 +3919,14 @@
 /* modified by z00248602 for DTS2014032504485 , 2014-3-26 end */
 
 /**************************************************************************
-     :  diaCLI
- :  opCode    -- ҪOPCODE
-            maxItem    -- ¼Ŀ
-            moduleId   -- ģID
-            sysSetItemFun -- Ϣĺ
- :  
- ֵ  :
-     :  
+ 功    能:  dia下添加CLI命令测试项
+ 输入参数:  opCode    -- 需要构造的OPCODE
+            maxItem    -- 记录的最大条目数
+            moduleId   -- 模块ID
+            sysSetItemFun -- 填充消息对象的函数
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 int32_t SYS_CliCmdAddForDia(uint64_t opCode,
                             uint32_t maxItem,
@@ -3996,9 +3996,9 @@
 
     //SYS_SET_TLV_MNT_MSG(stMsgInfo , uiMsgLen);
 
-    /* ģͳģ鷢ͬϢ */
-    /* ߵmsgֻҪķͳɹͷںִ*/
-    /* ʧܣҪͷţڻȡmsg info ʱͷ*/
+    /* 模拟网管向性能统计模块发同步消息 */
+    /* 这边的msg只需要关心发送成功与否，释放在函数内执行*/
+    /* 如果发送失败，不需要急着释放，在获取msg info 时释放*/
 
     (void)MSG_SendSyncMsg(msg, &msgInfo, &ack);
     if (RETURN_OK != MSG_GetMsgInfo(ack, &msgInfo))
@@ -4023,29 +4023,29 @@
                            &returnStatus,
                            sizeof(uint64_t));
 
-    /* յӦϢ壬ŵͺͲĶӦͼ */
+    /* 解析收到的响应消息体，里面放的是类型和参数的对应图 */
     if (RETURN_OK != returnStatus)
     {
         DBG_LogError(LOG_ID_179E, "Failed to add hostgroup result is [%llu].",
                      returnStatus);
 
-        /* ͷӦϢ */
+        /* 释放响应消息体 */
         MSGOBJ_Destroy(ackObj);
         return RETURN_ERROR;
     }
 
-    /* ͷӦϢ */
+    /* 释放响应消息体 */
     MSGOBJ_Destroy(ackObj);
 
     return RETURN_OK;
 }
 
 /**************************************************************************
-     :  ȡ
- :
- :  
- ֵ  :
-     :  
+ 功    能:  取消扩柜策略填充参数
+ 输入参数:
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 void setDiaCancelBayPara(void *msgObj, char *bayId)
 {
@@ -4056,11 +4056,11 @@
 
 /* modified by z00248602 for DTS2014062505099 , 2014-6-24 begin */
 /**************************************************************************
-     :  ʾûǷȷϼԤ
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  提示用户是否确认继续操作，预防误操作
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 int32_t cancelBayDiagnoseConfirm(char* outInfo)
 {
@@ -4074,25 +4074,25 @@
 
         if (RETURN_OK != iRet)
         {
-            /* diagnose õݳ޷  */
+            /* diagnose 得到数据出错，无法处理  */
             DBG_Print("Input Error!\n");
             return RETURN_ERROR;
         }
 
         if (0 == strcmp(szYes, "y"))
         {
-            /* ûy */
+            /* 用户输入y */
             iRet = RETURN_OK;
             break;
         }
         else if (0 == strcmp(szYes, "n"))
         {
-            /* ûcancle */
+            /* 用户cancle */
             iRet = RETURN_ERROR;
             break;
         }
         DBG_Print("Please input \"y\" or \"n\"!\n");
-        /* ķy/n û*/
+        /* 输入的非y/n 继续让用户输入*/
     }
 
     return iRet;
@@ -4100,12 +4100,12 @@
 /* modified by z00248602 for DTS2014062505099 , 2014-6-22 end */
 
 /**************************************************************************
-     :  Ⱥȡϵͳ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  集群取消扩柜系统命令
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagCancelBay(int32_t argCnt, char *argBuff[])
 {
@@ -4120,9 +4120,9 @@
 
     UNREFERENCE_PARAM(argCnt);
     UNREFERENCE_PARAM(argBuff);
-/* h00281923 ޸ڽڵ,2014-12-27 begin */
+/* h00281923 持续镜像修改引擎内节点数量,2014-12-27 begin */
     nodeMaxNumInEngine = getLinkDomainCtrlNum();
-/* h00281923 ޸ڽڵ,2014-12-27 end */
+/* h00281923 持续镜像修改引擎内节点数量,2014-12-27 end */
     if(!checkLocalNodeIsGlbMaster())
     {
         DBG_Print("The command must be executed in master controller!");
@@ -4151,7 +4151,7 @@
             return;
         }
 
-        /* Ⱥ: һһ */
+        /* 集群扩柜: 一次扩一柜 */
         getConfigNodeNum(&totalNodeNum);
         if (0 == (totalNodeNum % nodeMaxNumInEngine))
         {
@@ -4171,7 +4171,7 @@
     }
 
     /* modified by z00248602 for DTS2014062505099 , 2014-6-22 begin */
-    /* ȡʱӸΣʾ */
+    /* 取消扩柜命令时增加高危提示 */
     DBG_Print("WARNING: You are going to execute the operation of cancelling bay.\n"
               "This operation will cause the service discontinuous and the data lost."
               "Suggestion: Before you perform this operation, ensure that you have input"
@@ -4185,19 +4185,19 @@
 
     retVal = SYS_CliCmdAddForDia(OM_OPCODE_CANCEL_EXPAND_BAY_ID, cmo_bay_butt,
                               OSP_SYS, argBuff[2], setDiaCancelBayPara);
-    /* ⵥ: DTS2014050800274   chenhong WX207688, 2014/05/07, begin */
+    /* 问题单号: DTS2014050800274  受限命令整改 chenhong WX207688, 2014/05/07, begin */
     DBG_Print("Command executed %s.\n",(RETURN_OK == retVal ? "succeeded" : "failed"));
-    /* ⵥ: DTS2014050800274   chenhong WX207688, 2014/05/07, end */
+    /* 问题单号: DTS2014050800274  受限命令整改 chenhong WX207688, 2014/05/07, end */
     return;
 }
 
 /* BEGIN: Added by z00101767, 2013/4/9 */
 /**************************************************************************
-     : ģPCIE·down¼ϱ
- :  nodeId  - ڵid
- :  
- ֵ  :
-     :  
+ 功    能: 模拟PCIE链路down事件上报
+ 输入参数:  nodeId  - 节点id
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 void diagnoseStartLinkEvent(nid_t nodeId)
 {
@@ -4218,12 +4218,12 @@
 /* END:   Added by z00101767, 2013/4/9 */
 
 /**************************************************************************
-     :  ôϵͳ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  设置错误码系统命令
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 #define DEL_PWRON_ERRCODE_FILE "rm -f /OSM/log/runlog/sys_power_on_record"
 static void diagSetPowerOnErrCode(int32_t argCnt, char *argBuff[])
@@ -4249,7 +4249,7 @@
     LVOS_sleep(10);
 
     errCode = (uint32_t)LVOS_StrToS64(argBuff[2]);
-    /* ô */
+    /* 设置错误码 */
     memset(cCommand, 0, MAX_NAME_LEN);
     snprintf(cCommand, MAX_NAME_LEN, OSP_RECORD_ABNORMAL_COMMAND, errCode);
     cCommand[MAX_NAME_LEN - 1] = '\0';
@@ -4262,12 +4262,12 @@
 }
 
 /**************************************************************************
-     :  ʾִй
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  显示所有执行过的流程
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowSysTraces(int32_t argCnt, char *argBuff[])
 {
@@ -4302,12 +4302,12 @@
 }
 
 /**************************************************************************
-     :  ٲռѲ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  仲裁盘抢占脑裂测试
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 void diagTestFencing(int32_t argCnt, char* argBuff [ ])
 {
@@ -4335,12 +4335,12 @@
 }
 
 /**************************************************************************
-     :  ٲռѽڵϵ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  仲裁盘抢占脑裂节点上电测试
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 void diagTestLocalFencing(int32_t argCnt, char* argBuff [ ])
 {
@@ -4357,12 +4357,12 @@
 }
 
 /**************************************************************************
-     :  ٲռٲ̲
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  仲裁盘抢占更换仲裁盘测试
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 void diagTestArbDiskChange(int32_t argCnt, char* argBuff [ ])
 {
@@ -4394,12 +4394,12 @@
 }
 
 /**************************************************************************
-     :  ٲռ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  仲裁盘抢占脑裂升级测试
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 
 void arbCheckH1CB(int32_t result, void *context)
@@ -4431,12 +4431,12 @@
 }
 
 /**************************************************************************
-     : ؽڵעٲ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能: 本地节点注册仲裁盘
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 void diagRegArbDisk(int32_t argCnt, char* argBuff [ ])
 {
@@ -4516,12 +4516,12 @@
 }
 
 /**************************************************************************
-     :  ѯٲעϢ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  查询仲裁盘注册信息
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 void diagQueryArbDiskRegInfo(int32_t argCnt, char* argBuff [ ])
 {
@@ -4591,17 +4591,17 @@
 }
 
 /**************************************************************************
-     :  ٲϵעϢ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  清理仲裁盘上的注册信息
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagCleanArbDiskRegInfo(int32_t argCnt, char* argBuff [ ])
 {
     int32_t retVal = RETURN_ERROR;
-    uint32_t diskId = 0;//ʼΪ0ָ̣result[0]
+    uint32_t diskId = 0;//初始化为0，如果不是清除指定盘，结果保存在result[0]中
     uint32_t cleanBitmap = 0;
     nid_t localNodeId = 0;
     uint32_t cleanFlag = 0;
@@ -4671,12 +4671,12 @@
 }
 
 /**************************************************************************
-     :  ǰ֧SATA̲Ʒϵǿϵ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  前四盘支持SATA盘产品单控上电强制上电
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagSataArbForcePowerOn(int32_t argCnt, char* argBuff [])
 {
@@ -4708,11 +4708,11 @@
                   forcePowerOnFlag);
     
     setForceSingleConPwrOn((bool)forcePowerOnFlag);
-    /* ǿϵ糡´ڵϵ */
-    /* ڽڵ״̬Ѳinitڵϵִ̲ */
+    /* 强制上电场景，重新触发节点上电流程 */
+    /* 在节点状态已不是init场景，节点上电流程不会执行 */
     if(B_TRUE == forcePowerOnFlag)
     {
-        /* ϵ */
+        /* 触发上电流程 */
         retVal = RECEIVE_MUTEX_REQUEST(SYS_OP_NODE_POWER_ON, SYS_CMD_PARAM_NONE, 0, NULL);
         if (RETURN_OK != retVal)
         {
@@ -4752,12 +4752,12 @@
 }
 
 /**************************************************************************
-     :  ǰ֧SATA̲ƷʾѴ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  前四盘支持SATA盘产品显示脑裂处理策略
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 void diagShowSataArbPolicy(int32_t argCnt, char* argBuff [])
 {
@@ -4784,12 +4784,12 @@
 
 #ifdef _DEBUG
 /**************************************************************************
-     :  pcie
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  跳过引擎间pcie检查
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagSkipPcieCheck(int32_t argCnt, char *argBuff[])
 {
@@ -4802,12 +4802,12 @@
 }
 
 /**************************************************************************
-     :  ͣι
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  停喂狗
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagStopFeedDog(int32_t argCnt, char *argBuff[])
 {
@@ -4828,7 +4828,7 @@
         return;
     }
 
-    /* λɶλ: sys clsstopfd*/
+    /* 复位可定位性: sys clsstopfd*/
     recordNodeFaultReasonByBitMap(bitMap, SYS_RESET_REASON_STOP_FD, SYS_DEFAULT_ERROR_CODE);
     retVal = EVENT_SENDEVENT(EVENT_STOP_FEED_DOG, &bitMap, sizeof(bitMap));
     if (RETURN_OK != retVal)
@@ -4866,12 +4866,12 @@
 
 extern void diagTestMallocSysMem(uint32_t rsvMemType, uint32_t memBlockSize);
 /**************************************************************************
-     :  ڴ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  测试内存申请
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagTestSysMem(int32_t argCnt, char *argBuff[])
 {
@@ -4892,12 +4892,12 @@
 
 extern void showSysMsgRec(uint32_t opType);
 /**************************************************************************
-     :  ʾϵͳϢ¼
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  显示系统控制消息记录
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowSysMsgRec(int32_t argCnt, char *argBuff[])
 {
@@ -4921,12 +4921,12 @@
 }
 
 /**************************************************************************
-     : ʾϱ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能: 显示主动上报调试
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 void diagShowNtfTrace(int32_t argCnt, char *argBuff[])
 {
@@ -4938,12 +4938,12 @@
 }
 
 /**************************************************************************
-     :  ʾϵͳڴ־Ϣ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  显示系统控制内存日志卷信息
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowSysLog(int32_t argCnt, char *argBuff[])
 {
@@ -4956,12 +4956,12 @@
 
 /* modified by x00220068 for DTS2014071900916, 2014-07-30 begin */
 /**************************************************************************
-     :  ʾϵͳڴ־Ϣ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  显示系统控制内存日志适配层信息
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowSysLogRecord(int32_t argCnt, char *argBuff[])
 {
@@ -4988,13 +4988,13 @@
 }
 
 /**************************************************************************
-     :  ϵͳڴ־дϢĻص
- :  recordId  - ¼ID
-            result    - дϢĽ(ɹ/ʧ)
-            arg       - صĲ
- :  
- ֵ  :  
-     :  
+ 功    能:  系统控制内存日志适配层写信息的回调函数
+ 输入参数:  recordId  - 记录ID
+            result    - 写信息的结果(成功/失败)
+            arg       - 回调函数的参数
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void writeSysRecordCallBack(uint32_t recordId, int32_t result, void * arg)
 {
@@ -5003,12 +5003,12 @@
 }
 
 /**************************************************************************
-     :  ϵͳڴ־޸/ɾϢĻص
- :  result    - дϢĽ(ɹ/ʧ)
-            arg       - صĲ
- :  
- ֵ  :  
-     :  
+ 功    能:  系统控制内存日志适配层修改/删除信息的回调函数
+ 输入参数:  result    - 写信息的结果(成功/失败)
+            arg       - 回调函数的参数
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void modifySysRecordCallBack(int32_t result, void *arg)
 {
@@ -5017,12 +5017,12 @@
 }
 
 /**************************************************************************
-     :  ϵͳд¼
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :  
-     :  
+ 功    能:  系统控制写记录
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void diagWriteSysRecord(int32_t argCnt, char *argBuff[])
 {
@@ -5055,19 +5055,19 @@
 }
 
 /**************************************************************************
-     :  ϵͳд¼е˳
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :  
-     :  
+ 功    能:  系统控制批量写记录，测试命令队列的顺序调度
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void diagBatWriteSysRecord(int32_t argCnt, char *argBuff[])
 {
     int      repeatTime = 0;
     int      index      = 0;
     uint32_t nodeBitmap = 0;
-    char     data[100]  = {0}; /*ΪʮƵȲᳬ100ԶΪdataĳ*/
+    char     data[100]  = {0}; /*因为十进制的数长度不会超过100，所以定义其为data的长度*/
     int32_t  dataLen    = 0;
 	uint32_t recordType = INVALID_VALUE32;
 
@@ -5105,12 +5105,12 @@
 }
 
 /**************************************************************************
-     :  ϵͳ޸ļ¼
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :  
-     :  
+ 功    能:  系统控制修改记录
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void diagUpdateSysRecord(int32_t argCnt, char *argBuff[])
 {
@@ -5149,12 +5149,12 @@
 }
 
 /**************************************************************************
-     :  ϵͳɾ¼
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :  
-     :  
+ 功    能:  系统控制删除记录
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void diagDeleteSysRecord(int32_t argCnt, char *argBuff[])
 {
@@ -5184,12 +5184,12 @@
 }
 
 /**************************************************************************
-     :  ȡ¼
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :  
-     :  
+ 功    能:  获取记录类型
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void diagGetSysRecordType(int32_t argCnt, char *argBuff[])
 {
@@ -5212,12 +5212,12 @@
 }
 
 /**************************************************************************
-     :  ȡһ¼ID
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :  
-     :  
+ 功    能:  获取第一个记录ID
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void diagGetFirstSysRecordId(int32_t argCnt, char *argBuff[])
 {
@@ -5232,12 +5232,12 @@
 }
 
 /**************************************************************************
-     :  ȡһ¼ID
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :  
-     :  
+ 功    能:  获取下一个记录ID
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void diagGetNextSysRecordId(int32_t argCnt, char *argBuff[])
 {
@@ -5263,12 +5263,12 @@
 
 extern void setTaskDbgSwitch(bool switchValue);
 /**************************************************************************
-     :  òTASK̵ĵԿ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  设置测试TASK流程的调试开关
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagSetTaskDbgSwitch(int32_t argCnt, char *argBuff[])
 {
@@ -5293,12 +5293,12 @@
 }
 
 /**************************************************************************
-     :  òٲÿ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  设置测试仲裁开关
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagSetARBSwitch(int32_t argCnt, char *argBuff[])
 {
@@ -5349,12 +5349,12 @@
 
 /* DTS2015051800640 modified by z00227589, 2015-07-29 begin */
 /**************************************************************************
-     :  ٲʷ¼
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  设置仲裁历史记录
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagSetFsAndLunToCacheSwitch(int32_t argCnt, char *argBuff[])
 {
@@ -5386,12 +5386,12 @@
 
  /* modified by j00358105 for DTS2016020200872, 2016-02-02 begin */
 /**************************************************************************
-     :  ʱעˢCACHEʧ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  掉电时注入刷CACHE失败
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void setPwrLostFlushCacheFail(char userparam[], int32_t *ret)
 {
@@ -5402,12 +5402,12 @@
  /* modified by j00358105 for DTS2016020200872, 2016-02-02 end */
 
 /**************************************************************************
-     :  ٲʷ¼
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  设置仲裁历史记录
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowHSplit(int32_t argCnt, char *argBuff[])
 {
@@ -5419,35 +5419,35 @@
 }
 
 
-/* : ܼ added by z00227583 for encrypt begin 2014.1.27 */
+/* 新增特性: 国密加密 added by z00227583 for encrypt begin 2014.1.27 */
 /**************************************************************************
-     :  ѯڵܼܿ״̬
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  ֻڵִ
+ 功    能:  查询节点国密加密开关状态
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  只能在单控执行
 **************************************************************************/
 static void diagShowEncryptSwt(int32_t argCnt, char *argBuff[])
 {
     UNREFERENCE_PARAM(argCnt);
     UNREFERENCE_PARAM(argBuff);
 
-    /*begin modified by zhaowei 90002192@2014.9.16 for DTS2014090506034,ȫ޸*/
+    /*begin modified by zhaowei 90002192@2014.9.16 for DTS2014090506034,安全问题检视意见修改*/
     DBG_Print("node[%u] encrypt switch status is: %d.\n",
               getLocalNid(), getEncryptSwitchStatus());
-    /*end modified by zhaowei 90002192@2014.9.16 for DTS2014090506034,ȫ޸*/
+    /*end modified by zhaowei 90002192@2014.9.16 for DTS2014090506034,安全问题检视意见修改*/
 }
-/* : ܼ added by z00227583 for encrypt end 2014.1.27 */
+/* 新增特性: 国密加密 added by z00227583 for encrypt end 2014.1.27 */
 
 /* modified by g90006267 for DTS2014052300508, 2014-5-23 begin */
 /**************************************************************************
-     :  ʾýڵXRBλϢ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  ֻʾڵϢ
+ 功    能:  显示该节点XRB心跳故障自愈复位信息
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  只显示本节点信息
 **************************************************************************/
 static void diagShowHbHealInfo(int32_t argCnt, char *argBuff[])
 {
@@ -5459,7 +5459,7 @@
     UNREFERENCE_PARAM(argCnt);
     UNREFERENCE_PARAM(argBuff);
 
-    /* ȡȺڵID */
+    /* 获取集群主节点ID */
     (void)getGlbMasterNodeId(&masterNid);
     localNid = getLocalNid();
     if(localNid == masterNid)
@@ -5500,12 +5500,12 @@
 /* modified by g90006267 for DTS2014052300508, 2014-5-23 end */
 
 /**************************************************************************
-     :  ¼
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  发送在线升级事件
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagSendOnlineUpgradeEvent(int32_t argCnt, char *argBuff[])
 {
@@ -5537,12 +5537,12 @@
 }
 
 /**************************************************************************
-     : ϵͳӳʱ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能: 系统延迟时间
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagDelay(int32_t argCnt, char *argBuff[])
 {
@@ -5559,12 +5559,12 @@
 }
 
 /**************************************************************************
-     :  µʱرյԴ־
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  设置下电或掉电时不关闭电源标志
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagSetNotClosePower(int32_t argCnt, char *argBuff[])
 {
@@ -5572,32 +5572,32 @@
     //UNREFERENCE_PARAM(argCnt);
     //UNREFERENCE_PARAM(argBuff);
 
-    if (argCnt <= 2)    /* ̳ԭ */
+    if (argCnt <= 2)    /* 继承原功能 */
     {
         g_closePowerFlag = B_FALSE;
         DBG_Print("Set not close power succeeded.\n");
         return;
     }
 
-    if (argCnt > 2)     /* ע: !!øõִеĵ */
-    {                   /* ÷: sys notclosepower [normal/simu1] ([0/1]) */
-        if (0 == strcmp("normal", argBuff[2]))  /* ָ */
+    if (argCnt > 2)     /* 注意: !!调用该调试命令需等正在执行的掉电流程完成 */
+    {                   /* 用法: sys notclosepower [normal/simu1] ([0/1]) */
+        if (0 == strcmp("normal", argBuff[2]))  /* 恢复正常 */
         {
             g_simuPwrLostCnt = 0;
             g_closePowerFlag = B_TRUE;
             enableAllSysCmdRunQ(0, B_TRUE);
             pwrLostStopMonitorCbu();
         }
-        else if (0 == strcmp("simu1", argBuff[2]))  /* ģ1,  */
+        else if (0 == strcmp("simu1", argBuff[2]))  /* 测试模拟掉电1次, 可重入 */
         {
             g_simuPwrLostCnt = 1;
-            g_closePowerFlag = B_FALSE; /* ص */
+            g_closePowerFlag = B_FALSE; /* 不关电 */
             enableAllSysCmdRunQ(0, B_TRUE);
-            pwrLostStopMonitorCbu();    /* ͣӡtimer */
+            pwrLostStopMonitorCbu();    /* 停打印timer */
         }
         else
         {
-            /* ˳ */
+            /* 其他参数不处理，退出 */
             return;
         }
         DBG_Print("Set not close power[%s] succeeded.\n", argBuff[2]);
@@ -5605,11 +5605,11 @@
 
     if (argCnt > 3)
     {
-        if (0 == strcmp("0", argBuff[3]))   /* AC */
+        if (0 == strcmp("0", argBuff[3]))   /* 非AC掉电 */
         {
             setNodeACFlag(B_FALSE);
         }
-        else   /* AC */
+        else   /* AC掉电 */
         {
             setNodeACFlag(B_TRUE);
         }
@@ -5620,12 +5620,12 @@
 }
 
 /**************************************************************************
-     :  µʱر
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  设置下电或掉电时不关闭网口
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagSetNotCloseEth(int32_t argCnt, char *argBuff[])
 {
@@ -5641,12 +5641,12 @@
 
 extern void showTestTaskFlow(void);
 /**************************************************************************
-     :  ʾTASKıϢ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  显示测试TASK的变量信息
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowTaskDbgInfo(int32_t argCnt, char *argBuff[])
 {
@@ -5659,12 +5659,12 @@
 extern void setTestTaskFlow(uint32_t testTaskFlow);
 extern void setTestTaskStep(uint32_t testTaskStep);
 /**************************************************************************
-     :  TASKԲϢ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  设置TASK调试步骤信息
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagSetTaskDbgStep(int32_t argCnt, char *argBuff[])
 {
@@ -5684,7 +5684,7 @@
     taskFlow = 0;
     taskStep = 0;
 
-    /*  */
+    /* 根据命令处理 */
     if (0 == strcmp(argBuff[1], "settaskdbgstep"))
     {
         while ((retVal = DBG_GetOpt(argCnt - 1, &argBuff[1], "f:s:", &opt)) != -1)
@@ -5725,12 +5725,12 @@
 extern void setNodeRstSwitch(bool switchValue);
 extern void setRstNid(nid_t nid);
 /**************************************************************************
-     :  ҪTrace pointTASK
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  设置需要Trace point的TASK步骤
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagSetRstNode(int32_t argCnt, char *argBuff[])
 {
@@ -5745,7 +5745,7 @@
         return;
     }
 
-    /*  */
+    /* 根据命令处理 */
     if (0 == strcmp(argBuff[1], "setrstnode"))
     {
         while ((retVal = DBG_GetOpt(argCnt - 1, &argBuff[1], "s:n:", &opt)) != -1)
@@ -5786,12 +5786,12 @@
 extern void setActionDelaySwitch(bool switchValue);
 extern void setActionDelayTime(uint32_t deleyTime);
 /**************************************************************************
-     :  ҪӳִTASKĿغʱ
- :  argCnt - в
-            argBuff - в
- :  
- ֵ  :
-     :  
+ 功    能:  设置需要延迟执行TASK的开关和时间
+ 输入参数:  argCnt - 命令行参数的数量
+            argBuff - 命令行参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagSetDelayTime(int32_t argCnt, char *argBuff[])
 {
@@ -5806,7 +5806,7 @@
         return;
     }
 
-    /*  */
+    /* 根据命令处理 */
     if (0 == strcmp(argBuff[1], "setdelaytime"))
     {
         while ((retVal = DBG_GetOpt(argCnt - 1, &argBuff[1], "s:t:", &opt)) != -1)
@@ -5840,14 +5840,14 @@
     }
 }
 
-/* ⵥţDTS2014010900443 modified by r90006280, 2014-1-2 begin */
+/* 问题单号：DTS2014010900443， modified by r90006280, 2014-1-2 begin */
 /**************************************************************************
-     :  ò־İٷֱ
- :  argCnt - в
-            argBuff - в
- :  
- ֵ  :
-     :  
+ 功    能:  设置配置操作日志的百分比
+ 输入参数:  argCnt - 命令行参数的数量
+            argBuff - 命令行参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagSetCfgLogPer(int32_t argCnt, char *argBuff[])
 {
@@ -5855,7 +5855,7 @@
     uint32_t oldLv = g_cfgLogPer;
     uint32_t usedLog = 0;
 
-    /* ڼȺ */
+    /* 仅在集群主处理 */
     if (B_TRUE != checkLocalNodeIsGlbMaster())
     {
         DBG_Print("Only cluster master can execute this cmd.\n");
@@ -5869,10 +5869,10 @@
         return;
     }
 
-    /* лȡmid */
+    /* 从输入参数中获取mid */
     newLv = (uint32_t)LVOS_StrToU64(argBuff[2]);
 
-    /*  */
+    /* 参数检查 */
     if ((newLv < 1) || (newLv >100))
     {
         DBG_Print("\nThe value of level must be in the range of [1,100].\n");
@@ -5880,7 +5880,7 @@
         return;
     }
 
-    /* ǰʹõ־СҪõֵ */
+    /* 当前已使用的日志数量必须小于要设置的值 */
     usedLog = currentUsedLogNum();
     if (((newLv * MAX_CFG_LOG_NUM) / 100) <= usedLog)
     {
@@ -5897,16 +5897,16 @@
 
     return;
 }
-/* ⵥţDTS2014010900443 modified by r90006280, 2014-1-2 end */
+/* 问题单号：DTS2014010900443， modified by r90006280, 2014-1-2 end */
 #endif
 
 #if DESC("fast_failover_notify_opt")
 /**************************************************************************
-     :  øλԤ֪ͨȴʱ
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  设置复位预处理通知链等待时间
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void diagSetResetNotifierCbDelay(int32_t argCnt, char* argBuff[])
 {
@@ -5926,11 +5926,11 @@
 }
 
 /**************************************************************************
-     :  ѯλԤ֪ͨȴʱ
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  查询复位预处理通知链等待时间
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void diagShowResetNotifierCbDelay(int32_t argCnt, char* argBuff[])
 {
@@ -5946,11 +5946,11 @@
 }
 
 /**************************************************************************
-     :  ģں˸λ
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  模拟内核复位命令
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void diagTestKernelReset(int32_t argCnt, char* argBuff[])
 {
@@ -5995,12 +5995,12 @@
 
 
 /**************************************************************************
-     :  ִиλϱ̵ĺ˷쳣oopsoompanic
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  执行复位上报流程的核发生异常（oops、oom、panic）
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void nodeClosePortKernelResetHook(char userparam[], int32_t *ret)
 {
@@ -6037,12 +6037,12 @@
 }
 
 /**************************************************************************
-     :  ִиλϱУǰڵ㿪ʼ߽ڵ븴λ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  执行复位上报流程中，当前节点开始走节点隔离复位
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void nodeClosePortNodeIsolateHook(char userparam[], int32_t *ret)
 {
@@ -6055,12 +6055,12 @@
 }
 
 /**************************************************************************
-     :  ִиλϱУǰڵ㿪ʼ·
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  执行复位上报流程中，当前节点开始走链路检查
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void nodeClosePortNodeLinkCheckHook(char userparam[], int32_t *ret)
 {
@@ -6073,12 +6073,12 @@
 }
 
 /**************************************************************************
-     :  ִиλϱУǰڵ㿪ʼ"Զ˽ڵ̷Ϣñ˸λ"
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  执行复位上报流程中，当前节点开始走"对端节点故障流程发消息让本端复位"
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void nodeClosePortNodeIrqHandleHook(char userparam[], int32_t *ret)
 {
@@ -6091,12 +6091,12 @@
 }
 
 /**************************************************************************
-     :  ִиλϱУǰڵBSPʼж
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  执行复位上报流程中，当前节点BSP开始发送中断
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void nodeTestMsgBeforeBspHandleHook(char userparam[], int32_t *ret)
 {
@@ -6112,14 +6112,14 @@
 #endif
 
 /****************************************************************************
-   : ӡֶ
-   : void *v_pNewUnitData
+ 功能描述  : 打印字段数据
+ 输入参数  : void *v_pNewUnitData
              const DB_FIELD_DESC_S *v_pNewUnitDesc
              uint32_t fieldUnitIndex,
              uint32_t fieldUnitNum,
              uint32_t v_uiUnitLayerIndex
-   : 
-   ֵ  : static int32_t
+ 输出参数  : 无
+ 返 回 值  : static int32_t
 *****************************************************************************/
 int32_t printDdFieldData(void *fieldData, DD_FIELD_DESC_S *fieldDesc)
 {
@@ -6128,10 +6128,10 @@
 
     CTRL_UTIL_IF_RET((NULL != fieldData) && (NULL != fieldDesc), RETURN_ERROR);
 	
-    /* /t */
+    /* 增加/t */
     bufSize += snprintf(charBuf + bufSize, 2, "\t");
 
-    /* ֶͻֶָεǰֶεԪ */
+    /* 根据字段类型恢复该字段当前字段单元的数据 */
     switch (fieldDesc->fieldType)
     {
         case DB_TYPE_UNSIGNED:
@@ -6163,11 +6163,11 @@
 }
 
 /**************************************************************************
-     :  ѯDD
- :
- :  
- ֵ  :
-     :  
+ 功    能:  查询DD表描述内容
+ 输入参数:
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 void diagShowAllDdTable(int32_t v_iArgc, char *v_szArgv[])
 {
@@ -6179,11 +6179,11 @@
 }
 
 /**************************************************************************
-     :  ѯDD
- :
- :  
- ֵ  :
-     :  
+ 功    能:  查询DD表内容
+ 输入参数:
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 void diagShowDdTableInfo(int32_t v_iArgc, char *v_szArgv[])
 {
@@ -6201,7 +6201,7 @@
     uint64_t         tmpTableId = INVALID_VALUE64;
     char* fieldData = NULL;
 
-    /* ֤ */
+    /* 参数验证 */
     if (v_iArgc < 3)
     {
         DBG_Print("DD_TEST: please input table name:\n");
@@ -6225,7 +6225,7 @@
 
     tableId = (uint32_t)tmpTableId;
 
-    /* ȡֶ */
+    /* 获取表的字段描述 */
     tableDesc = getDdTableDescByName(tableName);
     if (NULL == tableDesc)
     {
@@ -6233,7 +6233,7 @@
         return;
     }
 
-    /* ȡϢ */
+    /* 获取表的信息 */
     objType   = tableDesc->objType;
     fieldDesc = tableDesc->fieldDesc;
     fieldNum  = tableDesc->fieldNum;
@@ -6246,7 +6246,7 @@
         return;
     }
 
-    /* ȡ¼ĵַ */
+    /* 获取记录的地址 */
     ret = getDdTableRecordAddr(objType, tableId, &ddRecAddr);
     if ((RETURN_OK != ret) || (NULL == ddRecAddr))
     {
@@ -6257,7 +6257,7 @@
     for (idx = 0; idx < fieldNum; idx++)
     {
         fieldData = (char*)ddRecAddr + fieldDesc->fieldOffset;
-        /* ֶδӡǰ¼ */
+        /* 分字段打印当前记录 */
         (void)printDdFieldData(fieldData, fieldDesc);
         fieldDesc++;
     }
@@ -6265,11 +6265,11 @@
 }
 
 /**************************************************************************
-     :  ѯDDʵ
- :
- :  
- ֵ  :
-     : ҵģýӿڲѯ
+ 功    能:  查询DD项实际内容
+ 输入参数:
+ 输出参数:  无
+ 返回值  :
+ 其 他   : 是向业务模块调用接口查询的
 **************************************************************************/
 void diagShowDdTableRealInfo(int32_t v_iArgc, char *v_szArgv[])
 {
@@ -6289,7 +6289,7 @@
     bool             result       = B_FALSE;
     uint64_t         tmpTableId   = INVALID_VALUE64;
 
-    /* ֤ */
+    /* 参数验证 */
     if (v_iArgc < 3)
     {
         DBG_Print("DD_TEST: please input table name:\n");
@@ -6313,7 +6313,7 @@
 
     tableId = (uint32_t)tmpTableId;
 
-    /* ȡֶ */
+    /* 获取表的字段描述 */
     tableDesc = getDdTableDescByName(tableName);
     if (NULL == tableDesc)
     {
@@ -6321,7 +6321,7 @@
         return;
     }
 
-    /* ȡϢ */
+    /* 获取表的信息 */
     objType   = tableDesc->objType;
     fieldDesc = tableDesc->fieldDesc;
     fieldNum  = tableDesc->fieldNum;
@@ -6353,7 +6353,7 @@
         return;
     }
 
-    ddRecAddr = (void *)mallocRsvMem(SYS_RSV_MEM_TYPE_NODE_DD_DATA, SYS_RSV_MEM_POOL_4K_BYTE_SIZE); // CMMĹڴ档
+    ddRecAddr = (void *)mallocRsvMem(SYS_RSV_MEM_TYPE_NODE_DD_DATA, SYS_RSV_MEM_POOL_4K_BYTE_SIZE); // 考虑用CMM的公共内存。
     if (NULL == ddRecAddr)
     {
         DBG_Print("DD_TEST: System is busy.\n");
@@ -6378,7 +6378,7 @@
     for (idx = 0; idx < fieldNum; idx++)
     {
         fieldData = (char *)ddRecAddr + fieldDesc->fieldOffset;
-        /* ֶδӡǰ¼ */
+        /* 分字段打印当前记录 */
         (void)printDdFieldData(fieldData, fieldDesc);
         fieldDesc++;
     }
@@ -6390,16 +6390,16 @@
 #ifdef _DEBUG
 extern int32_t g_diagDDOperate;
 /**************************************************************************
-     :  ͣDDıλͼ㶨λ
- :
- :  
- ֵ  :
-     :  
+ 功    能:  暂停清DD改变位图，方便定位问题
+ 输入参数:
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 void diagStopClearBitmap(int32_t v_iArgc, char *v_szArgv[])
 {
 
-    /* ֤ */
+    /* 参数验证 */
     if (v_iArgc < 3)
     {
         DBG_Print("DD_TEST: please input option : 0 clear, 1 not\n");
@@ -6411,11 +6411,11 @@
 #endif
 
 /**************************************************************************
-     :  ѯDDλͼϢ
- :
- :  
- ֵ  :
-     :  
+ 功    能:  查询DD表位图信息
+ 输入参数:
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 #define HEX_LINE_SIZE  16
 void diagShowDdBitMap(int32_t v_iArgc, char *v_szArgv[])
@@ -6427,7 +6427,7 @@
     uint64_t        tmpType = INVALID_VALUE64;
     bool            result  = B_FALSE;
     
-    /* ֤ */
+    /* 参数验证 */
     if (v_iArgc < 3)
     {
         DBG_Print("DD_TEST: please input obj type:\n");
@@ -6487,11 +6487,11 @@
 
 #ifdef _DEBUG
 /**************************************************************************
-     :  ѯlicense
- :
- :  
- ֵ  :
-     :  
+ 功    能:  查询仿真license容量
+ 输入参数:
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 void diagShowSimuLicCap(int32_t v_iArgc, char *v_szArgv[])
 {
@@ -6502,7 +6502,7 @@
 
     simuLicCap = getLicenseSimuCap();
 
-    /* ش򿪵ʱſԿ */
+    /* 开关打开的时候才可以看到容量 */
     if (getLicenseSwitch())
     {
         DBG_Print("Simulator Licence capcacity is %u.\n", simuLicCap);
@@ -6515,14 +6515,14 @@
     return;
 }
 
-/* ⵥţDTS2014040107008 modified by c90005916, 20140404 begin */
+/* 问题单号：DTS2014040107008 modified by c90005916, 20140404 begin */
 /**************************************************************************
-     :  ѯswitch״̬
- :  argCnt  - в
-            argBuff - в
- :  
- ֵ  :  
-     :
+ 功    能:  查询switch状态
+ 输入参数:  argCnt  - 命令行参数的数量
+            argBuff - 命令行参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :
 **************************************************************************/
 static void diagShowswitch(int32_t argCnt, char *argBuff[])
 {
@@ -6532,15 +6532,15 @@
     DBG_Print(" GetFTDS Switch:%u ", OSP_GetFtdsSwitch());
     return;
 }
-/* ⵥţDTS2014040107008 modified by c90005916, 20140404 end */
+/* 问题单号：DTS2014040107008 modified by c90005916, 20140404 end */
 
 /**************************************************************************
-     :  öӦģDifУ鼶
- :  argCnt  - в
-            argBuff - в
- :  
- ֵ  :  
-     :  
+ 功    能:  设置对应模块的Dif校验级别
+ 输入参数:  argCnt  - 命令行参数的数量
+            argBuff - 命令行参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void diagSetDifLevel(int32_t argCnt, char *argBuff[])
 {
@@ -6550,7 +6550,7 @@
     uint32_t nodeBitmap = 0;
     DIF_SYNC_S difSync = {0};
 
-    /* ڼȺ */
+    /* 仅在集群主处理 */
     if (B_TRUE != checkLocalNodeIsGlbMaster())
     {
         DBG_Print("Only cluster master can execute this cmd.\n");
@@ -6564,13 +6564,13 @@
         return;
     }
 
-    /* лȡmid */
+    /* 从输入参数中获取mid */
     mid = (uint32_t)LVOS_StrToU64(argBuff[2]);
     verifyLevel = (uint8_t)LVOS_StrToU64(argBuff[3]);
     DBG_LogInfo(LOG_ID_1847, "Sys_Debug: Set dif verify level(%u) by mid(%u).",
                 verifyLevel, mid);
 
-    /* μ */
+    /* 入参检查 */
     if (DIF_MID_BUTT <= mid)
     {
         DBG_Print("\n Mid[0 -- 15] is invalid.\n");
@@ -6582,7 +6582,7 @@
         return;
     }
 
-    /* ޸DB */
+    /* 修改DB */
     ret = setModuleDifLevel(mid, verifyLevel);
     if (RETURN_OK != ret)
     {
@@ -6591,14 +6591,14 @@
         return;
     }
 
-    /* ӡʾͷ */
+    /* 打印显示头 */
     DBG_Print("\n\tmodule id\t\tverify level\t\n");
 
-    /* ӡ */
+    /* 打印回显 */
     DBG_Print("\t%09u\t\t%12u\t\n", mid, verifyLevel);
     DBG_Print("\n\tSet dif verify level succeeded.\n");
 
-    /* XnetϢ ͬڵ޸ */
+    /* 发送Xnet消息 同步各节点修改 */
     difSync.mid = mid;
     difSync.verifyLevel = verifyLevel;
     getNormalNodeBitMap(&nodeBitmap);
@@ -6612,12 +6612,12 @@
 
 /*SR-0000498483, added by x00291101, 2015-01-28 begin*/
 /**************************************************************************
-     :  ʾעῪغٲÿ״̬
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  显示脑裂注册开关和脑裂仲裁开关状态
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowArbSwitch(int32_t argCnt, char* argBuff[])
 {
@@ -6657,12 +6657,12 @@
 
 /* modified by z00248602 for DTS2014070301172, 2014-7-03 end */
 /**************************************************************************
-     :  ģDifУ鼶
- :  argCnt  - в
-            argBuff - в
- :  
- ֵ  :  
-     :  
+ 功    能:  批量设置所有模块的Dif校验级别
+ 输入参数:  argCnt  - 命令行参数的数量
+            argBuff - 命令行参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void diagSetAllDifLevel(int32_t argCnt, char *argBuff[])
 {
@@ -6671,7 +6671,7 @@
     int32_t  ret = RETURN_ERROR;
     uint32_t nodeBitmap = 0;
 
-    /* ڼȺ */
+    /* 仅在集群主处理 */
     if (B_TRUE != checkLocalNodeIsGlbMaster())
     {
         DBG_Print("Only cluster master can execute this cmd.\n");
@@ -6685,19 +6685,19 @@
         return;
     }
 
-    /* ޸DB */
+    /* 修改DB */
     verifyLevel = (uint8_t)LVOS_StrToU64(argBuff[2]);
     DBG_LogInfo(LOG_ID_1849, "Sys_Debug: Set all dif verify level(%u).",
                 verifyLevel);
 
-    /*  */
+    /* 参数检查 */
     if (DIF_VERIFY_LEVEL_BUTT <= verifyLevel)
     {
         DBG_Print("\n Verify level[0 -- 4] is invalid.\n");
         return;
     }
 
-    /* ޸DB */
+    /* 修改DB */
     ret = setAllDifLevel(verifyLevel);
     if (RETURN_OK != ret)
     {
@@ -6706,8 +6706,8 @@
         return;
     }
 
-    /* XnetϢ ͬڵ޸ */
-    /* ӡʾͷ */
+    /* 发送Xnet消息 同步各节点修改 */
+    /* 打印显示头 */
     DBG_Print("\n\tmodule id\t\tverify level\t\n");
 
     for (index = 0; index < DIF_MID_BUTT; index++)
@@ -6717,7 +6717,7 @@
 
     DBG_Print("\n\tSet dif verify level succeeded.\n");
 
-    /* XnetϢ ͬڵ޸ */
+    /* 发送Xnet消息 同步各节点修改 */
     getNormalNodeBitMap(&nodeBitmap);
     SYS_SEND_NO_TASK_POST_TO_NODES(XNET_MSG_SYS_SET_ALL_DIF_VERIFY_LEVEL,
                                    nodeBitmap, &verifyLevel,
@@ -6726,12 +6726,12 @@
 }
 
 /**************************************************************************
-     :  ߽ڵҵ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :  
-     :  
+ 功    能:  处理离线节点业务
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void diagOfflineService(int32_t argCnt, char *argBuff[])
 {
@@ -6746,14 +6746,14 @@
         return;
     }
 
-    /* ǼȺִ */
+    /* 如果不是集群主则不执行 */
     if(!checkLocalNodeIsGlbMaster())
     {
         DBG_Print("Please input sys offlineservice -n nodeId in master node.\n");
         return;
     }
 
-    /*  */
+    /* 根据命令处理 */
     if (0 == strcmp(argBuff[1], "offlineservice"))
     {
         while ((retVal = DBG_GetOpt(argCnt - 1, &argBuff[1], "n:", &opt)) != -1)
@@ -6775,7 +6775,7 @@
         return;
     }
 
-    /* жϽڵIDǷȷ */
+    /* 判断节点ID是否正确 */
     if(MAX_CTRL_NODE_NUM <= nodeId)
     {
         DBG_Print("Input node %u id is invalid.\n", nodeId);
@@ -6786,7 +6786,7 @@
     procParam.context     = NULL;
     procParam.isLinkEvent = FALSE;
 
-    /* ֪ͨڵҵ */
+    /* 通知节点离线业务 */
     /* DTS2014121008716 modified by c00281451, 2014-12-04 begin */
     (void)objSendClusterEvent(CLS_EVENT_OFFLINE_SERVICE, &procParam, sizeof(procParam));
     /* DTS2014121008716 modified by c00281451, 2014-12-04 end */
@@ -6794,12 +6794,12 @@
 }
 
 /**************************************************************************
-     :  ߽ڵҵ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :  
-     :  
+ 功    能:  处理上线节点业务
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void diagOnlineService(int32_t argCnt, char *argBuff[])
 {
@@ -6814,14 +6814,14 @@
         return;
     }
 
-    /* ǼȺִ */
+    /* 如果不是集群主则不执行 */
     if(!checkLocalNodeIsGlbMaster())
     {
         DBG_Print("Please input sys onlineservice -n nodeId in master node.\n");
         return;
     }
 
-    /*  */
+    /* 根据命令处理 */
     if (0 == strcmp(argBuff[1], "onlineservice"))
     {
         while ((retVal = DBG_GetOpt(argCnt - 1, &argBuff[1], "n:", &opt)) != -1)
@@ -6843,7 +6843,7 @@
         return;
     }
 
-    /* жϽڵIDǷȷ */
+    /* 判断节点ID是否正确 */
     if(MAX_CTRL_NODE_NUM <= nodeId)
     {
         DBG_Print("Input node %u id is invalid.\n", nodeId);
@@ -6854,7 +6854,7 @@
     procParam.context     = NULL;
     procParam.isLinkEvent = FALSE;
 
-    /* ֪ͨڵҵ */
+    /* 通知节点上线业务 */
     /* DTS2014121008716 modified by c00281451, 2014-12-04 begin */
     (void)objSendClusterEvent(CLS_EVENT_ONLINE_SERVICE, &procParam, sizeof(procParam));
     /* DTS2014121008716 modified by c00281451, 2014-12-04 end */
@@ -6862,12 +6862,12 @@
 }
 
 /**************************************************************************
-     :  FSڵָҵ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :  
-     :  
+ 功    能:  处理FS节点恢复业务
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void diagFsRecover(int32_t argCnt, char *argBuff[])
 {
@@ -6882,7 +6882,7 @@
         return;
     }
 
-    /*  */
+    /* 根据命令处理 */
     if ((0 == strcmp(argBuff[1], "fsrecover")) && (0 == strcmp(argBuff[2], "-f")))
     {
         fsId = (lunid_t)LVOS_StrToS64(argBuff[3]);
@@ -6912,12 +6912,12 @@
 }
 
 /**************************************************************************
-     :  FSڵָҵ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :  
-     :  
+ 功    能:  处理FS节点恢复业务
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void diagLunRecover(int32_t argCnt, char *argBuff[])
 {
@@ -6934,7 +6934,7 @@
 
     maxLunNum = OSP_GetMaxLunNumber();
 
-    /*  */
+    /* 根据命令处理 */
     if ((0 == strcmp(argBuff[1], "lunrecover")) && (0 == strcmp(argBuff[2], "-l")))
     {
         lunId = (lunid_t)LVOS_StrToS64(argBuff[3]);
@@ -6967,12 +6967,12 @@
 
 extern uint32_t getMaxProcLunNum(void);
 /**************************************************************************
-     :  ʾLUNĸ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :  
-     :  
+ 功    能:  显示处理LUN的个数
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void diagShowProcLunNum(int32_t argCnt, char *argBuff[])
 {
@@ -6986,12 +6986,12 @@
 
 extern void setMaxProcLunNum(uint32_t procNum);
 /**************************************************************************
-     :  ôLUNĸ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :  
-     :  
+ 功    能:  设置处理LUN的个数
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void diagSetProcLunNum(int32_t argCnt, char *argBuff[])
 {
@@ -7008,7 +7008,7 @@
 
     maxLunNum = OSP_GetMaxLunNumber();
 
-    /*  */
+    /* 根据命令处理 */
     if (0 == strcmp(argBuff[1], "setproclunnum"))
     {
         while ((retVal = DBG_GetOpt(argCnt - 1, &argBuff[1], "n:", &opt)) != -1)
@@ -7040,14 +7040,14 @@
     return;
 }
 
-/* ⵥţ DTS2014011309712, modified by w00225702, 2014-1-13 begin */
+/* 问题单号： DTS2014011309712, modified by w00225702, 2014-1-13 begin */
 extern void setCanCreateLunMul(uint32_t lunMul);
 /**************************************************************************
-     : 󴴽LUNı
- : v_iArgc - в
- : v_szArgv - в
- ֵ  : 
-     : Ŀǰ֧ԭܴLUNĸ[1,1000]
+ 功    能: 调试命令行用于扩大创建LUN的倍数
+ 输入参数: v_iArgc - 命令行参数的数量
+ 输出参数: v_szArgv - 命令行参数数组
+ 返回值  : 无
+ 其 他   : 目前支持在原有能创建LUN的个数上再扩大倍数[1,1000]
 **************************************************************************/
 static void diagSetLunMul(int32_t argCnt, char *argBuff[])
 {
@@ -7059,7 +7059,7 @@
         return;
     }
 
-    /*  */
+    /* 根据命令处理 */
     if (0 == strcmp(argBuff[1], "setLunMul"))
     {
         lunMul = (uint32_t)LVOS_StrToU64(argBuff[2]);
@@ -7083,11 +7083,11 @@
 
 extern uint32_t getCanCreateLunMul(void);
 /**************************************************************************
-     : ڲѯܹLUNı
- : v_iArgc - в
- : v_szArgv - в
- ֵ  : 
-     : Ŀǰ֧ԭܴLUNĸ[1,1000]
+ 功    能: 调试命令行用于查询能够创建LUN的倍数
+ 输入参数: v_iArgc - 命令行参数的数量
+ 输出参数: v_szArgv - 命令行参数数组
+ 返回值  : 无
+ 其 他   : 目前支持在原有能创建LUN的个数上再扩大倍数[1,1000]
 **************************************************************************/
 static void diagShowLunMul(int32_t argCnt, char *argBuff[])
 {
@@ -7098,7 +7098,7 @@
         return;
     }
 
-    /*  */
+    /* 根据命令处理 */
     if (0 == strcmp(argBuff[1], "showLunMul"))
     {
         lunMul = getCanCreateLunMul();
@@ -7112,15 +7112,15 @@
 
     return;
 }
-/* ⵥţ DTS2014011309712, modified by w00225702, 2014-1-13 end */
+/* 问题单号： DTS2014011309712, modified by w00225702, 2014-1-13 end */
 
 extern void setCanCreateFsMul(uint32_t fsMul);
 /**************************************************************************
-     : 󴴽FSı
- : v_iArgc - в
- : v_szArgv - в
- ֵ  : 
-     : Ŀǰ֧ԭܴFSĸ[1,1000]
+ 功    能: 调试命令行用于扩大创建FS的倍数
+ 输入参数: v_iArgc - 命令行参数的数量
+ 输出参数: v_szArgv - 命令行参数数组
+ 返回值  : 无
+ 其 他   : 目前支持在原有能创建FS的个数上再扩大倍数[1,1000]
 **************************************************************************/
 static void diagSetFsMul(int32_t argCnt, char *argBuff[])
 {
@@ -7132,7 +7132,7 @@
         return;
     }
 
-    /*  */
+    /* 根据命令处理 */
     if (0 == strcmp(argBuff[1], "setFsMul"))
     {
         fsMul = (uint32_t)LVOS_StrToU64(argBuff[2]);
@@ -7155,11 +7155,11 @@
 }
 
 /**************************************************************************
-     : VNODEľʱ䣬ʱΪ
- :
- : v_szArgv - в
- ֵ  :
-     :
+ 功    能: 设置VNODE的镜像时间，时间为毫秒
+ 输入参数:
+ 输出参数: v_szArgv - 命令行参数数组
+ 返回值  :
+ 其 他   :
 **************************************************************************/
 static void diagSetMirrorTime(int32_t argCnt, char *argBuff[])
 {
@@ -7184,11 +7184,11 @@
 
 extern uint32_t getCanCreateFsMul(void);
 /**************************************************************************
-     : ڲѯܹFSı
- : v_iArgc - в
- : v_szArgv - в
- ֵ  : 
-     : Ŀǰ֧ԭܴFSĸ[1,1000]
+ 功    能: 调试命令行用于查询能够创建FS的倍数
+ 输入参数: v_iArgc - 命令行参数的数量
+ 输出参数: v_szArgv - 命令行参数数组
+ 返回值  : 无
+ 其 他   : 目前支持在原有能创建FS的个数上再扩大倍数[1,1000]
 **************************************************************************/
 static void diagShowFsMul(int32_t argCnt, char *argBuff[])
 {
@@ -7199,7 +7199,7 @@
         return;
     }
 
-    /*  */
+    /* 根据命令处理 */
     if (0 == strcmp(argBuff[1], "showFsMul"))
     {
         fsMul = getCanCreateFsMul();
@@ -7215,11 +7215,11 @@
 }
 
 /**************************************************************************
-     : ڸλϵͳ
- : v_iArgc - в
- : v_szArgv - в
- ֵ  : 
-     : 
+ 功    能: 调试命令行用于复位系统
+ 输入参数: v_iArgc - 命令行参数的数量
+ 输出参数: v_szArgv - 命令行参数数组
+ 返回值  : 无
+ 其 他   : 无
 **************************************************************************/
 static void diagRstSystem(int32_t v_iArgc, char *v_szArgv[])
 {
@@ -7228,7 +7228,7 @@
     UNREFERENCE_PARAM(v_iArgc);
     UNREFERENCE_PARAM(v_szArgv);
 
-    //жǷ
+    //判断是否是主控
     if (B_TRUE != checkLocalNodeIsGlbMaster())
     {
         DBG_Print("Please do it on master.\n");
@@ -7250,11 +7250,11 @@
 }
 
 /**************************************************************************
-     :  ڴ·
- :  v_iArgc - в
- :  v_szArgv - в
- ֵ  :
-     :  
+ 功    能:  调试命令行里用于触发镜像链路故障
+ 输入参数:  v_iArgc - 命令行参数的数量
+ 输出参数:  v_szArgv - 命令行参数数组
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagMirrorLinkFault(int32_t v_iArgc, char *v_szArgv[])
 {
@@ -7272,17 +7272,17 @@
         return;
     }
 
-    /* ȡ */
+    /* 获取参数 */
     nodeId = (nid_t)LVOS_StrToS64(v_szArgv[2]);
 
-    /* жnodeIdȡֵΧ */
+    /* 判断nodeId的取值范围 */
     if (!IS_NID_VALID(nodeId))
     {
         DBG_Print("nodeId value should be in 0-15.\n");
         return;
     }
 
-    /* · */
+    /* 发送链路故障命令 */
     retVal = EVENT_SENDEVENT(EVENT_XNET_DATA_LINKDOWN, &nodeId, sizeof(nid_t));
 
     if (RETURN_OK != retVal)
@@ -7296,11 +7296,11 @@
 }
 
 /**************************************************************************
-     :  ڴµ
- :  v_iArgc - в
- :  v_szArgv - в
- ֵ  :
-     :  
+ 功    能:  调试命令行里用于触发高温掉电
+ 输入参数:  v_iArgc - 命令行参数的数量
+ 输出参数:  v_szArgv - 命令行参数数组
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagHighTempPowerLost(int32_t v_iArgc, char *v_szArgv[])
 {
@@ -7318,11 +7318,11 @@
 }
 
 /**************************************************************************
-     :  ڴ¹
- :  v_iArgc - в
- :  v_szArgv - в
- ֵ  :
-     :  
+ 功    能:  调试命令行里用于触发高温故障
+ 输入参数:  v_iArgc - 命令行参数的数量
+ 输出参数:  v_szArgv - 命令行参数数组
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagHighTempFault(int32_t v_iArgc, char *v_szArgv[])
 {
@@ -7343,18 +7343,18 @@
         return;
     }
 
-    /* ȡ */
+    /* 获取参数 */
     nodeId = (nid_t)LVOS_StrToU64(v_szArgv[2]);
     tempLevel = (uint32_t)LVOS_StrToU64(v_szArgv[3]);
 
-    /* жnodeIdȡֵΧ */
+    /* 判断nodeId的取值范围 */
     if (nodeId > 15)
     {
         DBG_Print("nodeid value should be in 0-15.\n");
         return;
     }
 
-    /* жtempLevelȡֵΧ */
+    /* 判断tempLevel的取值范围 */
     if (TEMPRATURE_LEVEL_BUTT <= tempLevel)
     {
         DBG_LogError(LOG_ID_1853,
@@ -7369,7 +7369,7 @@
     highTempPara.nodeId = nodeId;
     highTempPara.tempLevel = tempLevel;
 
-    /* ͹¹¼ */
+    /* 发送过温故障事件 */
     retVal = EVENT_SENDEVENT(EVENT_HIGH_TEMP_FAULT, &highTempPara, sizeof(EVENT_HIGH_TEMP_S));
     if (RETURN_OK != retVal)
     {
@@ -7388,15 +7388,15 @@
 }
 
 /**************************************************************************
-     : ¼IDϷ
- : eventId - ¼ID
- : 
- ֵ  : true false
-     : 
+ 功    能: 检查事件ID合法性
+ 输入参数: eventId - 事件ID
+ 输出参数: 无
+ 返回值  : true false
+ 其 他   : 无
 **************************************************************************/
 static bool needDiskIdParam(uint32_t eventId)
 {
-    /* ¼Ҫdisk id */
+    /* 盘事件需要disk id参数 */
     if ((EVENT_DISK_FAULT == eventId)
         || (EVENT_DISK_RECOVER == eventId)
         || (EVENT_DISK_OUT == eventId)
@@ -7415,11 +7415,11 @@
 }
 
 /**************************************************************************
-     : ̹¼Ľӿ
- : v_iArgc - в
- : v_szArgv - в
- ֵ  : 
-     : 
+ 功    能: 产生盘故障事件的接口
+ 输入参数: v_iArgc - 命令行参数的数量
+ 输出参数: v_szArgv - 命令行参数数组
+ 返回值  : 无
+ 其 他   : 无
 **************************************************************************/
 static void notifyDiskEvent(int32_t v_iArgc, char *v_szArgv[])
 {
@@ -7438,10 +7438,10 @@
         return;
     }
 
-    /* ȡEvent Id */
+    /* 获取Event Id */
     faultEventId = (uint32_t)LVOS_StrToU64(v_szArgv[2]);
 
-    /* ¼Ҫdisk id */
+    /* 盘事件需要disk id参数 */
     if (B_FALSE != needDiskIdParam(faultEventId))
     {
         diskId = (diskid_t)LVOS_StrToU64(v_szArgv[3]);
@@ -7454,7 +7454,7 @@
         return;
     }
 
-    /* ҪEVENT ID䷢͵ */
+    /* 需要根据EVENT ID来填充发送的数据 */
     retVal = EVENT_SENDEVENT(faultEventId, eventPara, eventParaLen);
 
     if (RETURN_OK != retVal)
@@ -7472,11 +7472,11 @@
 }
 
 /**************************************************************************
-     : ̹¼Ľӿڣѭ
- : v_iArgc - в
- : v_szArgv - в
- ֵ  : 
-     : 
+ 功    能: 产生盘故障事件的接口，循环调用
+ 输入参数: v_iArgc - 命令行参数的数量
+ 输出参数: v_szArgv - 命令行参数数组
+ 返回值  : 无
+ 其 他   : 无
 **************************************************************************/
 static void notifyDiskEventLoop(int32_t v_iArgc, char *v_szArgv[])
 {
@@ -7500,10 +7500,10 @@
         return;
     }
  
-    /* ȡEvent Id */
+    /* 获取Event Id */
     faultEventId = (uint32_t)LVOS_StrToU64(v_szArgv[2]);
  
-    /* ¼Ҫdisk id */
+    /* 盘事件需要disk id参数 */
     if (B_FALSE != needDiskIdParam(faultEventId))
     {
         diskId = (diskid_t)LVOS_StrToU64(v_szArgv[3]);
@@ -7525,7 +7525,7 @@
  
     for(; index < loopNum; index++)
     {
-        /* ҪEVENT ID䷢͵ */
+        /* 需要根据EVENT ID来填充发送的数据 */
         retVal = EVENT_SENDEVENT(faultEventId, eventPara, eventParaLen);
         if (RETURN_OK != retVal)
         {
@@ -7540,13 +7540,13 @@
  
  
 /**************************************************************************
-     :  sys lockļдɹص
- :
-    contex  : ص
-    result  : 
- :  
- ֵ  :
-     :  
+ 功    能:  sys lock的加写锁成功回调
+ 输入参数:
+    contex  : 回调上下文
+    result  : 操作结果
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagLockSysWriteCb(void *contex, int32_t result)
 {
@@ -7566,19 +7566,19 @@
 }
 
 /**************************************************************************
-     :  sys lockļӶɹص
- :
-    contex  : ص
-    result  : 
- :  
- ֵ  :
-     :  
+ 功    能:  sys lock的加读锁成功回调
+ 输入参数:
+    contex  : 回调上下文
+    result  : 操作结果
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagLockSysReadCb(void *contex, int32_t result)
 {
     UNREFERENCE_PARAM(contex);
 
-    /* ޷ӡĻ־ӡ¼ */
+    /* 回显无法打印到屏幕，采用日志打印记录 */
     if (RETURN_OK != result)
     {
         DBG_LogWarning(LOG_ID_185A, "CLM: lock sys for read failed.");
@@ -7593,13 +7593,13 @@
 }
 
 /**************************************************************************
-     :  ϵͳ
- :
-    argCnt  : 
-    argBuff : 嵥
- :  
- ֵ  :
-     :  
+ 功    能:  加系统锁
+ 输入参数:
+    argCnt  : 命令参数数量
+    argBuff : 参数清单
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diaglockSys(int32_t argCnt, char *argBuff[])
 {
@@ -7631,13 +7631,13 @@
 }
 
 /**************************************************************************
-     :  Լϵͳ
- :
-    argCnt  : 
-    argBuff : 嵥
- :  
- ֵ  :
-     :  
+ 功    能:  尝试加系统锁
+ 输入参数:
+    argCnt  : 命令参数数量
+    argBuff : 参数清单
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagTryLockSys(int32_t argCnt, char *argBuff[])
 {
@@ -7669,13 +7669,13 @@
 }
 
 /**************************************************************************
-     :  ϵͳ޸
- :
-    argCnt  : 
-    argBuff : 嵥
- :  
- ֵ  :
-     :  
+ 功    能:  加系统修复锁
+ 输入参数:
+    argCnt  : 命令参数数量
+    argBuff : 参数清单
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagresetlockSys(int32_t argCnt, char *argBuff[])
 {
@@ -7707,13 +7707,13 @@
 }
 
 /**************************************************************************
-     :  ϵͳ
- :
-    argCnt  : 
-    argBuff : 嵥
- :  
- ֵ  :
-     :  
+ 功    能:  解系统锁
+ 输入参数:
+    argCnt  : 命令参数数量
+    argBuff : 参数清单
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagunlockSys(int32_t argCnt, char *argBuff[])
 {
@@ -7832,13 +7832,13 @@
 }
 
 /**************************************************************************
-     :  ȫLUN
- :
-    argCnt  : 
-    argBuff : 嵥
- :  
- ֵ  :
-     :  
+ 功    能:  解全局LUN锁
+ 输入参数:
+    argCnt  : 命令参数数量
+    argBuff : 参数清单
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagunlockGlun(int32_t argCnt, char *argBuff[])
 {
@@ -7870,13 +7870,13 @@
 }
 
 /**************************************************************************
-     :  ѯLUN Ϣ
- :
-    argCnt  : 
-    argBuff : 嵥
- :  
- ֵ  :
-     :  
+ 功    能:  查询LUN 锁信息
+ 输入参数:
+    argCnt  : 命令参数数量
+    argBuff : 参数清单
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagTryLockLun(int32_t argCnt, char *argBuff[])
 {
@@ -7908,13 +7908,13 @@
 }
 
 /**************************************************************************
-     :  DB첽дص
- :
-    contex  : ص
-    result  : 
- :  
- ֵ  :
-     :  
+ 功    能:  DB异步加写锁回调
+ 输入参数:
+    contex  : 回调上下文
+    result  : 解锁结果
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagLockDbWriteCb(void *contex, int32_t result)
 {
@@ -7934,13 +7934,13 @@
 }
 
 /**************************************************************************
-     :  DB첽Ӷص
- :
-    contex  : ص
-    result  : 
- :  
- ֵ  :
-     :  
+ 功    能:  DB异步加读锁回调
+ 输入参数:
+    contex  : 回调上下文
+    result  : 解锁结果
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagLockDbReadCb(void *contex, int32_t result)
 {
@@ -7960,13 +7960,13 @@
 }
 
 /**************************************************************************
-     :  DB첽
- :
-    argCnt  : 
-    argBuff : 嵥
- :  
- ֵ  :
-     :  
+ 功    能:  DB异步加锁
+ 输入参数:
+    argCnt  : 参数个数
+    argBuff : 参数清单
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagLockDbAsync(int32_t argCnt, char *argBuff[])
 {
@@ -7998,13 +7998,13 @@
 }
 
 /**************************************************************************
-     :  DBͬ
- :
-    argCnt  : 
-    argBuff : 嵥
- :  
- ֵ  :
-     :  
+ 功    能:  DB同步加锁
+ 输入参数:
+    argCnt  : 参数个数
+    argBuff : 参数清单
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagLockDbSync(int32_t argCnt, char *argBuff[])
 {
@@ -8038,13 +8038,13 @@
 }
 
 /**************************************************************************
-     :  DB
- :
-    argCnt  : 
-    argBuff : 嵥
- :  
- ֵ  :
-     :  
+ 功    能:  DB解锁
+ 输入参数:
+    argCnt  : 参数个数
+    argBuff : 参数清单
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagUnlockDb(int32_t argCnt, char *argBuff[])
 {
@@ -8075,13 +8075,13 @@
     return;
 }
 /**************************************************************************
-     :  ѯOBJECTϢ
- :
-    argCnt  : 
-    argBuff : 嵥
- :  
- ֵ  :
-     :  
+ 功    能:  查询OBJECT锁信息
+ 输入参数:
+    argCnt  : 命令参数数量
+    argBuff : 参数清单
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowObjectLock(int32_t argCnt, char *argBuff[])
 {
@@ -8109,11 +8109,11 @@
 }
 
 /**************************************************************************
-     : ϵͳԴ
- : 
- : 
- ֵ  : 
-     : 
+ 功    能: 调试命令行用于清除系统所有资源并重启
+ 输入参数: 无
+ 输出参数: 无
+ 返回值  : 无
+ 其 他   : 无
 **************************************************************************/
 static void diagCleanAndRebootSys(int32_t argCnt, char *argBuff[])
 {
@@ -8131,7 +8131,7 @@
     return;
 }
 
-/* begin add by zhaowei 90002192@2014.11.05 for LUN */
+/* begin add by zhaowei 90002192@2014.11.05 for 批量交换LUN */
 void testBatchExLunCallBack(void * context, LUN_EXCHANGE_PAIR_ARRAY_S* lunPairArray)
 {
     uint32_t pairIdx = 0;
@@ -8170,11 +8170,11 @@
 }
 
 /**************************************************************************
-     : ʾϵͳԴĲϢ
- : v_iArgc - в
- : v_szArgv - в
- ֵ  : 
-     : 
+ 功    能: 调试命令行用于显示清除系统所有资源的步骤信息
+ 输入参数: v_iArgc - 命令行参数的数量
+ 输出参数: v_szArgv - 命令行参数数组
+ 返回值  : 无
+ 其 他   : 无
 **************************************************************************/
 static void diagShowClearAllTrace(int32_t argCnt, char *argBuff[])
 {
@@ -8191,7 +8191,7 @@
 
     opType = (uint32_t)LVOS_StrToU64(argBuff[2]);
 
-    /* жopTypeȡֵΧ */
+    /* 判断opType的取值范围 */
     if (1 < opType)
     {
         DBG_Print("optype value should be 0 or 1.\n");
@@ -8201,7 +8201,7 @@
     /* clear all ctrl */
     if (0 == opType)
     {
-        /* жǷ */
+        /* 判断是否是主控 */
         isGlbMater = checkLocalNodeIsGlbMaster();
         if(B_TRUE != isGlbMater)
         {
@@ -8221,11 +8221,11 @@
 }
 
 /**************************************************************************
-     : ԼȺϢ
- : v_iArgc - в
- : v_szArgv - в
- ֵ  : 
-     : 
+ 功    能: 测试集群消息
+ 输入参数: v_iArgc - 命令行参数的数量
+ 输出参数: v_szArgv - 命令行参数数组
+ 返回值  : 无
+ 其 他   : 无
 **************************************************************************/
 static void diagTestClsMsg(int32_t argCnt, char *argBuff[])
 {
@@ -8247,12 +8247,12 @@
 
 /* modified by c90006379 for DTS2014071407699 2014-07-19 begin */
 /**************************************************************************
-     :  ´zone id
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  给对象管理下达回收zone id的命令
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void recycleZone(int32_t argCnt, char *argBuff[])
 {
@@ -8301,12 +8301,12 @@
 }
 
 /**************************************************************************
-     :  ôrowlunֵ֧ԵĿ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  设置创建rowlun不支持增值特性的开关
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 STATIC void diagSetRowLunUnsupportRssSwitch(int32_t argCnt, char *argBuff[])
 {
@@ -8330,12 +8330,12 @@
 }
 
 /**************************************************************************
-     :  ʾrowlunֵ֧ԵĿ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  显示创建rowlun不支持增值特性的开关
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowRowLunUnsupportRssSwitch(int32_t argCnt, char* argBuff[])
 {
@@ -8362,12 +8362,12 @@
 }
 
 /**************************************************************************
-     :  ʾִкʱ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  显示函数执行耗时
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagElapsedTime(int32_t argCnt, char* argBuff[])
 {
@@ -8383,7 +8383,7 @@
 
     opType = (uint32_t)LVOS_StrToU64(argBuff[2]);
 
-    /* жopTypeȡֵΧ */
+    /* 判断opType的取值范围 */
     if (1 < opType)
     {
         DBG_Print("optype value should be 0 or 1.\n");
@@ -8401,13 +8401,13 @@
 }
 #endif
 
-/* ⵥ: DTS2015090901853, modified by l00356770, 2015-9-15 start */
+/* 问题单号: DTS2015090901853, modified by l00356770, 2015-9-15 start */
 /**************************************************************************
-     : ѯstorage poolzoneϢ
- : storagePoolId- storage pool id
- : 
- ֵ  : 
-     : 
+ 功    能: 查询storage pool的zone信息
+ 输入参数: storagePoolId- storage pool id
+ 输出参数: 无
+ 返回值  : 无
+ 其 他   : 无
 **************************************************************************/
 void showStoragePoolZoneInfo(uint32_t storagePoolId)
 {
@@ -8417,7 +8417,7 @@
     DBG_Print("         tier                 zone id               zone index        \n");
     DBG_Print(" --------------------   --------------------   --------------------   \n");
 
-    /*Tire0: SSD or SSD*/
+    /*Tire0: SSD or 加密SSD*/
     memset(&zoneInfo, 0, sizeof(DB_ZONE_S));
     if(RETURN_OBJ_ID_EXIST == getZoneConfInfo(DISK_TYPE_SSD, storagePoolId, &zoneInfo)
         || RETURN_OBJ_ID_EXIST == getZoneConfInfo(DISK_TYPE_SSD_SED, storagePoolId, &zoneInfo))
@@ -8429,7 +8429,7 @@
         DBG_Print(" %-20s   %-20s   %-20s\n", "Tier0", "--", "--");
     }
 
-    /*Tire1: SAS or SAS*/
+    /*Tire1: SAS or 加密SAS*/
     memset(&zoneInfo, 0, sizeof(DB_ZONE_S));
     if(RETURN_OBJ_ID_EXIST == getZoneConfInfo(DISK_TYPE_SAS, storagePoolId, &zoneInfo)
         || RETURN_OBJ_ID_EXIST == getZoneConfInfo(DISK_TYPE_SAS_SED, storagePoolId, &zoneInfo))
@@ -8441,7 +8441,7 @@
         DBG_Print(" %-20s   %-20s   %-20s\n", "Tier1", "--", "--");
     }
 
-    /*Tire2: NL-SAS or NL-SAS or SATA*/
+    /*Tire2: NL-SAS or 加密NL-SAS or SATA*/
     memset(&zoneInfo, 0, sizeof(DB_ZONE_S));
     if(RETURN_OBJ_ID_EXIST == getZoneConfInfo(DISK_TYPE_NL_SAS, storagePoolId, &zoneInfo)
         || RETURN_OBJ_ID_EXIST == getZoneConfInfo(DISK_TYPE_NL_SAS_SED, storagePoolId, &zoneInfo)
@@ -8456,11 +8456,11 @@
 }
 
 /**************************************************************************
-     : ѯstorage pool zone Ϣ
- : argCnt - в
- : argBuff - в
- ֵ  : 
-     : 
+ 功    能: 查询storage pool zone 信息
+ 输入参数: argCnt - 命令行参数的数量
+ 输出参数: argBuff - 命令行参数数组
+ 返回值  : 无
+ 其 他   : 无
 **************************************************************************/
 void diagShowStoragePoolZoneInfo(int32_t argCnt, char* argBuff[])
 {
@@ -8498,20 +8498,20 @@
 
     return;
 }
-/* ⵥ: DTS2015090901853, modified by l00356770, 2015-9-15 end */
+/* 问题单号: DTS2015090901853, modified by l00356770, 2015-9-15 end */
 
 
-/* ⵥţ DTS2014011309712, modified by w00225702, 2014-1-13 start */
+/* 问题单号： DTS2014011309712, modified by w00225702, 2014-1-13 start */
 /**************************************************************************
-     : diagnoseϢ
- : char *cmd    - 
-           int32_t isShowDetail - ǷʾϸϢ
- : 
- ֵ  :
+ 功    能: diagnose帮助信息
+ 输入参数: char *cmd    - 命令名称
+           int32_t isShowDetail - 是否显示详细信息
+ 输出参数: 无
+ 返回值  :
 **************************************************************************/
 static void diagCmdHelp(char *cmd, int32_t isShowDetail)
 {
-    /* ò̫ӡ */
+    /* 该参数不能太长，否则打印不出来 */
     const char *simpleCommHelp =
         "SYNOPSIS\n\
 \t sys test \n\
@@ -8621,11 +8621,11 @@
 \t sys batchexchangelun                               :batch exchange lun pair\n\
 ";
 
-/* ⵥţ DTS2014011309712, modified by w00225702, 2014-1-13 end */
+/* 问题单号： DTS2014011309712, modified by w00225702, 2014-1-13 end */
 
-/* ⵥţDTS2014010900443 modified by r90006280, 2014-1-2 begin */
-/* ⵥ: DTS2014092405030 жϵͳǷִ w00225702, 2014/09/25, begin */
-    /* ò̫ӡ */
+/* 问题单号：DTS2014010900443， modified by r90006280, 2014-1-2 begin */
+/* 问题单号: DTS2014092405030 判断系统是否有命令在执行 w00225702, 2014/09/25, begin */
+    /* 该参数不能太长，否则打印不出来 */
     const char *simpleCfgHelp =
         "SYNOPSIS\n\
 \t sys setcfgloglv [level]\n\
@@ -8666,8 +8666,8 @@
 \t sys showrowlununsupportrssswitch              :show the row lun unsupport rss switch.\n\
 \t sys sendevent2center [type] [state] [activetype]   :send upgrade event to center.\n\
 ";
-/* ⵥ: DTS2014092405030 жϵͳǷִ w00225702, 2014/09/25, end */
-/* ⵥţDTS2014010900443 modified by r90006280, 2014-1-2 end */
+/* 问题单号: DTS2014092405030 判断系统是否有命令在执行 w00225702, 2014/09/25, end */
+/* 问题单号：DTS2014010900443， modified by r90006280, 2014-1-2 end */
 
     const char *simpleClsHelp =
         "SYNOPSIS\n\
@@ -8718,7 +8718,7 @@
 \t sys setdiflevel                :set dif verify level[0--4] by mid[0--15].\n\
 \t sys setalldiflevel             :set all dif verify level[0--4] without mid.\n\
 \t sys onlineupgrade [nodes bitmap]    :offline nodes for online upgrade.\n\
-\t                                      The bitmap is a number. eg:0xa0x810\n\
+\t                                      The bitmap is a number. eg:0xa、0x8、10\n\
 \t sys cancelbay [bay id]         :cancel expansion\n\
 \t sys showhbinfo                 :show XRB heartbeat heal info.\n\
 \t sys modifyip [eth2_ip] [eth3_ip] \n\
@@ -8839,7 +8839,7 @@
 
     UNREFERENCE_PARAM(cmd);
 
-/* ⵥţDTS2014010900443 modified by r90006280, 2014-1-2 begin */
+/* 问题单号：DTS2014010900443， modified by r90006280, 2014-1-2 begin */
     if (TRUE != isShowDetail)
     {
         DBG_Print(simpleCommHelp);
@@ -8874,21 +8874,21 @@
         DBG_Print(detailVnodeHelp);
         /*SR-0000491756, modified by x00283088,2015-1-19 end*/
     }
-/* ⵥţDTS2014010900443 modified by r90006280, 2014-1-2 end */
+/* 问题单号：DTS2014010900443， modified by r90006280, 2014-1-2 end */
 
     return;
 }
 
 /**************************************************************************
-     : developerģʽµdiagnoseϢ
- : char *cmd    - 
-           int32_t isShowDetail - ǷʾϸϢ
- : 
- ֵ  :
+ 功    能: developer模式下的diagnose命令帮助信息
+ 输入参数: char *cmd    - 命令名称
+           int32_t isShowDetail - 是否显示详细信息
+ 输出参数: 无
+ 返回值  :
 **************************************************************************/
 static void diagCmdToCliHelp(char *cmd, int32_t isShowDetail)
 {
-    /* ò̫ӡ */
+    /* 该参数不能太长，否则打印不出来 */
     const char *simpleCmdHelp =
         "SYNOPSIS\n\
 \t sys showdiflevel\n\
@@ -8963,9 +8963,9 @@
         \n";
 /* modified by j00358105 for DTS2015102703039,2015-10-31 end */
 
-/* ⵥţDTS2014010900443 modified by r90006280, 2014-1-2 begin */
-/* ⵥ: DTS2015090901853 modified by l00356770, 2015-9-15 begin */
-    /* ò̫ӡ */
+/* 问题单号：DTS2014010900443， modified by r90006280, 2014-1-2 begin */
+/* 问题单号: DTS2015090901853， modified by l00356770, 2015-9-15 begin */
+    /* 该参数不能太长，否则打印不出来 */
     const char *simpleCfgHelp =
         "SYNOPSIS\n\
 \t sys showcfglog\n\
@@ -9003,8 +9003,8 @@
         DBG_Print(detailClmHelp);
         DBG_Print(detailCfgHelp);
     }
-/* ⵥ: DTS2015090901853 modified by l00356770, 2015-9-15 end */
-/* ⵥţDTS2014010900443 modified by r90006280, 2014-1-2 end */
+/* 问题单号: DTS2015090901853， modified by l00356770, 2015-9-15 end */
+/* 问题单号：DTS2014010900443， modified by r90006280, 2014-1-2 end */
 
     return;
 }
@@ -9155,11 +9155,11 @@
 
 /* modified by l00221048 for DTS2015030504820, 2015-03-17 begin */
 /**************************************************************************
-     : bugĽӿ
- : v_iArgc - в
- : v_szArgv - в
- ֵ  : 
-     : 
+ 功    能: 产生bug的接口
+ 输入参数: v_iArgc - 命令行参数的数量
+ 输出参数: v_szArgv - 命令行参数数组
+ 返回值  : 无
+ 其 他   : 无
 **************************************************************************/
 static void execAssertByLevel(int32_t v_iArgc, char *v_szArgv[])
 {
@@ -9173,7 +9173,7 @@
         return ;
     }
 
-    /* ȡEvent Id */
+    /* 获取Event Id */
     level = (uint32_t)LVOS_StrToU64(v_szArgv[2]);
 
     if(level > 3)
@@ -9203,12 +9203,12 @@
 /* modified by l00221048 for DTS2015030504820, 2015-03-17 end */
 /* CR-01889196-OceanStor 18800 V3 V300R003C00 modified by z00230408 2015-9-15 begin */
 /**************************************************************************
-     : ѯĵӲĳԱ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能: 查询单个引擎的单硬盘域的成员盘数
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagGetTotalMaxDiskNumInPair(int32_t argCnt, char *argBuff[])
 {
@@ -9228,12 +9228,12 @@
     return;
 }
 /**************************************************************************
-     :  õĵӲĳԱ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  设置单个引擎的单硬盘域的成员盘数
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagSetTotalMaxDiskNumInPair(int32_t argCnt, char *argBuff[])
 {
@@ -9266,12 +9266,12 @@
 /* CR-01889196-OceanStor 18800 V3 V300R003C00 modified by z00230408 2015-9-15 end */
 /* vvol features modified by z00230408 2015-9-20 begin */
 /**************************************************************************
-     :  ýֹvvollunlun鿪
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  设置禁止添加vvollun到lun组开关
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagSetForbidAddVvolLunSwitch(int32_t argCnt, char* argBuff[])
 {
@@ -9295,12 +9295,12 @@
     return;
 }
 /**************************************************************************
-     :  鿴ֹvvollunlun鿪
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  查看禁止添加vvollun到lun组开关
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowForbidAddVvolLunSwitch(int32_t argCnt, char* argBuff[])
 {
@@ -9325,12 +9325,12 @@
 /* vvol features modified by z00230408 2015-9-20 end */
 /* SR-UPDATE-SPACE-007 modified by z00230408 2016/3/7 begin */
 /**************************************************************************
-     :  Ԫݸʱ־
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  设置元数据高利用率标志
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagSetMetaHighUtilFlag(int32_t argCnt, char* argBuff[])
 {
@@ -9357,12 +9357,12 @@
 }
 
 /**************************************************************************
-     :  鿴Ԫݸʱ־
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  查看元数据高利用率标志
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowMetaHighUtilFlag(int32_t argCnt, char* argBuff[])
 {
@@ -9387,12 +9387,12 @@
 
 
 /**************************************************************************
-     :  ڲzoneԪС
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  设置内部zone分条单元大小
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagSetInnerZoneStripUnitSize(int32_t argCnt, char* argBuff[])
 {
@@ -9429,12 +9429,12 @@
 }
 
 /**************************************************************************
-     :  鿴ڲzoneԪС
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  查看内部zone分条单元大小
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowInnerZoneStripUnitSize(int32_t argCnt, char* argBuff[])
 {
@@ -9451,12 +9451,12 @@
 }
 
 /**************************************************************************
-     :  ڲzoneextentС
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  设置内部zone的extent大小
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagSetInnerZoneExtentSize(int32_t argCnt, char* argBuff[])
 {
@@ -9490,12 +9490,12 @@
 }
 
 /**************************************************************************
-     :  鿴ڲzoneԪС
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  查看内部zone分条单元大小
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowInnerZoneExtentSize(int32_t argCnt, char* argBuff[])
 {
@@ -9514,12 +9514,12 @@
 /* SR-UPDATE-SPACE-007 modified by z00230408 2016/3/7 end */
 /* DTS2016082506310 modified by z00230408 2016/8/25 begin */
 /**************************************************************************
-     :  鿴ע־ԤϢ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  查看所有注册的配置日志预处理信息
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowCfgLogPreProcEntry(int32_t argCnt, char* argBuff[])
 {
@@ -9556,12 +9556,12 @@
 
 }
 /**************************************************************************
-     :  ӡϢ
- :  cryptoObjType  -- 
-            cryptoObjInner -- ڲϢָ
- :  
- ֵ  :
-     :  
+ 功    能:  打印密码对象信息
+ 输入参数:  cryptoObjType  -- 密码对象类型
+            cryptoObjInner -- 密码对象内部信息指针
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void  printCryptoObjInfo(uint32_t cryptoObjType, CRYPTO_OBJ_INNER_S *cryptoObjInner)
 {
@@ -9595,12 +9595,12 @@
 
 }
 /**************************************************************************
-     :  鿴עϢ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  查看所有注册的密码对象信息
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagShowRegCryptoObj(int32_t argCnt, char* argBuff[])
 {
@@ -9624,12 +9624,12 @@
     return;
 }
 /**************************************************************************
-     :  ־
- :  argCnt  - в
-            argBuff - в
- :  
- ֵ  :  
-     :  
+ 功    能:  重置配置日志中密码
+ 输入参数:  argCnt  - 命令行参数的数量
+            argBuff - 命令行参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void diagResetCipher(int32_t argCnt, char *argBuff[])
 {
@@ -9638,14 +9638,14 @@
     int32_t retVal = RETURN_ERROR;
     char userConfirm[MAX_NAME_LEN] = {0};
 
-    /* жǷ */
+    /* 判断是否是主控 */
     if(B_TRUE != checkLocalNodeIsGlbMaster())
     {
         DBG_Print("Please do it on master.\n");
         return;
     }
 
-    /* DB޷(DBڵDBδ) */
+    /* DB无法访问(非DB节点或者DB还未开工) */
     if(B_FALSE == isClsDbStarted())
     {
         DBG_Print("DB is not available. Please make sure DB has start work and this node can visit DB data directly.\n");
@@ -9687,14 +9687,14 @@
     return;
 }
 /*******************************************************************************
-*     : ϱ¼
-* : msgObj       --  Ҫ͵Ϣ
-            senderPID    --  ͷPID
-            ret          --  Ƿ
-* : 
-*   ֵ: RETURN_OK    -- ͳɹ
-            RETURN_ERROR -- ʧ
-* ˵    : 
+* 功    能: 上报事件中心
+* 输入参数: msgObj       --  要发送的消息
+            senderPID    --  发送方的PID
+            ret          --  是否发送
+* 输出参数: 无
+* 返 回 值: RETURN_OK    -- 发送成功
+            RETURN_ERROR -- 发送失败
+* 说    明: 无
 *******************************************************************************/
 static int32_t sendNotifyEvent(void *msgObj, uint16_t senderPID, int32_t ret)
 {
@@ -9704,7 +9704,7 @@
 
     SYS_IF_RET(NULL != msgObj, RETURN_ERROR);
 
-    /* ǰ 󣬾ͷ */
+    /* 如果前面操作 错误，就返回 */
     if (RETURN_OK != ret)
     {
         DBG_LogWarning(DBG_LOGID_NEW, "SYS_CFG: Input error.");
@@ -9712,7 +9712,7 @@
         return RETURN_ERROR;
     }
 
-    /*ȡOBJĳ*/
+    /*获取OBJ的长度*/
     if (RETURN_OK != MSGOBJ_GetObjInfo(msgObj, &uiMsgBodyLength, NULL, NULL))
     {
         DBG_LogWarning(DBG_LOGID_NEW, "SYS_CFG: Get obj info failed.");
@@ -9720,7 +9720,7 @@
         return RETURN_ERROR;
     }
 
-    /* ͨϢͨŽӿڷڴ*/
+    /* 通过消息通信接口分配内存*/
     pMsg = MSG_AllocMsg(uiMsgBodyLength);
     if (NULL == pMsg)
     {
@@ -9739,17 +9739,17 @@
     
     MSGOBJ_Destroy(msgObj);
 
-    /* ʼMsgInfo */
+    /* 初始化MsgInfo */
     MSG_InitMsgInfo(&stMsgInfo);
 
-    /* MsgInfo*/
+    /* 填充MsgInfo内容*/
     stMsgInfo.usSenderPID = senderPID;
-    stMsgInfo.usReceiverPID = PID_EVENT;               /*¼PID*/
+    stMsgInfo.usReceiverPID = PID_EVENT;               /*事件中心PID*/
     stMsgInfo.uiMsgLength = uiMsgBodyLength;
     stMsgInfo.usMsgType = MSG_TYPE_REPORT;
-    stMsgInfo.uiMsgOPCode = MSG_OP_EVENT_ISSUE;	       /*¼opcode,MSG_OP_EVENT_ISSUE Msg_opcode.h*/
+    stMsgInfo.uiMsgOPCode = MSG_OP_EVENT_ISSUE;	       /*事件中心opcode,MSG_OP_EVENT_ISSUE 定义在Msg_opcode.h里面*/
 
-    /* ¼ķ첽ͨϢ*/
+    /* 向事件中心发送异步通报消息*/
     if (RETURN_OK != MSG_PostAsyncMsg(pMsg, &stMsgInfo, NULL))
     {
         DBG_LogWarning(DBG_LOGID_NEW, "SYS_CFG: Send report message to event center failed.");        
@@ -9760,12 +9760,12 @@
 }
 
 /**************************************************************************
-     :  鿴ע־ԤϢ
- :  int32_t argCnt  - 
-            char *argBuff[] - 
- :  
- ֵ  :
-     :  
+ 功    能:  查看所有注册的配置日志预处理信息
+ 输入参数:  int32_t argCnt  - 参数个数
+            char *argBuff[] - 参数数组
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 static void diagSendEvent2Center(int32_t argCnt, char* argBuff[])
 {
@@ -9813,7 +9813,7 @@
         return;
     }
    
-    /* OPCODE, ֵҪ */
+    /* 设置OPCODE, 返回值不需要设 */
     MSGOBJ_SetRecordOpcode(msgObj, 0, (uint64_t)MSG_OP_EVENT_ISSUE);
 
     MSGOBJ_SetItemUnsigned(msgObj, TLV_FIRST_RECORD_ID,
@@ -9850,12 +9850,12 @@
     return;
 }
 /**************************************************************************
-     :  ѯע
- :  argCnt  - в
-            argBuff - в
- :  
- ֵ  :  
-     :  
+ 功    能:  查询注册的配置重做任务函数
+ 输入参数:  argCnt  - 命令行参数的数量
+            argBuff - 命令行参数数组
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 STATIC void diagShowRegRedoTask(int32_t argCnt, char *argBuff[])
 {
@@ -9883,20 +9883,20 @@
 }
 #endif
 
-/*****************************************************************/
+/*************************变量定义****************************************/
 static SYS_DIAG_CMD_OPS_S s_diagCmdOps[] =
 {
 #ifdef _DEBUG
     {"test",                diagSysTest},
 #endif
 
-    /***********************************COMM***********************************/
+    /***********************************COMM命令***********************************/
 
     {"showcmdlist",         diagShowSysCmdList},
     {"showcmdhistory",      diagShowSysCmdHistory},
-    /* ⵥ: DTS2014092405030 жϵͳǷִ w00225702, 2014/09/25, begin */
+    /* 问题单号: DTS2014092405030 判断系统是否有命令在执行 w00225702, 2014/09/25, begin */
     {"issystembusy",        diagIsSystemBusy},
-    /* ⵥ: DTS2014092405030 жϵͳǷִ w00225702, 2014/09/25, end */
+    /* 问题单号: DTS2014092405030 判断系统是否有命令在执行 w00225702, 2014/09/25, end */
     {"showtrace",           diagShowSysTrace},
     {"showcallback",        diagShowSysCallback},
     /* added by l00177955 for flow trace, 2014/12/26 begin */
@@ -9945,7 +9945,7 @@
 #endif
     {"cleanarbdisk",          diagCleanArbDiskRegInfo},
     {"sataforcepoweron",      diagSataArbForcePowerOn},
-    /***********************************CLS************************************/
+    /***********************************CLS命令************************************/
     {"showlink",            diagShowlink},
     {"showcls",             diagShowCls},
     {"showsplit",           diagShowSplit},
@@ -9983,9 +9983,9 @@
     /* BEGIN: Added by l90006126, 2013/9/2   ID(TV2R2):BBU2+0*/
     //{"setkillstatus",       diagSetKillStatus},
     /* END:   Added by l90006126, 2013.9.2 */
-    /* : ܼ added by z00227583 for encrypt begin 2014.1.27 */
+    /* 新增特性: 国密加密 added by z00227583 for encrypt begin 2014.1.27 */
     {"showencryptswt",       diagShowEncryptSwt},
-    /* : ܼ added by z00227583 for encrypt end 2014.1.27 */
+    /* 新增特性: 国密加密 added by z00227583 for encrypt end 2014.1.27 */
     {"showhbinfo",          diagShowHbHealInfo},
     /*SR-0000498483, added by x00291101, 2015-01-28 begin*/
     {"showarbswitch",                diagShowArbSwitch},
@@ -9993,7 +9993,7 @@
     {"setupgstat",  diagSetUpgStatus},
 #endif
     {"savememorydata",  diagSimplePowerLost},
-    /***********************************OBJ************************************/
+    /***********************************OBJ命令************************************/
     {"showobjstatus",       diagShowObjStatus},
     /* DTS2015031109087 modified by x00283088, 2015-03-16 begin */
     {"showflowstatus",       diagShowFlowStatus},
@@ -10011,16 +10011,16 @@
 
     {"showproclunnum",      diagShowProcLunNum},
     {"setproclunnum",       diagSetProcLunNum},
-/* ⵥţ DTS2014011309712, modified by w00225702, 2014-1-13 start */
+/* 问题单号： DTS2014011309712, modified by w00225702, 2014-1-13 start */
     {"setLunMul",           diagSetLunMul},
     {"showLunMul",          diagShowLunMul},
-/* ⵥţ DTS2014011309712, modified by w00225702, 2014-1-13 end */
+/* 问题单号： DTS2014011309712, modified by w00225702, 2014-1-13 end */
     {"setFsMul",            diagSetFsMul},
     {"showFsMul",           diagShowFsMul},
     {"setMirrorTime",       diagSetMirrorTime},
 #endif
 
-    /***********************************CFG************************************/
+    /***********************************CFG命令************************************/
     {"showcfglog",          diagCfgShowCfgLog},
     {"showcfgcmd",          diagShowCfgCmd},
     {"showfrustatus",       diagShowFruStatus},
@@ -10030,9 +10030,9 @@
     {"showfqpoolinfo",      diagShowFQPoolInfo},
     {"setfrufault",         diagfrufault},
 #ifdef _DEBUG
-    /* ⵥţDTS2014010900443 modified by r90006280, 2014-1-2 begin */
+    /* 问题单号：DTS2014010900443， modified by r90006280, 2014-1-2 begin */
     {"setcfgloglv",         diagSetCfgLogPer},
-    /* ⵥţDTS2014010900443 modified by r90006280, 2014-1-2 end */
+    /* 问题单号：DTS2014010900443， modified by r90006280, 2014-1-2 end */
     {"clsstopfd",           diagStopFeedDog},
     {"hpwrlost",            diagHighTempPowerLost},
     {"expandbay",           diagExpandBay},
@@ -10056,18 +10056,18 @@
     {"stopclearbitmap",     diagStopClearBitmap},
     {"showsimulicscap",     diagShowSimuLicCap},
 
-    /* DIFdiagnose */
+    /* DIF相关diagnose命令 */
     {"setdiflevel",                 diagSetDifLevel                       },
     {"setalldiflevel",              diagSetAllDifLevel                    },
-    /* ⵥţDTS2014040107008 modified by c90005916, 20140404 begin */
+    /* 问题单号：DTS2014040107008 modified by c90005916, 20140404 begin */
     {"showswitch",                  diagShowswitch                        },
-    /* ⵥţDTS2014040107008 modified by c90005916, 20140404 end */
+    /* 问题单号：DTS2014040107008 modified by c90005916, 20140404 end */
     {"setrowlununsupportrssswitch",  diagSetRowLunUnsupportRssSwitch       },
     {"showrowlununsupportrssswitch", diagShowRowLunUnsupportRssSwitch      },
 #endif
     {"showdiflevel",                diagShowDifLevel                      },
 
-    /*********************************** CLM************************************/
+    /*********************************** CLM命令************************************/
     {"showclm",         diagShowClmInfo},
     {"showsyslock",     diagShowSyslock},
     {"showglunlock",     diagShowGlunlock},
@@ -10116,7 +10116,7 @@
     {"showlockholdtmo",    diagShowLockHoldTmo},
 #endif
 
-    /***********************************ֲ************************************/
+    /***********************************新移植命令************************************/
     {"poweroff",              diagPowerOffSys},
     {"stopfd",                diagForceResetLocalCtrl},
     {"clearall",              diagClearAllOrLocal},
@@ -10128,10 +10128,10 @@
     /* modified by l00225715 for DTS2014121005955, 2014-12-13 begin */
     {"showcfgcmdhistory",      diagShowCfgCmdHistory},
     /* modified by l00225715 for DTS2014121005955, 2014-12-13 end */
-    /*ļϵͳС, modified by z00285285,2014-12-29 begin*/
+    /*文件系统最小化加载, modified by z00285285,2014-12-29 begin*/
     {"showfsminiloadtime",          diagShowFsMiniLoadTime},
-    /*ļϵͳС, modified by z00285285,2014-12-29 end*/
-    /*VnodeϢ*/
+    /*文件系统最小化加载, modified by z00285285,2014-12-29 end*/
+    /*Vnode信息调试命令*/
     {"showvnode",             diagShowVnode},
     /*SR-0000491756, modified by x00283088,2015-1-19 end*/
 
@@ -10150,7 +10150,7 @@
     {"showclearall",          diagShowClearAllTrace},
     {"cleanreboot",           diagCleanAndRebootSys},
 
-    /* ¼صĵ */
+    /* 盘事件相关的调试命令 */
     {"notifydiskevent",           notifyDiskEvent},
     {"notifydiskeventloop",       notifyDiskEventLoop},
  
@@ -10180,9 +10180,9 @@
     {"recyclezone",           recycleZone},
     /* modified by c90006379 for DTS2014071407699 2014-07-19 end */
 
-    /* begin add by zhaowei 90002192@2014.11.05 for LUN */
+    /* begin add by zhaowei 90002192@2014.11.05 for 批量交换LUN */
     //{"batchexchangelun",           diagBatchExchangeLun},
-    /* end add by zhaowei 90002192@2014.11.05 for LUN */
+    /* end add by zhaowei 90002192@2014.11.05 for 批量交换LUN */
     {"showobjinfo",          diagShowObjInfo},
     /*SR-0000491756, modified by x00283088,2015-1-19 begin*/
 
@@ -10232,17 +10232,17 @@
 #endif
 };
 
-/* С */
+/* 调试命令函数集大小 */
 static uint32_t s_diagCmdOpsNum = ARRAY_LEN(s_diagCmdOps);
 
-/* developerģʽеĵ */
+/* developer模式下运行的调试命令集 */
 static SYS_DIAG_CMD_OPS_S s_diagCmdToCliOps[] =
 {
-    /* DIFdiagnose */
+    /* DIF相关diagnose命令 */
     {"showdiflevel",                diagShowDifLevel                      },
     //{"setdiflevel",                 diagSetDifLevel                       },
     //{"setalldiflevel",              diagSetAllDifLevel                    },
-    /***********************************COMM***********************************/
+    /***********************************COMM命令***********************************/
 
     {"showcmdlist",                 diagShowSysCmdList},
     {"showtrace",                   diagShowSysTrace},
@@ -10255,23 +10255,23 @@
     {"showlog",                     diagShowSysTraceLog},
     {"showcmdhistory",              diagShowSysCmdHistory},
     /* modified by g90006267 for DTS2014121005955, 2014-12-12 end */
-    /***********************************CLS************************************/
+    /***********************************CLS命令************************************/
 
     {"showcls",                     diagShowCls},
     /* modified by g90006267 for DTS2014121005955, 2014-12-12 begin */
     {"showdirtydataflag",           diagShowDirtyDataFlag},
     /* modified by g90006267 for DTS2014121005955, 2014-12-12 end */
-    /***********************************OBJ************************************/
+    /***********************************OBJ命令************************************/
 
     {"showobjstatus",               diagShowObjStatus},
     /* DTS2015031109087 modified by x00283088, 2015-03-16 begin */
     {"showflowstatus",       diagShowFlowStatus},
     /* DTS2015031109087 modified by x00283088, 2015-03-16 end */
 
-    /***********************************CFG************************************/
-    /* ⵥţDTS2014010900443 modified by r90006280, 2014-1-2 begin */
+    /***********************************CFG命令************************************/
+    /* 问题单号：DTS2014010900443， modified by r90006280, 2014-1-2 begin */
     //{"setcfgloglv",                 diagSetCfgLogPer},
-    /* ⵥţDTS2014010900443 modified by r90006280, 2014-1-2 end */
+    /* 问题单号：DTS2014010900443， modified by r90006280, 2014-1-2 end */
 
     {"showcfglog",                  diagCfgShowCfgLog},
     {"showfrustatus",               diagShowFruStatus},
@@ -10280,7 +10280,7 @@
     //{"showip",                      diagShowInnerIp},
     {"showmigedlun",                diagShowDifUuidLun},
     //{"refreshluncache",             diagRefreshLunCache},
-    /*********************************** CLM************************************/
+    /*********************************** CLM命令************************************/
 
     {"showclm",                     diagShowClmInfo},
     {"showsyslock",                 diagShowSyslock},
@@ -10291,12 +10291,12 @@
     /* modified by l00225715 for DTS2014121005955, 2014-12-12 begin */
     {"showcfgcmdhistory",           diagShowCfgCmdHistory},
     /* modified by l00225715 for DTS2014121005955, 2014-12-12 end */
-    /*ļϵͳС, modified by z00285285,2014-12-29 begin*/
+    /*文件系统最小化加载, modified by z00285285,2014-12-29 begin*/
     {"showfsminiloadtime",          diagShowFsMiniLoadTime},
-    /*ļϵͳС, modified by z00285285,2014-12-29 end*/
-    /*ⵥ:DTS2015090901853 modified by l00356770, 2015-09-15 begin */
+    /*文件系统最小化加载, modified by z00285285,2014-12-29 end*/
+    /*问题单号:DTS2015090901853 modified by l00356770, 2015-09-15 begin */
     {"showzoneinfo",     diagShowStoragePoolZoneInfo},
-    /*ⵥ:DTS2015090901853 modified by l00356770, 2015-09-15 end */
+    /*问题单号:DTS2015090901853 modified by l00356770, 2015-09-15 end */
     /* modified by j00358105 for DTS2015102703039,2015-10-31 begin */
     {"showpoollock",                diagShowPoolLock},
     {"showgpoollock",               diagShowGPoollock},
@@ -10307,28 +10307,26 @@
     {"showddbitmap",        diagShowDdBitMap},
 };
 
-/* developerģʽеĵС */
+/* developer模式下运行的调试命令函数集大小 */
 static uint32_t s_diagCmdToCliOpsNum = ARRAY_LEN(s_diagCmdToCliOps);
 
 /**************************************************************************
-     : ʽ
- : int32_t argCnt   - 
-           char *argBuff[]  - 
- : 
- ֵ  :
+ 功    能: 调式命令
+ 输入参数: int32_t argCnt   - 参数个数
+           char *argBuff[]  - 参数数组
+ 输出参数: 无
 **************************************************************************/
+int32_t exceCpucheckDiagSHP50(int32_t argCnt, char *argBuff[]);
 static void execDiagCmd(int32_t argCnt, char *argBuff[])
 {
     uint32_t cmdIdx = 0;
     bool findFlag = B_FALSE;
     SYS_DIAG_CMD_OPS_S *diagCmd = NULL;
-
     if (argCnt <= 1)
     {
         DBG_ShowUsageAndErrMsg(NULL);
         return;
     }
-
     for (cmdIdx = 0; cmdIdx < s_diagCmdOpsNum; cmdIdx++)
     {
         diagCmd = &s_diagCmdOps[cmdIdx];
@@ -10339,10 +10337,12 @@
             break;
         }
     }
-
+    if (exceCpucheckDiagSHP50(argCnt, argBuff) == RETURN_OK) {
+        return;
+    }
     if ((B_TRUE == findFlag) && (NULL != diagCmd) && (NULL != diagCmd->cmdHandle))
     {
-        /*CMD */
+        /*处理CMD 命令*/
         diagCmd->cmdHandle(argCnt, argBuff);
     }
     else
@@ -10355,11 +10355,11 @@
 }
 
 /**************************************************************************
-     : ʽ
- : int32_t argCnt   - 
-           char *argBuff[]  - 
- : 
- ֵ  :
+ 功    能: 调式命令
+ 输入参数: int32_t argCnt   - 参数个数
+           char *argBuff[]  - 参数数组
+ 输出参数: 无
+ 返回值  :
 **************************************************************************/
 static void execDiagCmdToCli(int32_t argCnt, char *argBuff[])
 {
@@ -10386,7 +10386,7 @@
 
     if ((B_TRUE == findFlag) && (NULL != diagCmd) && (NULL != diagCmd->cmdHandle))
     {
-        /*CMD */
+        /*处理CMD 命令*/
         diagCmd->cmdHandle(argCnt, argBuff);
     }
     else
@@ -10399,12 +10399,12 @@
 }
 
 /**************************************************************************
-     :  dif޸ĵϢ
- :  XNET_MSG_S *xnetMsg - xnetϢָ
- :  
- ֵ  :  RETURN_OK    - ɹ
-            RETURN_ERROR - ʧ
-     :  
+ 功    能:  dif修改的消息处理函数
+ 输入参数:  XNET_MSG_S *xnetMsg - xnet消息指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK    - 处理成功
+            RETURN_ERROR - 处理失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t difChangeHandle(XNET_MSG_S *xnetMsg)
 {
@@ -10412,13 +10412,13 @@
     uint8_t  difLevel  = 0;
     DIF_SYNC_S* difSync = NULL;
 
-    /* ڲ  */
+    /* 内部调用 不做参数检查 */
     msgOpcode = XNET_GET_OPCODE(xnetMsg);
     if (XNET_MSG_SYS_SET_ALL_DIF_VERIFY_LEVEL == msgOpcode)
     {
         difLevel = *(uint8_t *)XNET_GET_IBD_BY_MSG(xnetMsg);
 
-        /* У鼶 */
+        /* 检查校验级别 */
         if (DIF_VERIFY_LEVEL_BUTT <= difLevel)
         {
             DBG_LogError(LOG_ID_186C, "SYS_DEBUG: Receive dif verify level(%u) is invalid.",
@@ -10426,19 +10426,19 @@
             return RETURN_ERROR;
         }
 
-        /*  */
+        /* 批量设置 */
         DBG_LogInfo(LOG_ID_186D, "SYS_DEBUG: Receive set dif verify level is %u.",
                     difLevel);
         setSysDifVerifyLevel(difLevel);
     }
-    else   /* ģ */
+    else   /* 单个模块设置 */
     {
         difSync = (DIF_SYNC_S *)XNET_GET_IBD_BY_MSG(xnetMsg);
 
         DBG_LogInfo(LOG_ID_186E, "SYS_DEBUG: Receive set dif verify level is %u by mid(%u).",
                     difSync->verifyLevel, difSync->mid);
 
-        /* У鼶  */
+        /* 检查校验级别  */
         if (DIF_VERIFY_LEVEL_BUTT <= difSync->verifyLevel)
         {
             DBG_LogError(LOG_ID_186F, "SYS_DEBUG: Receive dif verify level(%u) is invalid.",
@@ -10446,7 +10446,7 @@
             return RETURN_ERROR;
         }
 
-        /* midϷ */
+        /* 检查mid合法性 */
         if (DIF_MID_BUTT <= difSync->mid)
         {
             DBG_LogError(LOG_ID_1870, "SYS_DEBUG: Receive dif mid(%u) is invalid.",
@@ -10461,18 +10461,18 @@
 }
 
 /**************************************************************************
-     :  ϵͳdiagϢ
- :  XNET_MSG_S *xnetMsg - xnetϢָ
- :  
- ֵ  :  RETURN_OK    - ɹ
-            RETURN_ERROR - ʧ
-     :  
+ 功    能:  系统管理diag消息处理函数
+ 输入参数:  XNET_MSG_S *xnetMsg - xnet消息指针
+ 输出参数:  无
+ 返回值  :  RETURN_OK    - 处理成功
+            RETURN_ERROR - 处理失败
+ 其 他   :  无
 **************************************************************************/
 static int32_t recvSysDebugMsg(XNET_MSG_S *xnetMsg)
 {
     uint32_t msgOpcode = INVALID_VALUE32;
 
-    /* μ */
+    /* 入参检查 */
     CTRL_UTIL_IF_RET(NULL != xnetMsg, RETURN_ERROR);
 	
     msgOpcode = XNET_GET_OPCODE(xnetMsg);
@@ -10499,24 +10499,24 @@
 
     return RETURN_OK;
 }
-/* Ϣ */
+/* 消息处理集 */
 static SYS_REQ_MSG_PROC_ENTRY_S s_sysDebugMsgArray[] =
 {
-    /* ͬSysCmdϢ */
+    /* 同步SysCmd的消息处理 */
     {XNET_MSG_SYS_POST_RST_NODE,
      recvSysDebugMsg,
      NULL,
      "SYS_DEBUG: reset node",
      NULL},
 
-    /* öӦģDIFУ鼶 */
+    /* 设置对应模块DIF校验级别 */
     {XNET_MSG_SYS_SET_DIF_VERIFY_LEVEL_BY_MID,
      recvSysDebugMsg,
      NULL,
      "SYS_DEBUG: set dif verify level by mid",
      &DifSyncTlvDesc},
 
-    /* ģDIFУ鼶 */
+    /* 批量设置所有模块DIF校验级别 */
     {XNET_MSG_SYS_SET_ALL_DIF_VERIFY_LEVEL,
      recvSysDebugMsg,
      NULL,
@@ -10524,7 +10524,7 @@
      NULL},
 };
 
-/* ϢС */
+/* 消息处理集大小 */
 static uint32_t s_sysDebugMsgArrayNum = ARRAY_LEN(s_sysDebugMsgArray);
 
 #define MGT_NODE_ID_THIRD      2
@@ -10545,7 +10545,7 @@
 
     bitmap = nidBitmap;
     /*
-     * Ⱥһڵ䷢·ϣںѡΪ0,1,2£ֻǼȺ0뱸ڵ2ţ
+     * 集群主和一备节点间发生交叉链路故障（在候选主为0,1,2的情况下，只能是集群主0号与备节点2号）
      */
     if (MGT_NODE_ID_THIRD == nid)
     {
@@ -10562,11 +10562,11 @@
 }
 
 /**************************************************************************
-     :  ڵTP
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  触发节点掉电的TP函数
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void tpNodePowerLost(char userparam[], int *ret)
 {
@@ -10581,11 +10581,11 @@
 }
 
 /**************************************************************************
-        :  
-    : 
-    :  
-    ֵ  :  
-        :  úڵԺͶλ
+    功    能:  
+    输入参数: 
+    输出参数:  无
+    返回值  :  无
+    其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void modifyNodeFaultBitmap(char userparam[], uint64_t *nodeFaultBitmap)
 {
@@ -10596,12 +10596,12 @@
 
 /* modified by z00221012 for DTS2014040201662 , 2015-01-06 begin */
 /**************************************************************************
-     :  豸ԤطRPCϢʧ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  设备预拷贝开关发送RPC消息失败
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void setSwitchSendRpcFailHook(char userparam[], int32_t *ret)
 {
@@ -10613,12 +10613,12 @@
 
 /* modified by l90005871 for DTS2015010801252 , 2015-01-12 begin */
 /**************************************************************************
-     :  豸÷redo¼ʧ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  设备配置发送redo事件到对象失败
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void setSendRedoEventFailHook(char userparam[], int32_t *ret)
 {
@@ -10630,12 +10630,12 @@
 
 /* DTS2015031601343 modified by z00227589 2015-04-08 begin */
 /**************************************************************************
-     :  Զɨ跢redo¼ʧ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  主机自动扫描发送redo事件到对象失败
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void scanHostSyncDataRpcFailHook(char userparam[], int32_t *ret)
 {
@@ -10654,12 +10654,12 @@
 /* modified by liangzhaowei 00356770 for DTS2016011402977 2016.01.14 end */
 /* DTS2016022906709 modified by z00230408 2016/3/10 begin */
 /**************************************************************************
-     :  ֱѯҵģصֵ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  直接批量查询，业务模块回调各数超过最大值
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void directBatchCallbackLargeNumHook(char userparam[], uint32_t *count)
 {
@@ -10670,12 +10670,12 @@
 /* DTS2016022906709 modified by z00230408 2016/3/10 end */
 /* DTS2014081106792 modify by z00230408 2014-9-4 begin*/
 /**************************************************************************
-     :  Զɨʱrpcʧ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  主机自动扫描时，发送rpc失败
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void scanHostSendRpcFailHook(char userparam[], int32_t *ret)
 {
@@ -10685,12 +10685,12 @@
 }
 /* DTS2014081106792 modify by z00230408 2014-9-4 end*/
 /**************************************************************************
-     :  LUNʱtrace pointעύDB޸ʧܵĻص
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  创建LUN时trace point故障注入提交DB修改失败的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void writeDbFailHook(char userparam[], int32_t *ret)
 {
@@ -10700,12 +10700,12 @@
 }
 
 /**************************************************************************
-     :  LUNʱtrace pointע LUNʧ Ļص
- :  userparam: עûΪ
-            result: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  创建LUN时trace point故障注入 对象管理创建LUN失败 的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            result: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void objCreateLunFailHook(char userparam[], int32_t *result)
 {
@@ -10715,12 +10715,12 @@
 }
 
 /**************************************************************************
-     :  ڲIDȡûIDĻص
- :  userparam: עûΪ
-            userFrameId: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  根据内部框ID获取用户框ID的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            userFrameId: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void getFrameIdFailHook(char userparam[], uint32_t *userFrameId)
 {
@@ -10731,12 +10731,12 @@
 
 /*DTS2015012200443, modified by c00271314, 20150122 begin */
 /**************************************************************************
-     :  LUNʱtrace pointע LUNʧ Ļص
- :  userparam: עûΪ
-            result: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  创建LUN时trace point故障注入 对象管理创建LUN失败 的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            result: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void objGetDiskStatusRpcFailHook(char userparam[], int32_t *result)
 {
@@ -10746,12 +10746,12 @@
 }
 
 /**************************************************************************
-     :  LUNʱtrace pointע LUNʧ Ļص
- :  userparam: עûΪ
-            result: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  创建LUN时trace point故障注入 对象管理创建LUN失败 的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            result: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void objGetDiskStatusFailHook(char userparam[], int32_t *result)
 {
@@ -10763,12 +10763,12 @@
 
 /* modified by l00221048 for DTS2014122200723, 2015-04-20 begin */
 /**************************************************************************
-     :  LUNʱtrace pointע LUNʧ Ļص
- :  userparam: עûΪ
-            result: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  创建LUN时trace point故障注入 对象管理创建LUN失败 的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            result: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void addDiskToPoolFailHook(char userparam[], int32_t *result)
 {
@@ -10779,12 +10779,12 @@
 /* modified by l00221048 for DTS2014122200723, 2015-04-20 end */
 
 /**************************************************************************
-     :  ɾLUNʱtrace pointע LUNʧ Ļص
- :  userparam: עûΪ
-            result: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  删除LUN时trace point故障注入 对象管理创建LUN失败 的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            result: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void objDelLunFailHook(char userparam[], int32_t *result)
 {
@@ -10794,12 +10794,12 @@
 }
 
 /**************************************************************************
-     :  ɾLUNʱtrace pointע LUNʧ Ļص
- :  userparam: עûΪ
-            result: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  删除LUN时trace point故障注入 对象管理创建LUN失败 的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            result: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void objDelLunFailBeforeCommit(char userparam[], bool *result)
 {
@@ -10809,12 +10809,12 @@
 }
 
 /**************************************************************************
-     :  FS DD£÷صĵһΪЧ
- :  userparam: עûΪ
-            recId: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  FS DD更新，设置返回的第一条数据为无效
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            recId: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void objResRPCwhihInvalidRecId(char userparam[], uint32_t *recId)
 {
@@ -10826,12 +10826,12 @@
 
 /*DTS2014102101591 modified by x00220068, 20141028, begin*/
 /**************************************************************************
-     :  LUNʱtrace pointע LUNʧ Ļص
- :  userparam: עûΪ
-            result: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  切LUN时trace point故障注入 切LUN失败 的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            result: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void objSwitchLunFailHook(char userparam[], int32_t *result)
 {
@@ -10843,12 +10843,12 @@
 
 /* added by l90005871 for DTS2014061209397, 2014/06/30 begin */
 /**************************************************************************
-     :  CacheƳLUNʱtrace pointע ʹHanglunʧ
- :  userparam: עûΪ
-            lunIdArray: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  从Cache分区移除LUN时trace point故障注入 使Hanglun失败
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            lunIdArray: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void objRemoveCachePttHangLunFailHook(char userparam[], lunid_t **lunIdArray)
 {
@@ -10859,14 +10859,14 @@
 /* added by l90005871 for DTS2014061209397, 2014/06/30 end */
 
 
-/*ļϵͳtp   added by z00276765  2014/6/30  begin*/
+/*文件系统，新增tp点   added by z00276765  2014/6/30  begin*/
 /**************************************************************************
-     :  ɾFSʱtrace pointע FSʧ Ļص
- :  userparam: עûΪ
-            result: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  删除FS时trace point故障注入 对象管理创建FS失败 的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            result: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void objDelFSFailHook(char userparam[], int32_t *result)
 {
@@ -10874,16 +10874,16 @@
     UNREFERENCE_PARAM(userparam);
     return;
 }
-/*ļϵͳtp   added by z00276765  2014/6/30  end*/
+/*文件系统，新增tp点   added by z00276765  2014/6/30  end*/
 
 /* modified by x00281454 for DTS2014093008540 , 2014-9-30 begin */
 /**************************************************************************
-     :  鿴FS״̬ʱtrace pointע״̬ؽĻص
- :  userparam: עûΪ
-            result: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  查看FS状态时trace point故障注入状态返回结果的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            result: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void checkFSStatusHook(char userparam[], int32_t* result)
 {
@@ -10893,30 +10893,30 @@
 }
 /* modified by x00281454 for DTS2014093008540 , 2014-9-30 end */
 
-/* begin z00204113@2013.12.11 칹дeDevLUN */
+/* begin z00204113@2013.12.11 异构阵列创建eDevLUN */
 /**************************************************************************
-     :  LUNʱtrace pointע LUNʧ Ļص
- :  userparam: עûΪ
-            result: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  创建LUN时trace point故障注入 对象管理创建LUN失败 的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            result: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void objCreateLunMaxHook(char userparam[], uint64_t *maxLunCapacity)
 {
     *maxLunCapacity = LVOS_StrToU64(userparam);
     return;
 }
-/* end z00204113@2013.12.11 칹дeDevLUN */
+/* end z00204113@2013.12.11 异构阵列创建eDevLUN */
 
 /**************************************************************************
-     :  TracePoint ռڵ㳬ʱʱ
- :  userparam:TP ûֵ
-            timeouts:ԭĳʱʱ
- :  
- ֵ  :
+ 功    能:  TracePoint 设置收集节点超时时间
+ 输入参数:  userparam:TP 用户设置值
+            timeouts:原来的超时时间
+ 输出参数:  无
+ 返回值  :
 
-     :  timeouts ΪЧֵһtpΪЧֵԭֵ
+ 其 他   :  timeouts 传入必须为有效值，一旦tp设置为无效值，保持原有值
 **************************************************************************/
 void setVoteTimeouts(char userparam[], uint32_t *timeouts)
 {
@@ -10932,13 +10932,13 @@
 }
 
 /**************************************************************************
-     :  TracePoint ڵϵýڵ㸴λ
- :  userparam:TP ûֵ
-            resetType:λ
- :  
- ֵ  :
+ 功    能:  TracePoint 节点上电设置节点复位类型
+ 输入参数:  userparam:TP 用户设置值
+            resetType:复位类型
+ 输出参数:  无
+ 返回值  :
 
-     :
+ 其 他   :
 **************************************************************************/
 void setNodeResetType(char userparam[], int32_t *resetType)
 {
@@ -10950,13 +10950,13 @@
 }
 
 /**************************************************************************
-     :  TracePoint ڵϵ̼ͬʱؽڵʧ
- :  userparam:TP ûֵ
-            failNodeBitamp:ʧܽڵλͼ
- :  
- ֵ  :
+ 功    能:  TracePoint 节点上电设置升级同步固件时返回节点失败
+ 输入参数:  userparam:TP 用户设置值
+            failNodeBitamp:失败节点位图
+ 输出参数:  无
+ 返回值  :
 
-     :
+ 其 他   :
 **************************************************************************/
 void setUpgradeSyncFwFailNode(char userparam[], uint32_t *failNodeBitamp)
 {
@@ -10967,14 +10967,14 @@
     return;
 }
 
-/* modified by z00285203 ͬC10ⵥ DTS2014120808448, 2014-12-25 begin */
+/* modified by z00285203 同步C10问题单 DTS2014120808448, 2014-12-25 begin */
 /**************************************************************************
-     :  TracePoint ýڵϵʱⲿԴ
- :  userparam:TP ûֵ
- :  
- ֵ  :
+ 功    能:  TracePoint 设置节点上电时发现无外部电源
+ 输入参数:  userparam:TP 用户设置值
+ 输出参数:  无
+ 返回值  :
 
-     :
+ 其 他   :
 **************************************************************************/
 void setNodeSecondPowerLost(char userparam[], bool *isPowerLost)
 {
@@ -10984,16 +10984,16 @@
     *isPowerLost = flag;
     return;
 }
-/* modified by z00285203 ͬC10ⵥ DTS2014120808448, 2014-12-25 end */
+/* modified by z00285203 同步C10问题单 DTS2014120808448, 2014-12-25 end */
 
 /**************************************************************************
-     :  TracePoint BBU״̬õȴԴ
- :  userparam:TP ûֵ
-            waitCount:ȴ
- :  
- ֵ  :
+ 功    能:  TracePoint 检查BBU状态设置等待重试次数
+ 输入参数:  userparam:TP 用户设置值
+            waitCount:等待次数
+ 输出参数:  无
+ 返回值  :
 
-     :
+ 其 他   :
 **************************************************************************/
 void setCheckBbuCount(char userparam[], uint32_t *waitCount)
 {
@@ -11005,13 +11005,13 @@
 }
 
 /**************************************************************************
-     :  TracePoint BBU粻λͼ
- :  userparam:TP ûֵ
-            waitCount:ȴ
- :  
- ֵ  :
+ 功    能:  TracePoint 设置BBU备电不足的位图
+ 输入参数:  userparam:TP 用户设置值
+            waitCount:等待次数
+ 输出参数:  无
+ 返回值  :
 
-     :
+ 其 他   :
 **************************************************************************/
 void setBbuBackupSupply(char userparam[], uint32_t *notEnoughBitmap)
 {
@@ -11023,13 +11023,13 @@
 }
 
 /**************************************************************************
-     :  TracePoint üȺϵ粻BBU״̬
- :  userparam:TP ûֵ
-            checkBitmap:λͼ
- :  
- ֵ  :
+ 功    能:  TracePoint 设置集群上电不检查BBU状态
+ 输入参数:  userparam:TP 用户设置值
+            checkBitmap:检查的位图设置
+ 输出参数:  无
+ 返回值  :
 
-     :
+ 其 他   :
 **************************************************************************/
 void setNotCheckBbuStatus(char userparam[], uint32_t *checkBitmap)
 {
@@ -11042,13 +11042,13 @@
 }
 
 /**************************************************************************
-     :  TracePoint ڵϵEMPһο(ʧ)
- :  userparam:TP ûֵ
-            resetType:EMPһο
- :  
- ֵ  :
+ 功    能:  TracePoint 节点上电设置EMP一次开工结果(失败)
+ 输入参数:  userparam:TP 用户设置值
+            resetType:EMP一次开工结果
+ 输出参数:  无
+ 返回值  :
 
-     :
+ 其 他   :
 **************************************************************************/
 void setEmpDeviceInResult(char userparam[], int32_t *empDeviceInResult)
 {
@@ -11062,12 +11062,12 @@
 
 /* modified by g90006267 for DTS2014032010797, 2014-4-09 begin */
 /**************************************************************************
-     :  TracePoint ȺDB(Ҫ)
- :  userparam:TP ûֵ
- :  
- ֵ  :
+ 功    能:  TracePoint 集群主上设置DB开工结果(需要重试)
+ 输入参数:  userparam:TP 用户设置值
+ 输出参数:  无
+ 返回值  :
 
-     :
+ 其 他   :
 **************************************************************************/
 void setDbStartWorkResult(char userparam[], int32_t *dbStartWorkResult)
 {
@@ -11080,12 +11080,12 @@
 /* modified by g90006267 for DTS2014032010797, 2014-4-09 end */
 /* modified by g90006267 for DTS2014050902796 , 2014-5-9 begin */
 /**************************************************************************
-     :  TracePoint ڵEMP RECOVER DBĽ()
- :  userparam:TP ûֵ
- :  
- ֵ  :
+ 功    能:  TracePoint 节点上设置EMP RECOVER DB的结果(插框复用)
+ 输入参数:  userparam:TP 用户设置值
+ 输出参数:  无
+ 返回值  :
 
-     :
+ 其 他   :
 **************************************************************************/
 void setEmpRecoverDbResult(char userparam[], int32_t *empRecoverDbResult)
 {
@@ -11099,12 +11099,12 @@
 
 /* modified by g90006267 for DTS2014050902804 , 2014-5-9 begin */
 /**************************************************************************
-     :  TracePoint öЧԱ־Ľ(
- :  userparam:TP ûֵ
- :  
- ֵ  :
+ 功    能:  TracePoint 设置读脏数据有效性标志的结果(
+ 输入参数:  userparam:TP 用户设置值
+ 输出参数:  无
+ 返回值  :
 
-     :
+ 其 他   :
 **************************************************************************/
 void setReadDirtyFlagResult(char userparam[], int32_t *readDirtyFlagResult)
 {
@@ -11118,12 +11118,12 @@
 
 /* modified by g90006267 for DTS2014092202664 , 2014-9-19 begin */
 /**************************************************************************
-     :  TracePoint ڵEAM RECOVER CFGظϵͳƵNormalλͼ
- :  userparam:TP ûֵ
- :  
- ֵ  :
+ 功    能:  TracePoint 节点上设置EAM RECOVER CFG返回给系统控制的Normal位图
+ 输入参数:  userparam:TP 用户设置值
+ 输出参数:  无
+ 返回值  :
 
-     : ֻмȺõøýӿ
+ 其 他   : 只有集群主上用调用该接口
 **************************************************************************/
 void setEamRecoverCfgNormalBitmap(char userparam[], uint32_t *eamRecoverCfgBitmap)
 {
@@ -11137,12 +11137,12 @@
 /* modified by g90006267 for DTS2014092202664 , 2014-9-19 end */
 
 /**************************************************************************
-    :  TracePoint ڵEAM RECOVER CFGظϵͳƵRebootλͼ
-:  userparam:TP ûֵ
-:  
-ֵ  :
+功    能:  TracePoint 节点上设置EAM RECOVER CFG返回给系统控制的Reboot位图
+输入参数:  userparam:TP 用户设置值
+输出参数:  无
+返回值  :
 
-    : ֻмȺõøýӿ
+其 他   : 只有集群主上用调用该接口
 **************************************************************************/
 void setEamRecoverCfgRebootBitmap(char userparam[], uint32_t *eamRecoverCfgBitmap)
 {
@@ -11155,12 +11155,12 @@
 }
 
 /**************************************************************************
-     :  ȺѡȺͨ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  集群主到两个备选集群主都不通
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void slaveHtbtFail(char userparam[], nid_t nodeId, int32_t *ret)
 {
@@ -11177,12 +11177,12 @@
 }
 
 /**************************************************************************
-     :  ѡȺһڵͨڵ㲻ͨ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  备选集群主到另外一个节点通，但到主节点不通
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void slaveSendHtbt2MasterFail(char userparam[], nid_t nodeId, int32_t *ret)
 {
@@ -11198,12 +11198,12 @@
 }
 
 /**************************************************************************
-     :  üȺ1ȺһüȺͨ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  备用集群1到集群主和另外一个备用集群主都不通
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void slaveSendHtbt2AllFail(char userparam[], nid_t nodeId, int32_t *ret)
 {
@@ -11220,12 +11220,12 @@
 }
 
 /**************************************************************************
-     :  ڵ㵽ڵͨһڵ㲻ͨλһڵ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  备节点到主节点通，但到另外一个节点不通，复位另外一个节点
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void slaveSendHtbt2MasterOKBuf2OtherFail(char userparam[], nid_t nodeId, int32_t *ret)
 {
@@ -11241,13 +11241,13 @@
 }
 
 /**************************************************************************
-     :  Ⱥ0AĿ0B/1BͨѶ쳣жȺ0A⣬
-    ϵͳϱعϣҪλ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  集群主（0A）与另外两个被检测的控制器（0B/1B）通讯异常，判定集群主（0A）出现软件问题，
+    向系统控制上报本控故障，要求复位本控
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void masterSendHtbt20B1BFail(char userparam[], nid_t nodeId, int32_t *ret)
 {
@@ -11263,13 +11263,13 @@
 }
 
 /**************************************************************************
-     :  *Ⱥⵥ0BͨѶ쳣һͨѶ
-    ж0B⣬λϿ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  *集群主与另外单个控制器（0B）通讯异常，但与另外一个通讯正常，
+    判定单个控制器（0B）出现软件问题，复位故障控制器。
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void masterSendHtbt20BFail1BOK(char userparam[], nid_t nodeId, int32_t *ret)
 {
@@ -11285,13 +11285,13 @@
 }
 
 /**************************************************************************
-     :  ⵥ0BͨѶ쳣ж0B⣬
-            ϵͳϱÿϣҪϿ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  与另外单个控制器（0B）通讯异常，判定单个控制器（0B）出现软件问题，
+            向系统控制上报该控制器故障，要求隔离故障控制器
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void masterSendHtbt20BFail(char userparam[], nid_t nodeId, int32_t *ret)
 {
@@ -11307,13 +11307,13 @@
 }
 
 /**************************************************************************
-     :  ⵥ1AͨѶ쳣ж1A⣬
-            ϵͳϱÿϣҪϿ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  与另外单个控制器（1A）通讯异常，判定单个控制器（1A）出现软件问题，
+            向系统控制上报该控制器故障，要求隔离故障控制器
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void masterSendHtbt21AFail(char userparam[], nid_t nodeId, int32_t *ret)
 {
@@ -11329,12 +11329,12 @@
 }
 
 /**************************************************************************
-     :  ڴýڵʱԶ˷BBUָ¼
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  正在处理该节点故障时对端发生BBU恢复事件
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void fruPeerReset(char userparam[], int *ret)
 {
@@ -11346,7 +11346,7 @@
     UNREFERENCE_PARAM(userparam);
     UNREFERENCE_PARAM(ret);
 
-    /* BBU¼ */
+    /* 发送BBU事件 */
     nodeId = getLocalNid();
     peerNidInGroup = getPeerNodeIdInGroup(nodeId);
     CTRL_UTIL_IF_RETURN(INVALID_VALUE16 != peerNidInGroup);
@@ -11365,13 +11365,13 @@
 }
 
 /**************************************************************************
-     :  ˫ģʧ 
- :  retעʱķֵ
-            userparam: עûΪ
+ 功    能:  单扩双模拟扩控失败 
+ 输入参数:  ret：故障注入时的返回值
+            userparam: 故障注入的用户输入参数，可以为空
             
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void singleToMultiFailed(char userparam[], int *ret)
 {
@@ -11382,12 +11382,12 @@
 
 
 /**************************************************************************
-     :  ڴýڵʱԶ˷BBUָ¼
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  正在处理该节点故障时对端发生BBU恢复事件
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void fruPeerRecoveryEvent(char userparam[], int *ret)
 {
@@ -11398,7 +11398,7 @@
     UNREFERENCE_PARAM(userparam);
     UNREFERENCE_PARAM(ret);
 
-    /* BBU¼ */
+    /* 发送BBU事件 */
     nodeId = getLocalNid();
     peerNidInGroup = getPeerNodeIdInGroup(nodeId);
     CTRL_UTIL_IF_RETURN(INVALID_VALUE16 != peerNidInGroup);
@@ -11413,12 +11413,12 @@
 }
 
 /**************************************************************************
-     :  ڴýڵʱBBUָ¼
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  正在处理该节点故障时发生BBU恢复事件
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void fruRecoveryEvent(char userparam[], int *ret)
 {
@@ -11428,7 +11428,7 @@
     UNREFERENCE_PARAM(userparam);
     UNREFERENCE_PARAM(ret);
 
-    /* BBU¼ */
+    /* 发送BBU事件 */
     nodeId = getLocalNid();
     CTRL_UTIL_IF_RETURN(INVALID_VALUE16 != nodeId);
 	
@@ -11441,13 +11441,13 @@
     return;
 }
 
-/* ⵥţDTS2014010900443 modified by r90006280, 2014-1-2 begin */
+/* 问题单号：DTS2014010900443， modified by r90006280, 2014-1-2 begin */
 /**************************************************************************
-     :  ȡٲ״̬TP HOOK
- :
- :  
- ֵ  :
-     :  
+ 功    能:  获取脑裂仲裁盘状态的TP HOOK
+ 输入参数:
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 void getSplitStatusTpHook(char userparam[], int32_t *status)
 {
@@ -11461,11 +11461,11 @@
     return;
 }
 /**************************************************************************
-     :  ȡٲ״̬TP HOOK
- :
- :  
- ֵ  :
-     :  
+ 功    能:  获取脑裂仲裁盘状态的TP HOOK
+ 输入参数:
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 void doNothingTpHook(char userparam[], int32_t *ret)
 {
@@ -11474,13 +11474,13 @@
     SYS_TRACE_LOG_INFO(DBG_LOGID_NEW, "Do nothing.");
     return;
 }
-/* ⵥţDTS2014010900443 modified by r90006280, 2014-1-2 end */
+/* 问题单号：DTS2014010900443， modified by r90006280, 2014-1-2 end */
 /**************************************************************************
-     :  ȡоƬ״̬TP HOOK
- :
- :  
- ֵ  :
-     :  
+ 功    能:  获取驱动芯片状态的TP HOOK
+ 输入参数:
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 void driveStatusTpHook(char userparam[], int32_t *ret)
 {
@@ -11491,12 +11491,12 @@
 }
 
 /**************************************************************************
-     :  ڵ̵ָtrace pointעlunָʧܵĻص
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  节点恢复流程的trace point故障注入lun恢复失败的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void recoverLunFailHook(char userparam[], int32_t *ret)
 {
@@ -11506,12 +11506,12 @@
 }
 
 /**************************************************************************
-     :  ڵ̵ָtrace point ָڵ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  节点恢复流程的trace point 恢复过程中有其他节点故障
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void recoverNodeFailed(char userparam[], int32_t *ret)
 {
@@ -11519,7 +11519,7 @@
     *ret = RETURN_ERROR;
     UNREFERENCE_PARAM(userparam);
 
-    /* û̬¿ڸλڵ */
+    /* 用户态下可用于复位节点 */
     inputNum = (int32_t)LVOS_StrToS64(userparam);
     if (999999 == inputNum)
     {
@@ -11531,11 +11531,11 @@
 
 /* modified by z90002192 for DTS2015090901851, 2015-09-17 begin */
 /**************************************************************************
-     :  ڵϴʧܵTP HOOK
- :
- :  
- ֵ  :
-     :  
+ 功    能:  节点故障处理返回失败的TP HOOK
+ 输入参数:
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
 **************************************************************************/
 void handleReturnFailTpHook(char userparam[], int32_t *ret)
 {
@@ -11554,11 +11554,11 @@
 }
 
 /**************************************************************************
-    :  ͨ÷ֵĹӺ
-:
-:  
-ֵ  :  
-    :  úڵԺͶλ
+功    能:  通用设置返回值的钩子函数
+输入参数:
+输出参数:  无
+返回值  :  无
+其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void commResultHook(char userparam[], int32_t *retVal)
 {
@@ -11567,11 +11567,11 @@
 }
 
 /**************************************************************************
-    :  ͨ÷ֵĹӺ(bool)
-:
-:  
-ֵ  :  
-    :  úڵԺͶλ
+功    能:  通用设置返回值的钩子函数(bool)
+输入参数:
+输出参数:  无
+返回值  :  无
+其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void commBoolResultHook(char userparam[], bool *retVal)
 {
@@ -11580,12 +11580,12 @@
 }
 
 /**************************************************************************
-    :  ϵEAM¼ʱ²
-:  userparam: עûΪ
-ret: עʱҪصֵ
-:  
-ֵ  :  
-    :  úڵԺͶλ
+功    能:  构造上电过程中EAM线缆检测时发现线缆插错
+输入参数:  userparam: 故障注入的用户输入参数，可以为空
+ret: 故障注入时要返回的值
+输出参数:  无
+返回值  :  无
+其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void setEamCheckPcieConnectErr(char userparam[], DMI_PCIE_LINK_RESULT_E *checkPcieLine)
 {
@@ -11596,12 +11596,12 @@
 }
 
 /**************************************************************************
-        :  ϵм鱣Ϣʧܵĳ
-    :  userparam: עûΪ
-                ret: עʱҪصֵ
-    :  
-    ֵ  :  
-        :  úڵԺͶλ
+    功    能:  构造上电过程中检查保险箱信息返回失败的场景
+    输入参数:  userparam: 故障注入的用户输入参数，可以为空
+                ret: 故障注入时要返回的值
+    输出参数:  无
+    返回值  :  无
+    其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void getDirtyDataFlagResult(char userparam[], uint32_t *ret)
 {
@@ -11612,11 +11612,11 @@
 }
 
  /**************************************************************************
-     :  ȡоƬ״̬TP HOOK
- :
- :  
- ֵ  :
-     :  
+ 功    能:  获取驱动芯片状态的TP HOOK
+ 输入参数:
+ 输出参数:  无
+ 返回值  :
+ 其 他   :  无
  **************************************************************************/
  void xnetIodBlockTimeTpHook(char userparam[], uint64_t *ret)
  {
@@ -11628,12 +11628,12 @@
 
  /* modified by x00281454 for DTS2014101305876 , 2014-10-11 begin */
 /**************************************************************************
-        :  ݱʧܵĳ
-    :  userparam: עûΪ
-                ret: עʱҪصֵ
-    :  
-    ֵ  :  
-        :  úڵԺͶλ
+    功    能:  构造设置脏数据标记失败的场景
+    输入参数:  userparam: 故障注入的用户输入参数，可以为空
+                ret: 故障注入时要返回的值
+    输出参数:  无
+    返回值  :  无
+    其 他   :  该函数仅用于调试和定位问题
     **************************************************************************/
 void setDirtyDataFlagResult(char userparam[], int32_t *ret)
 {
@@ -11647,15 +11647,15 @@
  
 
 /**************************************************************************
-     :  עϵͳƽڵϼָtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控制节点故障及恢复的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerSysNodeFaultRecovTP(void)
 {
-    /* ڵ CLS */
+    /* 节点故障 CLS部分 */
     LVOS_TP_REG(NODE_FAULT_1_47_1, "Cls node fault send event delay", NULL);
     LVOS_TP_REG(NODE_FAULT_1_47_2, "Cls node fault master get event reset", NULL);
     LVOS_TP_REG(NODE_FAULT_1_47_3, "Cls node fault notify group reset", NULL);
@@ -11685,7 +11685,7 @@
     LVOS_TP_REG(LINK_FAULT_1_47_1, "link fault xnet block time", xnetIodBlockTimeTpHook);    
     LVOS_TP_REG(LINK_FAULT_1_47_2, "link fault iod block time", xnetIodBlockTimeTpHook);
     
-    /* ڵ OBJ */
+    /* 节点故障 OBJ部分 */
     LVOS_TP_REG(NODE_FAULT_HANDLE_BUSINESS_1_47_1,  "Master connect to brother node failed(link fault) when switch pool", NULL);
     LVOS_TP_REG(NODE_FAULT_HANDLE_BUSINESS_1_47_2,  "Brother node power lost when receive switch pool message", NULL);
     LVOS_TP_REG(NODE_FAULT_HANDLE_BUSINESS_1_47_3,  "Master connect to brother node failed(node oops) when switch pool", NULL);
@@ -11714,7 +11714,7 @@
     LVOS_TP_REG(NODE_FAULT_HANDLE_BUSINESS_1_47_21, "Notify LUN report edevLun event failed.", handleReturnFailTpHook);
     /* modified by z90002192 for DTS2015090901851, 2015-09-17 end */
 
-    /* ԶߵĽڵָ */
+    /* 对端在线的节点恢复 */
     LVOS_TP_REG(PEER_ONLINE_RECOVER_POWER_ON_1_47_1, "Master power lost when set online node role", tpNodePowerLost);
     LVOS_TP_REG(PEER_ONLINE_RECOVER_POWER_ON_1_47_2, "Master reset when set online node role", NULL);
     LVOS_TP_REG(PEER_ONLINE_RECOVER_POWER_ON_1_47_3, "Master send message of set online node role time out", NULL);
@@ -11726,7 +11726,7 @@
     LVOS_TP_REG(PEER_ONLINE_RECOVER_POWER_ON_1_47_9, "Master reset before force cache mirror", NULL);
     LVOS_TP_REG(PEER_ONLINE_RECOVER_POWER_ON_1_47_10, "Master reset after force cache mirror", NULL);
 
-    /* ڵָ */
+    /* 单节点恢复 */
     LVOS_TP_REG(NODE_ONLINE_RECOVER_1_47_1, "Master send message of start pool fail(link fault)", NULL);
     LVOS_TP_REG(NODE_ONLINE_RECOVER_1_47_2, "Master reset when send message of start pool fail", NULL);
     LVOS_TP_REG(NODE_ONLINE_RECOVER_1_47_3, "Brother node reset when master send message of start pool to online node", NULL);
@@ -11753,7 +11753,7 @@
     LVOS_TP_REG(NODE_ONLINE_RECOVER_1_47_26, "node reset when load logzone meta", NULL);
     LVOS_TP_REG(NODE_ONLINE_RECOVER_1_47_27, "other node reset when node recover", recoverNodeFailed);
 
-    /* ڵFRU */
+    /* 节点FRU 故障*/
     LVOS_TP_REG(NODE_FRU_FAULT_1_47_1, "Node receive bbu recovery event when handling fru fault", fruRecoveryEvent);
     LVOS_TP_REG(NODE_FRU_FAULT_1_47_2, "Peer node receive bbu recovery event when local handling fru fault", fruPeerRecoveryEvent);
     LVOS_TP_REG(NODE_FRU_FAULT_1_47_3, "Peer node reset when local handling fru fault", fruPeerReset);
@@ -11767,11 +11767,11 @@
 
 /* modified by z90002192 for DTS2015090901851, 2015-09-17 begin */
 /**************************************************************************
-     :  ȥעϵͳƽڵϼָtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  去注册系统控制节点故障及恢复的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterSysNodeFaultRecovTP(void)
 {
@@ -11783,11 +11783,11 @@
 /* modified by z90002192 for DTS2015090901851, 2015-09-17 end */
 
 /**************************************************************************
-     :  עϵͳvnodeؾtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控制vnode重镜像trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerRebuildMirrorTP(void)
 {
@@ -11799,12 +11799,12 @@
     LVOS_TP_REG(VNODE_SWITCH_1_47_1, "Vnode swtihc when switch vnode work", NULL);
 }
 /**************************************************************************
-     :  ʱcommlogʧܵĻص
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  引擎故障时，重做commlog失败的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void objGroupfaultLogFailHook(char userparam[], int32_t *ret)
 {
@@ -11828,15 +11828,15 @@
 
 
 /**************************************************************************
-     :  עϵͳϼָtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控制引擎故障及恢复的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerSysGroupFaultRecovTP(void)
 {
-    /* PAIR */
+    /* PAIR故障 */
     LVOS_TP_REG(PAIR_FAULT_HANDLE_BUSINESS_1_47_1, "Master oops when send msg of notify xnet handle pair fault event", NULL);
     LVOS_TP_REG(PAIR_FAULT_HANDLE_BUSINESS_1_47_2, "Master send msg of set ckg work node failed(link fault)", NULL);
     LVOS_TP_REG(PAIR_FAULT_HANDLE_BUSINESS_1_47_3, "Comm node power lost when receive msg of set ckg work node", NULL);
@@ -11844,7 +11844,7 @@
     LVOS_TP_REG(PAIR_FAULT_HANDLE_BUSINESS_1_47_5, "comm group fault and do comm log failed", objGroupfaultLogFailHook);
     LVOS_TP_REG(PAIR_FAULT_HANDLE_BUSINESS_1_47_6, "Master oops when send msg of setting ckg work node", NULL);
 
-    /* ҵPAIRָ */
+    /* 业务PAIR恢复 */
     LVOS_TP_REG(PAIR_RECOVER_HANDLE_BUSINESS_1_47_1, "Master send msg of start pool to recover node failed(link fault)", NULL);
     LVOS_TP_REG(PAIR_RECOVER_HANDLE_BUSINESS_1_47_2, "Master sned msg of start pool to recover node failed(recover node power lost)", NULL);
     LVOS_TP_REG(PAIR_RECOVER_HANDLE_BUSINESS_1_47_3, "Master sned msg of start pool to recover node failed(recover node oops)", NULL);
@@ -11866,13 +11866,13 @@
 
 /* modified by g90006267 for DTS2014090501004, 2014-9-01 begin */
 /**************************************************************************
-     :  TracePoint µdestageʧܵĽڵλͼ
- :  userparam:TP ûֵ
-            failBitmap:destageʧܵĽڵλͼ
- :  
- ֵ  :
+ 功    能:  TracePoint 设置下电destage失败的节点位图
+ 输入参数:  userparam:TP 用户设置值
+            failBitmap:destage失败的节点位图
+ 输出参数:  无
+ 返回值  :
 
-     :
+ 其 他   :
 **************************************************************************/
 void setDestageFailBitmap(char userparam[], uint32_t *failBitmap)
 {
@@ -11886,12 +11886,12 @@
 
 /* DTS2014123003032 modified by x00285278, 2014/12/25 begin */
 /**************************************************************************
-    :	ǿƾʧTP
-:	userparam: עûΪ
-			ret: עʱҪصֵ
-:	
-ֵ  :	
- 	 :	úڵԺͶλ
+功    能:	强制镜像失败TP点
+输入参数:	userparam: 故障注入的用户输入参数，可以为空
+			ret: 故障注入时要返回的值
+输出参数:	无
+返回值  :	无
+其 他	 :	该函数仅用于调试和定位问题
 **************************************************************************/
 void setFroceCacheMirrorFlagFailed(char userparam[], int32_t *ret)
 {
@@ -11902,12 +11902,12 @@
 /* DTS2014123003032 modified by x00285278, 2014/12/25 end */
 
 /**************************************************************************
-     :  µʱtrace pointעڵϵĻص
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  下电流程时trace point故障注入节点故障的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void ssdCacheFaultHook(char userparam[], int32_t *ret)
 {
@@ -11918,12 +11918,12 @@
 
 /* BEGIN: C01 DTS2014091800394 w00268932 2014/9/18 begin */
 /**************************************************************************
-     :  ʱעˢDBʧ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  掉电时注入刷DB失败
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void setDbPowerOffResultFault(char userparam[], int32_t *ret)
 {
@@ -11934,11 +11934,11 @@
 /* END: C01 DTS2014091800394 w00268932 2014/9/18 end */
 /* Added by j00358105 for DTS2015092301348, 2015-10-09 begin */
 /**************************************************************************
-     :  µʱģ״̬Ϊfault
- :  userparam: עûΪ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  下电时模拟控制器状态为fault
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void setNodeStatusFault (char userparam[])
 {
@@ -11956,11 +11956,11 @@
 extern void cofferOperateRpcCallBack(void *rpcContext, int32_t result);
 
 /**************************************************************************
-     :  ָTPĻص
- :
- :  
-   ֵ:
-     :  
+ 功    能:  恢复保险箱TP的回调函数
+ 输入参数:
+ 输出参数:  无
+ 返 回 值:
+ 其    他:  无
 **************************************************************************/
 void recoverCofferHook(char userparam[], void* context)
 {
@@ -11976,12 +11976,12 @@
 
 /* modified by z00248602 for DTS2014051506240, 2014-5-15 begin */
 /**************************************************************************
-     :  ѯڵڴСڽڵڴ治һ³
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  查询节点内存大小，构造引擎内节点内存不一致场景
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void tpSysNodeMemSizeNotMatch(char userparam[], uint64_t *memSize, int *ret)
 {
@@ -11994,12 +11994,12 @@
 }
 
 /**************************************************************************
-     :  ڴ治һµĸ澯
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  构造引擎间内存不一致的告警
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void tpSysEngineMemSizeNotMatch(char userparam[], uint8_t *isNormalCfg)
 {
@@ -12012,12 +12012,12 @@
 
 /* modified by z00248602 for DTS2014062601615 , 2014-6-22 begin */
 /**************************************************************************
-     :  ѯڵڴϢڵڴεĳ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  查询节点内存信息，构造节点内存屏蔽的场景
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void tpSysNodeHasDimmShield(char userparam[], uint64_t *dimmShield)
 {
@@ -12031,12 +12031,12 @@
 
 /* modified by x00281454 for DTS2014072205892 , 2014-7-30 begin */
 /**************************************************************************
-        :  BDMע豸ʧܳ
-    :  userparam: עûΪ
-                ret: עʱҪصֵ
-    :  
-    ֵ  :  
-        :  úڵԺͶλ
+    功    能:  构造BDM注册块设备失败场景
+    输入参数:  userparam: 故障注入的用户输入参数，可以为空
+                ret: 故障注入时要返回的值
+    输出参数:  无
+    返回值  :  无
+    其 他   :  该函数仅用于调试和定位问题
     **************************************************************************/
     void setBdmCallBack(char userparam[], int32_t *ret)
     {
@@ -12049,12 +12049,12 @@
 
 /* modified by w90006775 for DTS2014080701808, 2014-8-20 begin */
 /**************************************************************************
-        :  쿪ǰ˷ʧܵĳ
-    :  userparam: עûΪ
-                ret: עʱҪصֵ
-    :  
-    ֵ  :  
-        :  úڵԺͶλ
+    功    能:  构造开工前端返回失败的场景
+    输入参数:  userparam: 故障注入的用户输入参数，可以为空
+                ret: 故障注入时要返回的值
+    输出参数:  无
+    返回值  :  无
+    其 他   :  该函数仅用于调试和定位问题
     **************************************************************************/
 void setStartFrontResult(char userparam[], int32_t *startFrontresult)
 {
@@ -12068,12 +12068,12 @@
 
 /* modified by z00285203 for DTS2014122905280 2015-01-15 begin */
 /******************************************************************
-      :  ָʧܵĳ
-  :  userparam: עûΪ
-                ret: עʱҪصֵ
-  :  
-  ֵ  :  
-      :  úڵԺͶλ
+  功    能:  构造检查恢复脏数据条件失败的场景
+  输入参数:  userparam: 故障注入的用户输入参数，可以为空
+                ret: 故障注入时要返回的值
+  输出参数:  无
+  返回值  :  无
+  其 他   :  该函数仅用于调试和定位问题
  ******************************************************************/
 void setCheckRecovDirtyCondResult(char userparam[], int32_t *ret)
 {
@@ -12085,12 +12085,12 @@
 }
 
 /******************************************************************
-     :  ָʧܵĳ
- :  userparam: עûΪ
-                ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  构造恢复脏数据失败的场景
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+                ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 ******************************************************************/
 void setRecovDirtyDataResult(char userparam[], int32_t *ret)
 {
@@ -12113,12 +12113,12 @@
 /* modified by z00285203 for DTS2014122905280 2015-01-15 end */
 /* modified by z00248602 for DTS2014062601615 , 2014-6-22 begin */
 /**************************************************************************
-     :  λʱtrace pointעڵϵĻص
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  复位控制器时trace point故障注入节点故障的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void rebootControllerFailHook(char userparam[], int32_t *ret)
 {
@@ -12137,14 +12137,14 @@
 }
 /* DTS2015091402523, modified by l90006215, 2015-10-14, end*/
 
-/* DTSDTS2015073104703 modify by lwx207050 2015-07-31 begin */
+/* DTS：DTS2015073104703 modify by lwx207050 2015-07-31 begin */
 /**************************************************************************
-    :  ϵϵƿSN
-:  userparam: עûΪ
-           ret: עʱҪصֵ
-:  
-ֵ  :  
-    :  úڵԺͶλ
+功    能:  构造上电过程中设置上电控制框SN号
+输入参数:  userparam: 故障注入的用户输入参数，可以为空
+           ret: 故障注入时要返回的值
+输出参数:  无
+返回值  :  无
+其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void setPowerOnFrameSnResult(char userparam[], uint64_t *ret)
 {
@@ -12154,12 +12154,12 @@
    return;
 }
 /**************************************************************************
-    :  ϵAڴС
-:  userparam: עûΪ
-           ret: עʱҪصֵ
-:  
-ֵ  :  
-    :  úڵԺͶλ
+功    能:  构造上电过程中A控内存大小。
+输入参数:  userparam: 故障注入的用户输入参数，可以为空
+           ret: 故障注入时要返回的值
+输出参数:  无
+返回值  :  无
+其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void setPowerOnMemorySize(char userparam[], uint64_t *memsize)
 {
@@ -12169,12 +12169,12 @@
    return;
 }
 /**************************************************************************
-    :  ϵ
-:  userparam: עûΪ
-           ret: עʱҪصֵ
-:  
-ֵ  :  
-    :  úڵԺͶλ
+功    能:  构造上电过程
+输入参数:  userparam: 故障注入的用户输入参数，可以为空
+           ret: 故障注入时要返回的值
+输出参数:  无
+返回值  :  无
+其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void setPowerOnMemorySizeBitmap(char userparam[], uint32_t *Bitmap)
 {
@@ -12184,12 +12184,12 @@
    return;
 }
 /**************************************************************************
-    :  send cls msgӿresponseϢظʧ
-:  userparam: עûΪ
-           ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+功    能:  构造send cls msg接口response消息回复失败
+输入参数:  userparam: 故障注入的用户输入参数，可以为空
+           ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
  **************************************************************************/
 void setClsMsgResponseFailed(char userparam[], uint32_t *retVal)
 {	 
@@ -12197,12 +12197,12 @@
 	return;
 }
 /**************************************************************************
-    :  ϵûо̡
-:  userparam: עûΪ
-           ret: עʱҪصֵ
-:  
-ֵ  :  
-    :  úڵԺͶλ
+功    能:  构造上电过程中没有镜像保险箱盘。
+输入参数:  userparam: 故障注入的用户输入参数，可以为空
+           ret: 故障注入时要返回的值
+输出参数:  无
+返回值  :  无
+其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void setPowerOnMirrorVaultFault(char userparam[], uint32_t *vault)
 {
@@ -12211,16 +12211,16 @@
 
    return;
 }
-/* DTSDTS2015073104703 modify by lwx207050 2015-07-31 end */
+/* DTS：DTS2015073104703 modify by lwx207050 2015-07-31 end */
 
-/* DTS2015040908588 modify by lwx207050 2015-04-07 begin ϵ */
+/* DTS2015040908588 modify by lwx207050 2015-04-07 begin 上电错误码 */
 /**************************************************************************
-        :  ϵֱӷʧܵĳ
-    :  userparam: עûΪ
-                ret: עʱҪصֵ
-    :  
-    ֵ  :  
-        :  úڵԺͶλ
+    功    能:  构造上电过程中流程直接返回失败的场景
+    输入参数:  userparam: 故障注入的用户输入参数，可以为空
+                ret: 故障注入时要返回的值
+    输出参数:  无
+    返回值  :  无
+    其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void setPowerOnResult(char userparam[], int32_t *ret)
 {
@@ -12231,11 +12231,11 @@
 }
 
 /**************************************************************************
-        :  ޸ļ鱾ڵǷǼȺĽ
-    :  
-    :  
-    ֵ  :  
-        :  úڵ
+    功    能:  修改检查本节点是否是集群主的结果
+    输入参数:  
+    输出参数:  
+    返回值  :  
+    其 他   :  该函数仅用于调试
 **************************************************************************/
 void changeCheckGlbMasterResult(char userparam[], uint32_t *ret)
 {
@@ -12245,12 +12245,12 @@
     return;
 }
 /**************************************************************************
-        :  ϵм鱣Ϣʧܵĳ
-    :  userparam: עûΪ
-                ret: עʱҪصֵ
-    :  
-    ֵ  :  
-        :  úڵԺͶλ
+    功    能:  构造上电过程中检查保险箱信息返回失败的场景
+    输入参数:  userparam: 故障注入的用户输入参数，可以为空
+                ret: 故障注入时要返回的值
+    输出参数:  无
+    返回值  :  无
+    其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void setCheckCofferInfoResult(char userparam[], nid_t *ret)
 {
@@ -12259,16 +12259,16 @@
 
    return;
 }
-/* DTS2015040908588 modify by lwx207050 2015-04-07 end ϵ */
+/* DTS2015040908588 modify by lwx207050 2015-04-07 end 上电错误码 */
 
 /* modified by g90006267 for DTS2015082004584, 2015-08-21 begin */
 /**************************************************************************
-        :  ϵ糬ʱʱ䣬λΪ
-    :  userparam: עûΪ
-               timeOut: õϵ糬ʱʱ
-    :  
-    ֵ  :  
-        :  úڵԺͶλ
+    功    能:  设置上电超时时间，单位为分钟
+    输入参数:  userparam: 故障注入的用户输入参数，可以为空
+               timeOut: 设置的上电超时时间
+    输出参数:  无
+    返回值  :  无
+    其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void setPwrOnTimeOut(char userparam[], int32_t *timeOut)
 {
@@ -12280,11 +12280,11 @@
 /* modified by g90006267 for DTS2015082004584, 2015-08-21 end */
 
 /**************************************************************************
-        :  ͬ汾صĸλλͼĹӺ
-    :
-    :  
-    ֵ  :  
-        :  úڵԺͶλ
+    功    能:  设置同步软件版本返回的复位位图的钩子函数
+    输入参数:
+    输出参数:  无
+    返回值  :  无
+    其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void syncVersionRebootHook(char userparam[], uint32_t *rebootBitmap)
 {
@@ -12293,11 +12293,11 @@
 }
 
 /**************************************************************************
-        :  ͬ汾صʧλͼĹӺ
-    :
-    :  
-    ֵ  :  
-        :  úڵԺͶλ
+    功    能:  设置同步软件版本返回的失败位图的钩子函数
+    输入参数:
+    输出参数:  无
+    返回值  :  无
+    其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void syncVersionFailHook(char userparam[], uint32_t *failBitmap)
 {
@@ -12306,12 +12306,12 @@
 }
 
 /**************************************************************************
-     :  TracePoint µʱΪװģʽµ
- :  
- :  
- ֵ  :
+ 功    能:  TracePoint 设置下电时为装备模式下电
+ 输入参数:  
+ 输出参数:  无
+ 返回值  :
 
-     :
+ 其 他   :
 **************************************************************************/
 void setEquipmode(char userparam[], int32_t *isEquipmentMode)
 {
@@ -12319,11 +12319,11 @@
     return;
 }
 /**************************************************************************
-     :  TracePoint µ糬ʱʱ
- :  
- :  
- ֵ  :
-     :
+ 功    能:  TracePoint 设置下电超时时间
+ 输入参数:  
+ 输出参数:  无
+ 返回值  :
+ 其 他   :
 **************************************************************************/
 void setClsPowerOffRunTimeout(char userparam[], uint32_t*timeout)
 {
@@ -12332,11 +12332,11 @@
 }
 
 /**************************************************************************
-    :  BBU粻
-:
-:  
-ֵ  :  
-    :  úڵԺͶλ
+功    能:  设置BBU备电不足
+输入参数:
+输出参数:  无
+返回值  :  无
+其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void setBbuSupplyResult(char userparam[], bool *ret)
 {
@@ -12345,15 +12345,15 @@
     return;
 }
 /**************************************************************************
-     :  עϵͳµtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控制上下电的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerSysPowerOnOffTP(void)
 {
-    /* ϵ */
+    /* 上电 */
     LVOS_TP_REG(POWER_ON_1_47_1, "The commom node reset after send a request of join cluster", NULL);
     LVOS_TP_REG(POWER_ON_1_47_2, "The candidate node reset before send a request of competition", NULL);
     LVOS_TP_REG(POWER_ON_1_47_3, "The Link of between two management nodes was broken", NULL);
@@ -12389,9 +12389,9 @@
     /* modified by g90006267 for DTS2014092202664 , 2014-9-19 begin */
     LVOS_TP_REG(POWER_ON_1_47_27, "Set EAM recover CFG normal bitmap", setEamRecoverCfgNormalBitmap);
     /* modified by g90006267 for DTS2014092202664 , 2014-9-19 end */
-    /* modified by z00285203 ͬC10ⵥ DTS2014120808448 , 2014-12-25 begin */
+    /* modified by z00285203 同步C10问题单 DTS2014120808448 , 2014-12-25 begin */
     LVOS_TP_REG(POWER_ON_1_47_28, "Second power lost pause before flush SSD", NULL);
-    /* modified by z00285203 ͬC10ⵥ DTS2014120808448 , 2014-12-25 end */
+    /* modified by z00285203 同步C10问题单 DTS2014120808448 , 2014-12-25 end */
     LVOS_TP_REG(POWER_ON_1_47_29, "The master reset before notify EMP first start to work", NULL);
     LVOS_TP_REG(POWER_ON_1_47_30, "The master reset after notify EMP first start to work", NULL);
     LVOS_TP_REG(POWER_ON_1_47_31, "The master reset after notify EMP second start to work", NULL);
@@ -12402,27 +12402,27 @@
     LVOS_TP_REG(POWER_ON_1_47_36, "Node reset after sync dirty data", NULL);
     LVOS_TP_REG(POWER_ON_1_47_37, "Emp device in fail", setEmpDeviceInResult);
     LVOS_TP_REG(POWER_ON_1_47_38, "Set upgrade sync FW fail node bitmap", setUpgradeSyncFwFailNode);
-    /* modified by z00285203 ͬC10ⵥ DTS2014120808448 , 2014-12-25 begin */
+    /* modified by z00285203 同步C10问题单 DTS2014120808448 , 2014-12-25 begin */
     LVOS_TP_REG(POWER_ON_1_47_39, "Set node second power lost", setNodeSecondPowerLost);
-    /* modified by z00285203 ͬC10ⵥ DTS2014120808448 , 2014-12-25 end */
+    /* modified by z00285203 同步C10问题单 DTS2014120808448 , 2014-12-25 end */
     LVOS_TP_REG(POWER_ON_1_47_40, "The master reset after notify OM sync system time", NULL);
     LVOS_TP_REG(POWER_ON_1_47_41, "The master reset after notify EMP check PCIE link", NULL);
     LVOS_TP_REG(POWER_ON_1_47_42, "The master reset after vote over send event", NULL);
     LVOS_TP_REG(POWER_ON_1_47_43, "The master reset after vote over begin", NULL);
     LVOS_TP_REG(POWER_ON_1_47_44, "Set check BBU status count", setCheckBbuCount);
     LVOS_TP_REG(POWER_ON_1_47_45, "Close check BBU status", setNotCheckBbuStatus);
-    /* modified by z00285203 ͬC10ⵥ DTS2014120808448, 2014-12-25 begin */
+    /* modified by z00285203 同步C10问题单 DTS2014120808448, 2014-12-25 begin */
     LVOS_TP_REG(POWER_ON_1_47_46, "Second power lost pause after flush SSD", NULL);
-    /* modified by z00285203 ͬC10ⵥ DTS2014120808448, 2014-12-25 end */
+    /* modified by z00285203 同步C10问题单 DTS2014120808448, 2014-12-25 end */
 /* BEGIN: Added by r90006280, 2013/8/20   ID(TV2R2):MULTI_MODELS*/
     LVOS_TP_REG(POWER_ON_1_47_50, "SYS_VAULT: Recover coffer data fail.", recoverCofferHook);
 //    LVOS_TP_REG(POWER_ON_1_47_51, "SYS_VAULT: Recover mem data fail.", recoverMemoryHook);
 
 /* END:   Added by r90006280, 2013/8/20 */
 
-    /*begin z00204113@2013-12-23 칹ϵϢ󣬼Ⱥλ */
+    /*begin z00204113@2013-12-23 异构增加上电加载阵列信息后，集群主复位 */
     LVOS_TP_REG(POWER_ON_1_47_52, "The master reset after sync adm array info.", NULL);
-    /*end z00204113@2013-12-23 칹ϵϢ󣬼Ⱥλ */
+    /*end z00204113@2013-12-23 异构增加上电加载阵列信息后，集群主复位 */
     /* modified by z00248602 for DTS2014051506240, 2014-5-15 begin */
     LVOS_TP_REG(POWER_ON_1_47_53, "Node memsize is not match.", tpSysNodeMemSizeNotMatch);
     LVOS_TP_REG(POWER_ON_1_47_54, "Engine memsize is not match.", tpSysEngineMemSizeNotMatch);
@@ -12459,7 +12459,7 @@
     LVOS_TP_REG(POWER_ON_1_47_65,"recover dirty data failed when cluster power on!",setRecovDirtyDataResult);
     /* modified by z00285203 for DTS2014122905280 2015-01-15 end */
 
-    /* DTS2015040908588 modify by lwx207050 2015-04-07 begin ϵ */
+    /* DTS2015040908588 modify by lwx207050 2015-04-07 begin 上电错误码 */
     LVOS_TP_REG(POWER_ON_1_47_66, "notify emp check PCIe line fail.", setPowerOnResult);
     LVOS_TP_REG(POWER_ON_1_47_67, "check coffer info fail", setCheckCofferInfoResult);
     LVOS_TP_REG(POWER_ON_1_47_68, "get dirty data flag fail.", getDirtyDataFlagResult);
@@ -12471,7 +12471,7 @@
     /* Begin: Add by g00285223 for DTS2015042501592 at 2015-04-28 */
     LVOS_TP_REG(POWER_ON_1_47_74, "vote over sync cls info delay.", NULL);
     /* End: Add by g00285223 for DTS2015042501592 at 2015-04-28 */
-    /* DTS2015040908588 modify by lwx207050 2015-04-07 end ϵ */
+    /* DTS2015040908588 modify by lwx207050 2015-04-07 end 上电错误码 */
     LVOS_TP_REG(POWER_ON_1_47_75, "Set upgrade sync FW reboot node bitmap", setUpgradeSyncFwFailNode);
 
     /* modified by g90006267 DTS2015061208677, 2015-06-15 begin */
@@ -12549,7 +12549,7 @@
 
     LVOS_TP_REG(RECOVER_BUSINESS_1_47_42, "The node reset when start ha service", NULL);
 
-    /* µ */
+    /* 下电 */
     LVOS_TP_REG(POWER_OFF_1_47_1, "The master reset before sync sys status(power off) to other nodes", NULL);
     LVOS_TP_REG(POWER_OFF_1_47_2, "The master reset before notify other nodes to stop front", NULL);
     LVOS_TP_REG(POWER_OFF_1_47_3, "The master power lost before notify other nodes to stop front", NULL);
@@ -12568,10 +12568,10 @@
     /* modified by g90006267 for DTS2014090501004, 2014-9-01 begin */
     LVOS_TP_REG(POWER_OFF_1_47_16, "Set power off destage fail node bitmap", setDestageFailBitmap);
     /* modified by g90006267 for DTS2014090501004, 2014-9-01 end */
-    /* modified by z00285203 ͬC10ⵥ DTS2014120808448, 2014-12-25 begin */
+    /* modified by z00285203 同步C10问题单 DTS2014120808448, 2014-12-25 begin */
     LVOS_TP_REG(POWER_OFF_1_47_17, "A node reset after cache flush SSD", NULL);
     LVOS_TP_REG(POWER_OFF_1_47_18, "A node reset before close link check", NULL);
-    /* modified by z00285203 ͬC10ⵥ DTS2014120808448, 2014-12-25 end */
+    /* modified by z00285203 同步C10问题单 DTS2014120808448, 2014-12-25 end */
 
     LVOS_TP_REG(POWER_OFF_1_47_20, "The master reset before notify OBJ flash cache", NULL);
 
@@ -12611,7 +12611,7 @@
     /*DTS2014070406716 modify by z00230408 2014/7/17 end*/
 
     LVOS_TP_REG(SET_BACKUP_1_47_1, "Set bbu backup supply result", setBbuSupplyResult);
-    /* µͣҵ */
+    /* 下电停业务 */
     LVOS_TP_REG(DOWN_BUSINESS_1_47_1, "The Link of a common node fault before the master notify other nodes to set cluster status to offline", NULL);
     LVOS_TP_REG(DOWN_BUSINESS_1_47_2, "The Link of the master fault before notify other nodes to set cluster status to offline", NULL);
     LVOS_TP_REG(DOWN_BUSINESS_1_47_3, "A common node reset before the master notify other nodes to set cluster status to offline", NULL);
@@ -12628,11 +12628,11 @@
 }
 /* DTS2016063001280 modified by z00227589, 2016-7-25 begin */
 /**************************************************************************
-     :  Isns IPʧTP
- :  userparam --û
- :  *ret --ֵش
- ֵ  :  
-     :  
+ 功    能:  设置Isns IP构造失败TP点
+ 输入参数:  userparam --用户输入参数
+ 输出参数:  *ret --参数值返回错误
+ 返回值  :  无
+ 其 他   :  无
 *************************************************************************/
 void setIsnsServerFailedHook(char userparam[], int32_t *ret)
 {
@@ -12645,11 +12645,11 @@
 }
 /* DTS2016063001280 modified by z00227589, 2016-7-25 end */
 /**************************************************************************
-    :  fs⻧Ϣʧܵĳ
-:  userparam: עûΪ
-:  ret: עʱҪصֵ
-ֵ  :  
-    :  úڵԺͶλ
+功    能:  构造检查fs租户变更参数信息返回失败的场景
+输入参数:  userparam: 故障注入的用户输入参数，可以为空
+输出参数:  ret: 故障注入时要返回的值
+返回值  :  无
+其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void DecodeFsParaFailHook(char userparam[], int32_t *ret)
 {
@@ -12660,11 +12660,11 @@
 }
 
 /**************************************************************************
-    :  fs idǷڵĳ
-:  userparam: עûΪ
-:  ret: עʱҪصֵ
-ֵ  :  
-    :  úڵԺͶλ
+功    能:  构造检查fs id是否存在的场景
+输入参数:  userparam: 故障注入的用户输入参数，可以为空
+输出参数:  ret: 故障注入时要返回的值
+返回值  :  无
+其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void checkFsIdFailHook(char userparam[], int32_t *ret)
 {
@@ -12674,11 +12674,11 @@
 }
 
 /**************************************************************************
-    :  fsڷĳ
-:  userparam: עûΪ
-:  ret: עʱҪصֵ
-ֵ  :  
-    :  úڵԺͶλ
+功    能:  构造检查fs存在防病毒的场景
+输入参数:  userparam: 故障注入的用户输入参数，可以为空
+输出参数:  ret: 故障注入时要返回的值
+返回值  :  无
+其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void checkFsAntivirusFailHook(char userparam[], int32_t *ret)
 {
@@ -12688,11 +12688,11 @@
 }
 
 /**************************************************************************
-    :  fs˫ĳ
-:  userparam: עûΪ
-:  ret: עʱҪصֵ
-ֵ  :  
-    :  úڵԺͶλ
+功    能:  构造检查fs存在双活的场景
+输入参数:  userparam: 故障注入的用户输入参数，可以为空
+输出参数:  ret: 故障注入时要返回的值
+返回值  :  无
+其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void checkFsHypermetroFailHook(char userparam[], int32_t *ret)
 {
@@ -12702,11 +12702,11 @@
 }
 
 /**************************************************************************
-    :  fsڹĳ
-:  userparam: עûΪ
-:  ret: עʱҪصֵ
-ֵ  :  
-    :  úڵԺͶλ
+功    能:  构造检查fs存在共享的场景
+输入参数:  userparam: 故障注入的用户输入参数，可以为空
+输出参数:  ret: 故障注入时要返回的值
+返回值  :  无
+其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void checkFsShareFailHook(char userparam[], int32_t *ret)
 {
@@ -12717,12 +12717,12 @@
 }
 
 /**************************************************************************
-     :  дӦϢʧ
- :  userparam: עûΪ
-            msgObj: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  创建流程中创建响应消息失败
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            msgObj: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void createMsgobjFailedTpFunc(char userparam[], void **msgObj)
 {
@@ -12743,82 +12743,82 @@
 }
 
 /**************************************************************************
-     :  עϵͳùtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控制配置管理的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerSysCfgTP(void)
 {
-    /**************************************************************************/
-    /* ڴLUNĹ,ύDB޸ʱʧܣLUNʧܣϵͳæʾԺ */
+    /*************************************配置流程*************************************/
+    /* 在创建LUN的过程中,提交DB修改时失败，创建LUN失败，返回系统繁忙，提示稍后重试 */
     LVOS_TP_REG(SYS_CONFIG_2_47_1, "Modify DB failed when creating lun", writeDbFailHook);
-    /* ڴLUNĹ,ύDB޸ĳɹ󣬼ȺλLUNɹ¼Ⱥȡ־REDO */
+    /* 在创建LUN的过程中,提交DB修改成功后，集群主发生复位，创建LUN成功，新集群主产生后提取日志REDO */
     LVOS_TP_REG(SYS_CONFIG_2_47_2, "Master reset after modify DB when creating lun", NULL);
-    /* ڴLUNĹ,ҵʧܺ󣬴LUNʧܣò־ᱻɾ */
+    /* 在创建LUN的过程中,对象管理创建业务对象失败后，创建LUN失败，配置操作日志不会被删除 */
     LVOS_TP_REG(SYS_CONFIG_2_47_3, "Obj process failed when creating lun", objCreateLunFailHook);
-    /* ڴLUNĹ,ҵɹɾ־֮ǰȺλREDO־LUNɹ */
+    /* 在创建LUN的过程中,对象管理创建业务对象成功后，删除操作日志之前，集群主复位，新主产生后REDO日志，LUN创建成功 */
     LVOS_TP_REG(SYS_CONFIG_2_47_4, "Master reset after before deleting log when creating lun", NULL);
-    /* TGT ùУɾ־֮ǰȺλREDO־óɹ */
+    /* 在TGT 配置过程中，删除操作日志之前，集群主复位，新主产生REDO日志，配置成功 */
     LVOS_TP_REG(SYS_CONFIG_2_47_5, "Slave reset after renew association buf", NULL);
 
-    /*Ⱥضͨ*/
+    /*集群主到两个备控都不通*/
     LVOS_TP_REG(SYS_SDOG_2_47_1, "Failed to send message to slave nodes.", slaveHtbtFail);
-    /*ڵ㵽ڵ㲻ͨһڵͨλڵ*/
+    /*备节点到主节点不通，但到另外一个备节点通，复位主节点*/
     LVOS_TP_REG(SYS_SDOG_2_47_2, "Slave failed to send message to master, but succeed to send message to other node.", slaveSendHtbt2MasterFail);
-    /*ڵ㵽ڵһڵ㶼ͨλڵ*/
+    /*备节点到主节点和另外一个备节点都不通，复位备节点*/
     LVOS_TP_REG(SYS_SDOG_2_47_3, "Slave failed to send message to master and other node.", slaveSendHtbt2AllFail);
-    /*ڵ㵽ڵͨһڵ㲻ͨ*/
+    /*备节点到主节点通，但到另外一个节点不通，不做处理*/
     LVOS_TP_REG(SYS_SDOG_2_47_4, "Slave sent message to master suceed but failed to send to other node.", slaveSendHtbt2MasterOKBuf2OtherFail);
 
-    /*Ⱥ0AĿ0B/1BͨѶ쳣жȺ0A⣬
-    ϵͳϱعϣҪλ*/
+    /*集群主（0A）与另外两个被检测的控制器（0B/1B）通讯异常，判定集群主（0A）出现软件问题，
+    向系统控制上报本控故障，要求复位本控*/
     LVOS_TP_REG(SYS_SDOG_2_47_5, "Master sent message to 0B and 1B failed.", masterSendHtbt20B1BFail);
 
-    /*Ⱥⵥ0BͨѶ쳣һͨѶ
-    ж0B⣬λϿ*/
+    /*集群主与另外单个控制器（0B）通讯异常，但与另外一个通讯正常，
+    判定单个控制器（0B）出现软件问题，复位故障控制器。*/
     LVOS_TP_REG(SYS_SDOG_2_47_6, "Master sent message to 0B failed but sent to 1B successfully.", masterSendHtbt20BFail1BOK);
 
-    /*ⵥ0BͨѶ쳣ж0B⣬λ0B*/
+    /*与另外单个控制器（0B）通讯异常，判定单个控制器（0B）出现软件问题，复位0B*/
     LVOS_TP_REG(SYS_SDOG_2_47_7, "Master sent message to 0B failed.", masterSendHtbt20BFail);
 
 
-    /*ⵥ1AͨѶ쳣ж1A⣬λ1A*/
+    /*与另外单个控制器（1A）通讯异常，判定单个控制器（1A）出现软件问题，复位1A*/
     LVOS_TP_REG(SYS_SDOG_2_47_8, "Master sent message to 0B failed.", masterSendHtbt21AFail);
 
-	/* TPע룬ڹĹ˯ߣʱ·ڶѯ,֤ѯǷ */
+	/* TP注入，在构造二叉树的过程中睡眠，此时下发第二条查询命令,验证查询命令是否串行 */
     LVOS_TP_REG(SYS_QUERY_1_47_1, "Collect records use long time while batch querying.", NULL);
 
-    /* ɾLUNĹ,ύDB޸ʱʧܣLUNʧܣϵͳæʾԺ */
+    /* 在删除LUN的过程中,提交DB修改时失败，创建LUN失败，返回系统繁忙，提示稍后重试 */
     LVOS_TP_REG(SYS_CONFIG_2_47_9, "Save DB failed when deleting lun", writeDbFailHook);
-    /* ɾLUNĹ,ҵʧܺ󣬴LUNʧܣò־ᱻɾ */
+    /* 在删除LUN的过程中,对象管理创建业务对象失败后，创建LUN失败，配置操作日志不会被删除 */
     LVOS_TP_REG(SYS_CONFIG_2_47_10, "Obj process failed when deleting lun", objDelLunFailHook);
-    /* ɾLUNĹ, Ϊҵ(ps:˫)ռLUN,²ɾDB */
+    /* 在删除LUN的过程中, 因为业务对象(ps:双活)占用LUN,导致不能删除DB */
     LVOS_TP_REG(SYS_CONFIG_2_47_11, "Obj check fail can not commit DB", objDelLunFailBeforeCommit);
 
     LVOS_TP_REG(SYS_CONFIG_2_47_14, "Obj rspRPC with invaid id ", objResRPCwhihInvalidRecId);
 
     /* begin c00271314@2014.4.24 SmartCache*/
 
-    /*smartcacheĹУSystem Controlڼ¼־󣬷ϵͳ*/
+    /*smartcache的关联操作流程中，在System Control在记录日志后，发生系统掉电*/
     LVOS_TP_REG(SYS_CONFIG_1_47_1, "System power lost after saving cfglog for association", tpClsPowerLost);
 
-    /*System ControlDBʱλ*/
+    /*在System Control更新DB时，发生复位*/
     LVOS_TP_REG(SYS_CONFIG_1_47_2, "Master reset when updating DB", NULL);
 
-    /*smartCacheش޸УSystem Controlڼ¼־󣬷ϵͳ*/
+    /*smartCache池创建或修改流程中，System Control在记录了日志后，发生系统掉电*/
     LVOS_TP_REG(SYS_CONFIG_1_47_3, "System power lost after saving cfglog for creating or modification", tpClsPowerLost);
 
-    /*smartCacheɾ, System Controlڼ¼־󣬷ϵͳ*/
+    /*smartCache池删除流程中, System Control在记录了日志后，发生系统掉电*/
     LVOS_TP_REG(SYS_CONFIG_1_47_4, "System power lost after saving cfglog for deleting", tpClsPowerLost);
     /* end c00271314@2014.4.24 SmartCache*/
 
-    /* LUNƳcacheʱס̣ʱ·ɾcacheɾ־ */
+    /* 在LUN移出cache分区时，挂住此流程，此时再下发删除cache分区命令，构造删除配置日志的情况 */
     LVOS_TP_REG(SYS_CONFIG_2_47_11, "Hang obj flow when remove lun from cache ptt.", NULL);
 
     /* added by l90005871 for DTS2014061209397, 2014/06/30 begin */
-    /* LUNƳcacheʱhangLunʱڴʧܣʧ */
+    /* 在LUN移出cache分区时，hangLun时分配内存失败，造成流程失败 */
     LVOS_TP_REG(SYS_CONFIG_2_47_12, "hanglun failed when remove lun from cache ptt.", objRemoveCachePttHangLunFailHook);
     /* added by l90005871 for DTS2014061209397, 2014/06/30 end */
 
@@ -12836,7 +12836,7 @@
     LVOS_TP_REG(SYS_CONFIG_1_47_17, "Fail to encode cfg msg!", returnErrorHook);
 
     /* DTS2015031601343 modified by z00227589 2015-04-08 begin */
-    /* ԶɨʱRPCͬϢʧ */
+    /* 在主机自动扫描时，发送RPC同步信息失败 */
     LVOS_TP_REG(SYS_TGT_1_47_1, "Host scan and create send rpc failed.", scanHostSyncDataRpcFailHook);
     /* DTS2015031601343 modified by z00227589 2015-04-08 end */
     LVOS_TP_REG(SYS_TGT_1_47_2, "Proc tgt obj rsp failed.", returnErrorHook);
@@ -12858,7 +12858,7 @@
      LVOS_TP_REG(SET_ISNS_SERVER_1_47_1, "Set isns server flow.", setIsnsServerFailedHook);
     /* DTS2016063001280 modified by z00227589, 2016-7-25 end */
 
-    /*fs ⻧TP*/
+    /*fs 租户变更流程TP点*/
     LVOS_TP_REG(SYS_CHG_VSTOREID_1_47_1,"Decode para failed.",DecodeFsParaFailHook);
     LVOS_TP_REG(SYS_CHG_VSTOREID_1_47_2,"Check fs id failed.",checkFsIdFailHook);
     LVOS_TP_REG(SYS_CHG_VSTOREID_1_47_3,"Check fs exist antivirus failed.",checkFsAntivirusFailHook);
@@ -12870,7 +12870,7 @@
     LVOS_TP_REG(SYS_CHG_VSTOREID_1_47_9, "System power lost after modify DB  when modifing fs vstore id", tpClsPowerLost);
     LVOS_TP_REG(SYS_CHG_VSTOREID_1_47_10, "Modify fs vstore id pause", NULL);
 
-    /* ѯ⻧Ϣ */
+    /* 查询租户汇总信息 */
     LVOS_TP_REG(SYS_QUERY_VSTORE_SUMMARY_1_47_1, "Query vstore summary info pause", NULL);
 
     LVOS_TP_REG(SYS_CONFIG_CREATE_1_47_1, "Create ack msg fail.", createMsgobjFailedTpFunc);
@@ -12886,11 +12886,11 @@
 
 /* DTS2015031601343 modified by z00227589 2015-04-08 begin */
 /**************************************************************************
-     :  עϵͳùtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控制配置管理的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unregisterSysCfgTP(void)
 {
@@ -12922,7 +12922,7 @@
     LVOS_TP_UNREG(SYS_CHG_VSTOREID_1_47_9);
     LVOS_TP_UNREG(SYS_CHG_VSTOREID_1_47_10);
 
-    /* ѯ⻧Ϣ */
+    /* 查询租户汇总信息 */
     LVOS_TP_UNREG(SYS_QUERY_VSTORE_SUMMARY_1_47_1);
     
     LVOS_TP_UNREG(SYS_CONFIG_CREATE_1_47_1);
@@ -12938,12 +12938,12 @@
 
 /* begin c00271314@2014.4.24 SmartCache*/
 /**************************************************************************
-     :  ȺѡȺͨ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  集群主到两个备选集群主都不通
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void smartCachePartitionAssociateHook(char userparam[], int32_t *ret)
 {
@@ -12955,12 +12955,12 @@
 
 /* DTS2014123003032 modified by x00285278, 2014/12/25 begin */
 /**************************************************************************
-     :  SmartCacheʧTP
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  关联SmartCache分区失败TP点
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void AssociateFsSmartCachePartitionFailed(char userparam[], int32_t *ret)
 {
@@ -12972,15 +12972,15 @@
 /* DTS2014123003032 modified by x00285278, 2014/12/25 end */
 
 /**************************************************************************
-     :  עSmartCacheTRACEPOINT
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册SmartCache的TRACEPOINT
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerSmartCacheTp(void)
 {
-    /*System Control֪ͨlun/FSsmartCacheʱ, · */
+    /*System Control通知lun/FS开启smartCache时, 链路发生故障 */
     LVOS_TP_REG(ADD_SMARTCACHEPARTITION_ASSOCIATE_1_47_1, "Link fault when associating smartcache with LUN or FS", smartCachePartitionAssociateHook);
     /* DTS2014123003032 modified by x00285278, 2014/12/25 begin */
 	LVOS_TP_REG(SMARTCACHEPARTITION_ASSOCIATE_1_47_2, "Associate fs smart cache partition failed.", AssociateFsSmartCachePartitionFailed);
@@ -12989,11 +12989,11 @@
 }
 
 /**************************************************************************
-     :  жsmartCacheԵtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载smartCache特性的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterSmartCacheTP(void)
 {
@@ -13011,12 +13011,12 @@
 
 /* Add by g90006281 for DTS2014091806878 2014/09/18 begin*/
 /**************************************************************************
-     :  ޸Ϣʧ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  保存修复信息失败
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void setFsRepairInfoFailedHook(char userparam[], int32_t *ret)
 {
@@ -13027,12 +13027,12 @@
 }
 
 /**************************************************************************
-     :  ʧ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  禁配失败
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void forbidFsConfigFailedHook(char userparam[], int32_t *ret)
 {
@@ -13043,12 +13043,12 @@
 }
 
 /**************************************************************************
-     :  ǿCacheˢʧ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  强制Cache刷盘失败
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void forceFsRepairCacheDestageFailedHook(char userparam[], int32_t *ret)
 {
@@ -13059,12 +13059,12 @@
 }
 
 /**************************************************************************
-     :  FSʧܣFS״̬ʧ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  上线FS失败，设置FS状态失败
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void fsRepairOnlineFsSetFsStatusFailedHook(char userparam[], int32_t *ret)
 {
@@ -13075,86 +13075,86 @@
 }
 
 /**************************************************************************
-     :  עļϵͳ޸TRACEPOINT
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册文件系统修复的TRACEPOINT
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerFsRrpairTp(void)
 {
-    /* ޸ ޸ֳʧ */
+    /* 进入离线修复 设置修复现场失败 */
     LVOS_TP_REG(LoginOfflineRepairFsEnv_2_244_1, "enter offline repair save FS repair info failed", setFsRepairInfoFailedHook);
 
-    /* ޸ ޸ֳ޸OOPSλ */
+    /* 进入离线修复 设置修复现场后修复控制器OOPS复位 */
     LVOS_TP_REG(LoginOfflineRepairFsEnv_2_244_3, "enter offline repair save FS repair info oops", NULL);
 
-    /* ޸ ϵͳʧ */
+    /* 进入离线修复 系统禁配失败 */
     LVOS_TP_REG(LoginOfflineRepairFsEnv_2_244_4, "enter offline repair forbid config failed", forbidFsConfigFailedHook);
 
-    /* ޸ ϵͳ޸OOPSλ */
+    /* 进入离线修复 系统禁配后修复控制器OOPS复位 */
     LVOS_TP_REG(LoginOfflineRepairFsEnv_2_244_5, "enter offline repair forbid config oops", NULL);
 
-    /* ޸ ǿcacheˢʧ */
+    /* 进入离线修复 强制cache刷盘失败 */
     LVOS_TP_REG(LoginOfflineRepairFsEnv_2_244_6, "enter offline repair force cache destage failed", forceFsRepairCacheDestageFailedHook);
 
-    /* ޸ ǿcacheˢ̺޸OOPSλ */
+    /* 进入离线修复 强制cache刷盘后修复控制器OOPS复位 */
     LVOS_TP_REG(LoginOfflineRepairFsEnv_2_244_7, "enter offline repair force cache destage oops", NULL);
 
-    /* ޸ ļϵͳߺ޸OOPSλ */
+    /* 进入离线修复 文件系统离线后修复控制器OOPS复位 */
     LVOS_TP_REG(LoginOfflineRepairFsEnv_2_244_8, "enter offline repair fs offline oops", NULL);
 
-    /* ޸ POOL״̬󣬵̱γ */
+    /* 进入离线修复 检查完POOL状态后，单盘被拔出 */
     LVOS_TP_REG(LoginOfflineRepairFsEnv_2_244_9, "enter offline repair move one disk after check pool status", NULL);
 
-    /* ˳޸ ϵͳʧ */
+    /* 退出离线修复 系统解禁配失败 */
     LVOS_TP_REG(LogoutOfflineRepairFsEnv_2_244_1, "exit offline repair forbid config failed", forbidFsConfigFailedHook);
 
-    /* ˳޸ ļ޸ֳʧ*/
+    /* 退出离线修复 设置文件修复现场本控失败*/
     LVOS_TP_REG(LogoutOfflineRepairFsEnv_2_244_2, "exit offline save FS repair info failed", setFsRepairInfoFailedHook);
 
-    /* ˳޸ ļ޸ֳ޸OOPSλ */
+    /* 退出离线修复 设置文件修复现场后修复控制器OOPS复位 */
     LVOS_TP_REG(LogoutOfflineRepairFsEnv_2_244_4, "exit offline repair save FS repair info oops", NULL);
 
-    /* ˳޸ ļϵͳʧ */
+    /* 退出离线修复 上线文件系统失败 */
     LVOS_TP_REG(LogoutOfflineRepairFsEnv_2_244_5, "exit offline repair online FS failed", fsRepairOnlineFsSetFsStatusFailedHook);
 
-    /* ޸ ޸ֳʧ*/
+    /* 进入在线修复 设置修复现场失败*/
     LVOS_TP_REG(LoginOnlineRepairFsEnv_2_244_1, "enter online repair save FS repair info failed", setFsRepairInfoFailedHook);
 
-    /* ޸ ޸ֳ޸OOPSλ*/
+    /* 进入在线修复 设置修复现场后修复控制器OOPS复位*/
     LVOS_TP_REG(LoginOnlineRepairFsEnv_2_244_3, "enter online repair save FS repair info oops", NULL);
 
-    /* ޸ ϵͳʧ */
+    /* 进入在线修复 系统禁配失败 */
     LVOS_TP_REG(LoginOnlineRepairFsEnv_2_244_4, "enter online repair forbid config failed", forbidFsConfigFailedHook);
 
-    /* ޸ ϵͳ޸OOPSλ */
+    /* 进入在线修复 系统禁配后修复控制器OOPS复位 */
     LVOS_TP_REG(LoginOnlineRepairFsEnv_2_244_5, "enter online repair forbid config oops", NULL);
 
-    /* ޸ ϵͳ޸OOPSλ */
+    /* 进入在线修复 系统禁配后修复控制器OOPS复位 */
     LVOS_TP_REG(LoginOfflineRepairFsEnv_2_244_5, "enter online repair forbid config oops", NULL);
 
-    /* ޸ ޸ֳǰϵͳ */
+    /* 进入在线修复 设置修复现场前系统掉电 */
     LVOS_TP_REG(LoginOnlineRepairFsEnv_2_244_6, "enter online sys poweroff before save FS repair info", NULL);
 
-    /* ޸ ޸ֳϵͳ */
+    /* 进入在线修复 设置修复现场后系统掉电 */
     LVOS_TP_REG(LoginOnlineRepairFsEnv_2_244_7, "enter online sys poweroff after save FS repair info", NULL);
 
-    /* ˳޸ ļ޸ֳʧ*/
+    /* 退出在线修复 设置文件修复现场失败*/
     LVOS_TP_REG(LogoutOnlineRepairFsEnv_2_244_2, "enter online sys poweroff save FS repair info failed", setFsRepairInfoFailedHook);
 
-    /* ˳޸ ļ޸ֳ޸OOPSλ */
+    /* 退出在线修复 设置文件修复现场后修复控制器OOPS复位 */
     LVOS_TP_REG(LogoutOnlineRepairFsEnv_2_244_4, "enter online save FS repair info oops", NULL);
 
 }
 
 
 /**************************************************************************
-     :  ȡעļϵͳ޸TRACEPOINT
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  取消注册文件系统修复的TRACEPOINT
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterFsRrpairTp(void)
 {
@@ -13202,14 +13202,14 @@
 
 }
 
-/* Add by z00285285 for ļϵͳС 2015/01/4 begin*/
+/* Add by z00285285 for 文件系统最小化加载 2015/01/4 begin*/
 /**************************************************************************
-     :  ļϵͳСصļϵͳעĻ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  文件系统最小化加载调用文件系统函数故障注册的互调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void setFsMiniLoadFailedHook(char userparam[], int32_t *ret)
 {
@@ -13218,12 +13218,12 @@
     return;
 }
 /**************************************************************************
-     :  ļϵͳСصļϵͳעĻ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  文件系统最小化加载调用文件系统函数故障注册的互调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void setFsMiniLoadRpcFailedHook(char userparam[], int32_t *ret)
 {
@@ -13237,11 +13237,11 @@
     return;
 }
 /**************************************************************************
-     :  עļϵͳСصTRACEPOINT
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册文件系统最小化加载的TRACEPOINT
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerFsMiniLoadTp(void)
 {
@@ -13261,11 +13261,11 @@
 }
 
 /**************************************************************************
-     :  ȡļϵͳСصTRACEPOINT
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  取消文件系统最小化加载的TRACEPOINT
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterFsMiniLoadTp(void)
 {
@@ -13277,30 +13277,30 @@
     LVOS_TP_UNREG(FS_MINI_LOAD_2_47_4);
     LVOS_TP_UNREG(FS_MINI_LOAD_2_47_5);
 }
-/* Add by z00285285 for ļϵͳС 2015/01/4 end*/
+/* Add by z00285285 for 文件系统最小化加载 2015/01/4 end*/
 
 /* Add by g90006281 for DTS2014091806878 2014/09/18 begin*/
 
 /*POOL REPAIR BEGIN*/
 /**************************************************************************
-     :  עϵͳƽ˳޸TP
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控制进入退出修复环境的TP
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerSysDiskPoolRepairTP(void)
 {
-    /* ˳޸ʱͣ޸ʱϵͳ̹ס */
+    /* 进入或者退出修复环境时在启停修复服务时系统流程挂住 */
     LVOS_TP_REG(SYS_DISKPOOL_REPAIR_1_47_1, "task delay when start or stop repair service", NULL);
 }
 
 /**************************************************************************
-     :  עϵͳƽ˳޸TP
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控制进入退出修复环境的TP
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterSysDiskPoolRepairTP(void)
 {
@@ -13309,11 +13309,11 @@
 }
 /*POOL REPAIR END*/
 /**************************************************************************
-     :  עϵͳPOOLtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控制切POOL的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerSysSwitchPoolTP(void)
 {
@@ -13327,12 +13327,12 @@
 }
 
 /**************************************************************************
-     :  ѯzoneϢʱĻص
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  查询zone信息时的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void queryZoneInfoHook(char userparam[], int32_t *ret)
 {
@@ -13341,14 +13341,14 @@
     return;
 }
 
-/*ⵥDTS2015013008468 add by w90006015 2015.1.31 begin*/
+/*问题单：DTS2015013008468 add by w90006015 2015.1.31 begin*/
 /**************************************************************************
-     :  Ļص
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  设置驱动的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void setDriverHook(char userparam[], int32_t *ret)
 {
@@ -13356,16 +13356,16 @@
     UNREFERENCE_PARAM(userparam);
     return;
 }
-/*ⵥDTS2015013008468 add by w90006015 2015.1.31 end*/
+/*问题单：DTS2015013008468 add by w90006015 2015.1.31 end*/
 
-/* add by l00276767, DTS2015062508962, ͬⵥDTS2015043007193 2015.6.27 begin */
+/* add by l00276767, DTS2015062508962, 同步问题单：DTS2015043007193 2015.6.27 begin */
 /**************************************************************************
-     :  ѯϵͳlunϢʱĻص
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  查询系统lun信息时的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void querySysLunInfoHook(char userparam[], int32_t *ret)
 {
@@ -13373,16 +13373,16 @@
     UNREFERENCE_PARAM(userparam);
     return;
 }
-/* add by l00276767, DTS2015062508962, ͬⵥDTS2015043007193 2015.6.27 end */
+/* add by l00276767, DTS2015062508962, 同步问题单：DTS2015043007193 2015.6.27 end */
 
-/* add by l00276767, DTS2015062508962, ͬⵥDTS2015043007193 2015.6.27 begin */
+/* add by l00276767, DTS2015062508962, 同步问题单：DTS2015043007193 2015.6.27 begin */
 /**************************************************************************
-     :  ѯϵͳCPU ʵĵĻصӺ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  查询系统CPU 利用率的的回调钩子函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void getCpuUsageHook(char userparam[], int32_t *ret)
 {
@@ -13397,11 +13397,11 @@
 }
 
 /**************************************************************************
-     :  עϵͳԲԵTRACEPOINT,Գ֤
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控制自测试的TRACEPOINT,用来构造测试场景，利于自我验证
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerSysSelfTestTp(void)
 {
@@ -13417,9 +13417,9 @@
     /* modified by g90006267 for DTS2014011602301, 2014-1-16 begin */
     LVOS_TP_REG(CLS_CLEAR_1_47_1, "Node pause before clear memory recovery flag", returnErrorHook);
     /* modified by g90006267 for DTS2014011602301, 2014-1-16 end */
-	/*ⵥDTS2015013008468 add by w90006015 2015.1.31 begin*/
+	/*问题单：DTS2015013008468 add by w90006015 2015.1.31 begin*/
     LVOS_TP_REG(SYS_CFG_DRIVER_SET_1_47_1, "Set driver fail", setDriverHook);
-	/*ⵥDTS2015013008468 add by w90006015 2015.1.31 end*/
+	/*问题单：DTS2015013008468 add by w90006015 2015.1.31 end*/
 
     LVOS_TP_REG(NODE_RECOVER_START_AV_1_47_1, "Start AV triggered by node recover ", objTpReturnValueHook);
     /*Begin: Add by g0285223 for DTS2015061204813 at 2015-06-15*/
@@ -13427,16 +13427,16 @@
     /*End: Add by g0285223 for DTS2015061204813 at 2015-06-15*/
     LVOS_TP_REG(SYS_SQ_EVENT_1_47_2, "Notify event handle deley time.", NULL);
 
-    /* add by l00276767, DTS2015062508962, ͬⵥDTS2015043007193 2015.6.27 begin */
+    /* add by l00276767, DTS2015062508962, 同步问题单：DTS2015043007193 2015.6.27 begin */
     LVOS_TP_REG(SYS_LUN_INFO_1_47_1, "Query sys lun detail info fail", querySysLunInfoHook);
     LVOS_TP_REG(SYS_LUN_INFO_1_47_2, "Query sys lun dd info fail", querySysLunInfoHook);
-    /* add by l00276767, DTS2015062508962, ͬⵥDTS2015043007193 2015.6.27 end */
+    /* add by l00276767, DTS2015062508962, 同步问题单：DTS2015043007193 2015.6.27 end */
     LVOS_TP_REG(SYS_SQ_EVENT_1_47_3, "Send sequence event to specified bitmap.", setSQDestBitmapHook);
 
     LVOS_TP_REG(SYS_ALARM_1_47_1, "Hook cpu usage", getCpuUsageHook);
-    /*DTS2015111401209 Tiermodified by x00291101 2015-11-02 begin*/
+    /*DTS2015111401209 Tier代码检视modified by x00291101 2015-11-02 begin*/
     LVOS_TP_REG(SYS_ZONE_1_47_1, "Query zone status time out", NULL);
-    /*DTS2015111401209 Tiermodified by x00291101 2015-11-02 end*/
+    /*DTS2015111401209 Tier代码检视modified by x00291101 2015-11-02 end*/
 
     /* DTS2016060603376 modified by z00230408 2016/5/31 begin */
     LVOS_TP_REG(SYS_ISCSI_TARGET_1_47_1, "Delete iscsi target cfg log fail", returnErrorHook);
@@ -13450,13 +13450,13 @@
     LVOS_TP_REG(RESET_ENGINE_1_47_2, "Reset engine, local node reset failed", commResultHook);
     return;
 }
-/*ⵥDTS2015013008468 add by w90006015 2015.1.31 begin*/
+/*问题单：DTS2015013008468 add by w90006015 2015.1.31 begin*/
 /**************************************************************************
-     :  жϵͳtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载系统控制设置驱动的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterSysSelfTestT(void)
 {
@@ -13469,13 +13469,13 @@
     LVOS_TP_UNREG(SYS_SQ_EVENT_1_47_2);
     LVOS_TP_UNREG(SYS_SQ_EVENT_1_47_3);
 
-    /* add by l00276767, DTS2015062508962, ͬⵥDTS2015043007193 2015.6.27 begin */
+    /* add by l00276767, DTS2015062508962, 同步问题单：DTS2015043007193 2015.6.27 begin */
     LVOS_TP_UNREG(SYS_LUN_INFO_1_47_1);
     LVOS_TP_UNREG(SYS_LUN_INFO_1_47_2);
-    /* add by l00276767, DTS2015062508962, ͬⵥDTS2015043007193 2015.6.27 end */
-    /*DTS2015111401209 Tiermodified by x00291101 2015-11-02 begin*/
+    /* add by l00276767, DTS2015062508962, 同步问题单：DTS2015043007193 2015.6.27 end */
+    /*DTS2015111401209 Tier代码检视modified by x00291101 2015-11-02 begin*/
     LVOS_TP_UNREG(SYS_ZONE_1_47_1);
-    /*DTS2015111401209 Tiermodified by x00291101 2015-11-02 end*/
+    /*DTS2015111401209 Tier代码检视modified by x00291101 2015-11-02 end*/
     /* DTS2016060603376 modified by z00230408 2016/5/31 begin */
     LVOS_TP_UNREG(SYS_ISCSI_TARGET_1_47_1);
     /* DTS2016060603376 modified by z00230408 2016/5/31 end */
@@ -13483,14 +13483,14 @@
 
     return;
 }
-/*ⵥDTS2015013008468 add by w90006015 2015.1.31 end*/
+/*问题单：DTS2015013008468 add by w90006015 2015.1.31 end*/
 /**************************************************************************
-     :  ߽ڵʱtrace pointע ֪ͨDLMʧ Ļص
- :  userparam: עûΪ
-            result: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  离线节点时trace point故障注入 通知DLM失败 的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            result: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void clsNodeOfflineNotifyDLM(char userparam[], int32_t *result)
 {
@@ -13500,11 +13500,11 @@
 }
 
 /**************************************************************************
-     :  עϵͳƵ trace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控制单控离线 的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerSysNodeOfflineTP(void)
 {
@@ -13519,12 +13519,12 @@
 
 
 /**************************************************************************
-     :  DBдʱtrace pointעǷȵʧܵĻص
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  DB写事务时trace point故障注入非法长度导致失败的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void writeDbInvalidLenHook(char userparam[], int32_t *totLen)
 {
@@ -13534,12 +13534,12 @@
 }
 
 /**************************************************************************
-     :  DBʱtrace pointעڵϵĻص
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  DB流程时trace point故障注入节点故障的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void dbNormalFalseHook(char userparam[], bool *ret)
 {
@@ -13549,12 +13549,12 @@
 }
 /* DTS2015021307974 modified by z00230408 2015-4-28 begin */
 /**************************************************************************
-     :  DBʱtrace pointעڵϵĻص
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  DB流程时trace point故障注入节点故障的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void dbNormalTureHook(char userparam[], bool *ret)
 {
@@ -13565,12 +13565,12 @@
 /* DTS2015021307974 modified by z00230408 2015-4-28 end */
 
 /**************************************************************************
-     :  DBʱtrace pointעڵϵĻص
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  DB流程时trace point故障注入节点故障的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void dbNormalFailHook(char userparam[], int32_t *ret)
 {
@@ -13580,12 +13580,12 @@
 }
 
 /**************************************************************************
-     :  DBʱtrace pointעڵϵĻص
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  DB流程时trace point故障注入节点故障的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void dbNormalSuccessHook(char userparam[], int32_t *ret)
 {
@@ -13596,12 +13596,12 @@
 
 
 /**************************************************************************
-     :  DBʱtrace pointעڵϵĻص
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  DB流程时trace point故障注入节点故障的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void dbEmptyPtrFailHook(char userparam[], void **ptr)
 {
@@ -13611,12 +13611,12 @@
 }
 
 /**************************************************************************
-     :  ȺTP
- :  userparam: עûΪ
-           ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  触发集群掉电的TP函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+           ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void tpClsPowerLost(char userparam[], int *ret)
 {
@@ -13639,12 +13639,12 @@
 }
 
 /**************************************************************************
-     :  DBʱtrace pointעC99C00DBתʧܻص
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  DB流程时trace point故障注入C99到C00的DB转换失败回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void dbConvertC99ToC00FailHook(char userparam[], int32_t *ret)
 {
@@ -13654,12 +13654,12 @@
 }
 
 /**************************************************************************
-     :  DBʱtrace pointעDB logʱĻص
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  DB流程时trace point故障注入清DB log超时的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void dbClearDblogTimeOutHook(char userparam[], int32_t *ret)
 {
@@ -13669,12 +13669,12 @@
 }
 
 /**************************************************************************
-     :  DBʱtrace pointעNULL
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  DB流程时trace point故障注入NULL
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void dbNullFailHook(char userparam[], int32_t **ret)
 {
@@ -13684,12 +13684,12 @@
 }
 
 /**************************************************************************
-     :  DBʱ̿һʱˢ̻ص
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  DB掉电流程时在盘框一体时刷盘回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void dbPowerLostHook(char userparam[], int32_t *ret)
 {
@@ -13700,11 +13700,11 @@
 
 /* modified by m00210531 for DTS2014052100811 2014-05-22 begin */
 /**************************************************************************
-     :  DBд־IOʱ:3
- :  userparam: עûΪ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  DB写日志IO超时:3分钟
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void dbWriteLogIoTimeoutHook(char userparam[])
 {
@@ -13715,12 +13715,12 @@
 /* modified by m00210531 for DTS2014052100811 2014-05-22 end */
 /* DTS2014102203131 modify by z00230408@2014-10-21 begin*/
 /**************************************************************************
-     :  DBڴȽϲ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  DB工作内存比较不相等
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void dbCrcCmpUnequalHook(char userparam[], bool *ret)
 {
@@ -13730,25 +13730,25 @@
 }
 /* DTS2014102203131 modify by z00230408@2014-10-21 end*/
 /**************************************************************************
-     :  עDBģtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册DB模块的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerDbTP(void)
 {
-    /* DBڲ */
+    /* DB内部流程 */
     LVOS_TP_REG(DB_START_1_40_1, "master send message of prepare power on fail(link fault)", dbNormalFailHook);
     LVOS_TP_REG(DB_START_1_40_2, "master reset when send message of prepare power on", NULL);
     LVOS_TP_REG(DB_START_1_40_3, "master send lastest DB fail(link fault)", dbNormalFailHook);
     LVOS_TP_REG(DB_START_1_40_4, "slave reset when receive the master's lastest DB", NULL);
     LVOS_TP_REG(DB_START_1_40_5, "master read lastest db from medium failed", dbNormalFailHook);
     LVOS_TP_REG(DB_START_1_40_6, "logzone return failed when read db log", dbNormalFailHook);
-    /* ⵥ:DTS2014091503490 ,modified by z90002192, 2014-9-19 begin */
+    /* 问题单号:DTS2014091503490 ,modified by z90002192, 2014-9-19 begin */
     LVOS_TP_REG(DB_START_1_40_7, "db not start work,delay time for swap master", NULL);
     LVOS_TP_REG(DB_START_1_40_8, "notify slave node start work finish", dbNormalFailHook);
-    /* ⵥ:DTS2014091503490 ,modified by z90002192, 2014-9-19 end */
+    /* 问题单号:DTS2014091503490 ,modified by z90002192, 2014-9-19 end */
     /* DTS2015021307974 modified by z00230408 2015-4-28 begin */
     LVOS_TP_REG(DB_START_1_40_9, "notify slave node start work finish", dbNormalTureHook);
     LVOS_TP_REG(DB_START_1_40_10, "master send lastest DB fail(link fault)", dbNormalFailHook);
@@ -13819,11 +13819,11 @@
 }
 
 /**************************************************************************
-     :  ȺCKGڵ㷢ϢLunL2 Data Cache abort IOʧ(OOPS)ص
- :  userparam: עûΪ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  集群主向CKG工作控制器节点发送消息设置Lun的L2 Data Cache abort IO失败(控制器OOPS)回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void switchCkgNodeReset(char userparam[])
 {
@@ -13839,7 +13839,7 @@
     getNodesByServiceMode(NODE_SERVICE_MODE_NORMAL, &normalNodeBitmap);
     getAllNodeIdInNodeGroup(groupId, &pairNodeBitmap);
 
-    /* жµĽڵǷ */
+    /* 判断引擎下的节点是否都正常 */
     if (pairNodeBitmap == (normalNodeBitmap & pairNodeBitmap))
     {
         retVal = OS_ResetLocalBoard();
@@ -13850,11 +13850,11 @@
 }
 
 /**************************************************************************
-     :  ڵTP
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  触发节点所在引擎掉电的TP函数
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void tpEnginePowerLost(char userparam[], int *ret)
 {
@@ -13875,12 +13875,12 @@
 
 /* modified by g90006267 for DTS2014031905180, 2014-3-19 begin */
 /**************************************************************************
-     :  RPCȺʧ
- :  userparam: עûΪ
-           ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  自愈发送RPC到集群主失败
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+           ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void tpHealSendRpcToMasterFailed(char userparam[], int *ret)
 {
@@ -13894,12 +13894,12 @@
 
 /* modified by g90006267 for DTS2014052300508, 2014-5-23 begin */
 /**************************************************************************
-     :  XRBȺոڵ㷵صϢʧ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  XRB自愈，集群主接收各节点返回的消息失败
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void tpHbHealMasterRcvRspFailed(char userparam[], int *ret)
 {
@@ -13911,12 +13911,12 @@
 }
 
 /**************************************************************************
-     :  XRBüȺϢضڵ
- :  userparam: עû(ڵλͼ)
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  XRB自愈，设置集群主发消息到特定节点
+ 输入参数:  userparam: 故障注入的用户输入参数(节点位图)
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void tpHbHealSetSendMsgBitmap(char userparam[], uint32_t *ret)
 {
@@ -13928,12 +13928,12 @@
 }
 
 /**************************************************************************
-     :  XRBǷҪXRB
- :  userparam: û(򿪻ر,0ʾرգ1ʾ)
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  XRB自愈，设置是否要进行XRB自愈检查
+ 输入参数:  userparam: 用户输入参数(打开或关闭自愈检查,0表示关闭；1表示打开)
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void tpHbHealSetHealSwitch(char userparam[], bool *ret)
 {
@@ -13945,14 +13945,14 @@
 }
 /* modified by g90006267 for DTS2014052300508, 2014-5-23 end */
 
-/* ͬDTS2014060601805 added by l00221048 for 2014.6.20 begin */
+/* 同步自愈问题DTS2014060601805 added by l00221048 for 2014.6.20 begin */
 /**************************************************************************
-     :  XRBǷҪXRB
- :  userparam: û(򿪻ر,0ʾرգ1ʾ)
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  XRB自愈，设置是否要进行XRB自愈检查
+ 输入参数:  userparam: 用户输入参数(打开或关闭自愈检查,0表示关闭；1表示打开)
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void tpHealSendRpcToMasterTimeOut(char userparam[], bool *ret)
 {
@@ -13962,17 +13962,17 @@
     *ret = (bool)result;
     return;
 }
-/* ͬDTS2014060601805 added by l00221048 for 2014.6.20 end */
+/* 同步自愈问题DTS2014060601805 added by l00221048 for 2014.6.20 end */
 
 
 /* modified by z00248602 for DTS2014042201945, 2014-4-24 begin */
 /**************************************************************************
-     :  ʱͬ޸ڵbay_confgiļʧ
- :  userparam: עûΪ
-           ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  扩柜时同步修改其他节点的bay_confgi文件失败
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+           ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void tpExpandbaySyncCfgFailed(char userparam[], int *ret)
 {
@@ -13983,12 +13983,12 @@
     return;
 }
 /**************************************************************************
-     :  ʱڵдBMC ʧ
- :  userparam: עûΪ
-           ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  扩柜时本节点写BMC 失败
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+           ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void tpExpandWriteBmcFailed(char userparam[], int *ret)
 {
@@ -13999,12 +13999,12 @@
     return;
 }
 /**************************************************************************
-     :  ޸ĴʱضԶ˵Դʧ
- :  userparam: עûΪ
-           ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  修改待扩柜时关对端电源失败
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+           ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void tpExpandbayClosePwrFailed(char userparam[], int *ret)
 {
@@ -14018,12 +14018,12 @@
 
 /* modified by g90006267 for DTS2014053105404, 2014-6-4 begin */
 /**************************************************************************
-    :  TLVṹʧ
-:  userparam: עûΪ
-            ret: עʱҪصֵ
-:  
-ֵ  :  
-    :  úڵԺͶλ
+功    能:  制造解析TLV结构体失败
+输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+输出参数:  无
+返回值  :  无
+其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void tpDecondeTlvMsgFailed(char userparam[], int *ret)
 {
@@ -14035,16 +14035,16 @@
 }
 
 /**************************************************************************
-    :  챾ڵһİ汾
-:  userparam: עûΪ
-            ret: עʱҪصֵ
-:  
-ֵ  :  
-    :  úڵԺͶλ
+功    能:  制造本节点一个特殊的版本号
+输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+输出参数:  无
+返回值  :  无
+其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void tpMakeDiffVersion(char userparam[], int *ret)
 {
-    /* ʼ汾ֵΪһֵ100ڵ汾һ£ */
+    /* 初始化版本值为一个大值100，以制造两个节点版本不一致，测试用 */
     int32_t version = 100;
     UNREFERENCE_PARAM(userparam);
 
@@ -14064,12 +14064,12 @@
 
 /* modified by z00248602 for DTS2014051909443, 2014-6-17 begin */
 /**************************************************************************
-     :  ʱ޸ԭȺڵbay_confgiļʧ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  扩柜时修改原柜集群主节点的bay_confgi文件失败
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void tpModifyMasterBayCfgFailed(char userparam[], int *ret)
 {
@@ -14081,12 +14081,12 @@
 }
 
 /**************************************************************************
-     :  ޸ԭ֪ͨXNETʱʧ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  修改原柜通知XNET握手时失败
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void tpNotifyXnetShakeHandFailed(char userparam[], int32_t *retVal)
 {
@@ -14100,12 +14100,12 @@
 
 /* DTS:DTS2015070912029 modify by lwx207050 2015-07-9 begin */
 /**************************************************************************
-     :  λͼΪ0
- :  userparam: עûΪ
-            bitMap:   ߽ڵλͼ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  在线升级设置离线位图为0
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            bitMap:   离线节点位图
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void tpResponseOnlineForUpgradeFailed(char userparam[], uint32_t *bitMap)
 {
@@ -14117,11 +14117,11 @@
 /* DTS:DTS2015070912029 modify by lwx207050 2015-07-9 end */
 
 /**************************************************************************
-     :  עϵͳ¼trace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控制盘事件的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerSysDiskEventTP(void)
 {
@@ -14131,28 +14131,28 @@
     LVOS_TP_REG(DISK_IN_1_47_4, "Work node reset when handle disk in event", NULL);
     LVOS_TP_REG(DISK_IN_1_47_5, "System power lost when disk in", tpClsPowerLost);
 
-    /* ̰γ */
+    /* 盘拔出 */
     LVOS_TP_REG(DISK_OUT_1_47_1, "Work node fault when disk out", NULL);
     LVOS_TP_REG(DISK_OUT_1_47_2, "Master reset when disk out", NULL);
     LVOS_TP_REG(DISK_OUT_1_47_3, "Master engine power lost when disk out", tpEnginePowerLost);
     LVOS_TP_REG(DISK_OUT_1_47_4, "Work node reset when handle disk out event", NULL);
     LVOS_TP_REG(DISK_OUT_1_47_5, "System power lost when disk out", tpClsPowerLost);
 
-    /* ̹ */
+    /* 盘故障 */
     LVOS_TP_REG(DISK_FAULT_1_47_1, "Work node fault when disk fault", NULL);
     LVOS_TP_REG(DISK_FAULT_1_47_2, "Master reset when disk fault ", NULL);
     LVOS_TP_REG(DISK_FAULT_1_47_3, "Master engine power lost when disk fault", tpEnginePowerLost);
     LVOS_TP_REG(DISK_FAULT_1_47_4, "Work node reset when handle disk fault event", NULL);
     LVOS_TP_REG(DISK_FAULT_1_47_5, "System power lost when disk fault", tpClsPowerLost);
 
-    /* ָ̻ */
+    /* 盘恢复 */
     LVOS_TP_REG(DISK_RECOVERY_1_47_1, "Work node fault when disk recovery", NULL);
     LVOS_TP_REG(DISK_RECOVERY_1_47_2, "Master reset when disk recovery", NULL);
     LVOS_TP_REG(DISK_RECOVERY_1_47_3, "Master engine power lost when disk recovery", tpEnginePowerLost);
     LVOS_TP_REG(DISK_RECOVERY_1_47_4, "Work node reset when handle disk recovery event", NULL);
     LVOS_TP_REG(DISK_RECOVERY_1_47_5, "System power lost when disk recovery", tpClsPowerLost);
 
-    /* ̼ʧЧ */
+    /* 盘即将失效 */
     LVOS_TP_REG(HALF_LIFE_1_47_1, "Work node fault when disk impend fail", NULL);
     LVOS_TP_REG(HALF_LIFE_1_47_2, "Master reset when disk impend fail", NULL);
     LVOS_TP_REG(HALF_LIFE_1_47_3, "Master engine power lost when disk impend fail", tpEnginePowerLost);
@@ -14161,7 +14161,7 @@
     LVOS_TP_REG(HALF_LIFE_1_47_6, "Master engine power lost when precopy complete", tpEnginePowerLost);
     LVOS_TP_REG(HALF_LIFE_1_47_7, "System power lost when precopy complete", tpClsPowerLost);
 
-    /*  */
+    /* 慢盘 */
     LVOS_TP_REG(SLOW_DISK_1_47_1, "Work node fault when disk slow", NULL);
     LVOS_TP_REG(SLOW_DISK_1_47_2, "Master reset when disk slow", NULL);
     LVOS_TP_REG(SLOW_DISK_1_47_3, "Master engine power lost when disk slow", tpEnginePowerLost);
@@ -14171,15 +14171,15 @@
     LVOS_TP_REG(SLOW_DISK_1_47_7, "System power lost when precopy complete", tpClsPowerLost);
 
     /* modified by x00283088 for DTS2014080605171  2014/08/12 begin */
-    /* ѯ */
+    /* 查询盘 */
     LVOS_TP_REG(QUERY_DISK_1_47_0, "Query disk info failed", objCreateLunFailHook);
     LVOS_TP_REG(QUERY_DISK_1_47_1, "Query disk info failed too", objCreateLunFailHook);
     LVOS_TP_REG(QUERY_DISK_1_47_2, "Query disk info failed too", NULL);
     /* modified by x00283088 for DTS2014080605171  2014/08/12 end */
-    /*ⵥ: DTS2015010802699 add by w90006015 2015.1.7 begin*/
+    /*问题单: DTS2015010802699 add by w90006015 2015.1.7 begin*/
     LVOS_TP_REG(QUERY_DISK_1_47_3, "Query disk info failed three", objCreateLunFailHook);
     LVOS_TP_REG(QUERY_DISK_1_47_4, "Query disk info failed four", objCreateLunFailHook);
-    /*ⵥ: DTS2015010802699 add by w90006015 2015.1.7 end*/
+    /*问题单: DTS2015010802699 add by w90006015 2015.1.7 end*/
     LVOS_TP_REG(QUERY_DISK_1_47_5, "Query frame id failed", getFrameIdFailHook);
 
     /*DTS2015012200443, modified by c00271314, 20150122 begin */
@@ -14194,11 +14194,11 @@
 }
 
 /**************************************************************************
-     :  жϵͳ¼trace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载系统控制盘事件的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterSysDiskEventTP(void)
 {
@@ -14246,10 +14246,10 @@
     LVOS_TP_UNREG(QUERY_DISK_1_47_1);
     LVOS_TP_UNREG(QUERY_DISK_1_47_2);
     /* modified by x00283088 for DTS2014080605171  2014/08/12 end */
-    /*ⵥ: DTS2015010802699 add by w90006015 2015.1.7 begin*/
+    /*问题单: DTS2015010802699 add by w90006015 2015.1.7 begin*/
     LVOS_TP_UNREG(QUERY_DISK_1_47_3);
     LVOS_TP_UNREG(QUERY_DISK_1_47_4);
-    /*ⵥ: DTS2015010802699 add by w90006015 2015.1.7 end*/
+    /*问题单: DTS2015010802699 add by w90006015 2015.1.7 end*/
     LVOS_TP_UNREG(QUERY_DISK_1_47_5);
 
     /*DTS2015012200443, modified by c00271314, 20150122 begin */
@@ -14264,53 +14264,53 @@
 }
 
 /**************************************************************************
-     :  ע¼trace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册阵列事件的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerSysArrayEventTP(void)
 {
     LVOS_TP_REG(ARRAY_EVENT_1_47_1, "Master reboot when array in or rename or del", NULL);
-    /*ⵥ: DTS2014100701210 modify by w90006015 2014.10.10 begin*/
+    /*问题单: DTS2014100701210 modify by w90006015 2014.10.10 begin*/
     LVOS_TP_REG(ARRAY_EVENT_1_47_2, "slave pause when cfg obj event", NULL);
-    /*ⵥ: DTS2014100701210 modify by w90006015 2014.10.10 end*/
+    /*问题单: DTS2014100701210 modify by w90006015 2014.10.10 end*/
     return;
 }
 
 /**************************************************************************
-     :  ж¼trace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载阵列事件的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterSysArrayEventTP(void)
 {
     LVOS_TP_UNREG(ARRAY_EVENT_1_47_1);
-    /*ⵥ: DTS2014100701210 modify by w90006015 2014.10.10 begin*/
+    /*问题单: DTS2014100701210 modify by w90006015 2014.10.10 begin*/
     LVOS_TP_UNREG(ARRAY_EVENT_1_47_2);
-    /*ⵥ: DTS2014100701210 modify by w90006015 2014.10.10 end*/
+    /*问题单: DTS2014100701210 modify by w90006015 2014.10.10 end*/
     return;
 }
 
 /**************************************************************************
-     :  עϵͳCKGtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控制切CKG的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerSysSwitchCkgTP(void)
 {
-    /* ȺCKGڵ㷢ϢLunL2 Data Cache abort IOʧ(·) */
+    /* 集群主向CKG工作控制器节点发送消息设置Lun的L2 Data Cache abort IO失败(链路故障) */
     LVOS_TP_REG(SWITCH_CKG_WORK_CTRL_1_47_1, "Master send message to CKG working controoler set LUN L2 Data Cache abort IO(link fault)", NULL);
-    /* ȺCKGڵ㷢ϢLunL2 Data Cache abort IOʧ(OOPS) */
+    /* 集群主向CKG工作控制器节点发送消息设置Lun的L2 Data Cache abort IO失败(控制器OOPS) */
     LVOS_TP_REG(SWITCH_CKG_WORK_CTRL_1_47_2, "Master send message to CKG working controoler set LUN L2 Data Cache abort IO(node oops)", switchCkgNodeReset);
-    /* ȺCKGڵ㷢ϢLunL2 Data Cache abort IOʧ() */
+    /* 集群主向CKG工作控制器节点发送消息设置Lun的L2 Data Cache abort IO失败(控制器掉电) */
     LVOS_TP_REG(SWITCH_CKG_WORK_CTRL_1_47_3, "Master send message to CKG working controoler set LUN L2 Data Cache abort IO(power lost)", NULL);
-    /* ȺCKGڵ㷢ϢLunL2 Data Cache abort IOʱȺOOPS */
+    /* 集群主向CKG工作控制器节点发送消息设置Lun的L2 Data Cache abort IO时集群主OOPS */
     LVOS_TP_REG(SWITCH_CKG_WORK_CTRL_1_47_4, "Master send message to CKG working controoler set LUN L2 Data Cache abort IO(master oops)", NULL);
     /* modified by x00285278 for DTS2014080509076, 2014-8-7 begin */
 	LVOS_TP_REG(SWITCH_CKG_WORK_CTRL_1_47_5, "Switch FS CKG work node", NULL);
@@ -14320,11 +14320,11 @@
 }
 
 /**************************************************************************
-     :  жϵͳCKGtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载系统控制切CKG的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterSysSwitchCkgTP(void)
 {
@@ -14338,25 +14338,25 @@
 }
 
 /**************************************************************************
-     :  עϵͳLUNtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控制切LUN的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerSysSwitchLunTP(void)
 {
-    /* ѯLUNʱȺλ */
+    /* 查询相关LUN时，集群主复位。 */
     LVOS_TP_REG(SWITCH_LUN_1_47_1, "Master reset when switch lun in get hang lun array step", NULL);
-    /* ޸LUNʱ¹λ */
+    /* 修改相关LUN分区时，新工作控制器复位。 */
     LVOS_TP_REG(SWITCH_LUN_1_47_2, "Master reset when switch lun in modify cache partition step", NULL);
-    /* LUNʱ¹ */
+    /* 设置LUN工作控制器时，新工作控制器所在引擎故障 */
     LVOS_TP_REG(SWITCH_LUN_1_47_7, "New controller reset when set the lun controller", NULL);
-    /* ֪ͨڵɾLUNʱ· */
+    /* 通知节点删除不镜像LUN的脏数据时发生链路故障 */
     LVOS_TP_REG(SWITCH_LUN_1_47_8,  "Node link fault when delete no mirror LUN cache dirty data", NULL);
-    /* ֪ͨڵɾLUNʱȺλ */
+    /* 通知节点删除不镜像LUN的脏数据时发生集群主复位 */
     LVOS_TP_REG(SWITCH_LUN_1_47_9,  "Master reset when delete no mirror LUN cache dirty data", NULL);
-    /* ֪ͨڵɾLUNʱڵ㸴λ */
+    /* 通知节点删除不镜像LUN的脏数据时发生节点复位 */
     LVOS_TP_REG(SWITCH_LUN_1_47_10, "Node reset when delete no mirror LUN cache dirty data", NULL);
 
     LVOS_TP_REG(SWITCH_LUN_1_47_11, "Node reset when swith LUN work node", NULL);
@@ -14370,11 +14370,11 @@
 }
 
 /**************************************************************************
-     :  жϵͳLUNtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载系统控制切LUN的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterSysSwitchLunTP(void)
 {
@@ -14392,26 +14392,26 @@
 }
 
 /**************************************************************************
-     :  עϵͳLUN FAULTtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控LUN FAULT的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerLunFaultTP(void)
 {
-    /* ֪ͨDEVLUN LUNϣȺλ */
+    /* 通知DEVLUN LUN故障，集群主复位 */
     LVOS_TP_REG(LUN_FAULT_1_47_1, "Master reset when notify dev lun falut", NULL);
     LVOS_TP_REG(LUN_FAULT_1_47_2, "Master pause when notify dev lun falut", NULL);
     return;
 }
 
 /**************************************************************************
-     :  жϵͳLUN FAULTtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载系统控制LUN FAULT的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisteLunFaultTP(void)
 {
@@ -14419,25 +14419,25 @@
     LVOS_TP_UNREG(LUN_FAULT_1_47_2);
 }
 /**************************************************************************
-     :  עϵͳLUN OFFLINEtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控LUN OFFLINE的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerLunOfflineTP(void)
 {
-    /* ֪ͨDEVLUN LUNߣȺλ */
+    /* 通知DEVLUN LUN离线，集群主复位 */
     LVOS_TP_REG(LUN_OFFLINE_1_47_1, "Master reset when notify dev lun offline", NULL);
 
     return;
 }
 /**************************************************************************
-     :  жϵͳLUN OFFLINEtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载系统控制LUN OFFLINE的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisteLunOfflineTP(void)
 {
@@ -14445,30 +14445,30 @@
 }
 
 /**************************************************************************
-     :  עϵͳشstoragepooltrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控创建storagepool的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerCreateStoragePoolTP(void)
 {
     LVOS_TP_REG(CREATE_STORAGEPOOL_1_47_1, "Master return faild when create storage pool.", objCreateLunFailHook);
 
-    /* ⵥ: DTS2014060600739  userpoolΪɾвLUN w00225702, 2014/06/11, begin */
-    /* ɾuserpoolTP */
+    /* 问题单号: DTS2014060600739  userpool为删除中不允许创建LUN w00225702, 2014/06/11, begin */
+    /* 删除userpool的TP点 */
     LVOS_TP_REG(DELETE_STORAGEPOOL_1_47_1, "Master return faild when delete storage pool.", objCreateLunFailHook);
-    /* ⵥ: DTS2014060600739  userpoolΪɾвLUN w00225702, 2014/06/11, end */
+    /* 问题单号: DTS2014060600739  userpool为删除中不允许创建LUN w00225702, 2014/06/11, end */
     return;
 }
 /* SR-0000186400-002 CR-01889196-OceanStor 18800 V3 V300R003C00 modified by z00230408 2015-9-15 begin */
 /**************************************************************************
-     :  LUNʱtrace pointע LUNʧ Ļص
- :  userparam: עûΪ
-            result: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  创建LUN时trace point故障注入 对象管理创建LUN失败 的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            result: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void diskPoolMemberDiskCheckFailHook(char userparam[], uint32_t *diskNumber)
 {
@@ -14479,12 +14479,12 @@
 /* SR-0000186400-002 CR-01889196-OceanStor 18800 V3 V300R003C00 modified by z00230408 2015-9-15 end */
 /* DTS2016021900643 modified by z00230408 2016/2/23 begin */
 /**************************************************************************
-     :  diskpoolʱtrace pointע Ӳ Ļص
- :  userparam: עûΪ
-            result: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  创建diskpool时trace point故障注入 单引擎最大硬盘数 的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            result: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void diskPoolCheckDiskNumPerPairHook(char userparam[], uint32_t *diskNumber)
 {
@@ -14497,11 +14497,11 @@
 }
 /* DTS2016021900643 modified by z00230408 2016/2/23 end */
 /**************************************************************************
-     :  עϵͳشdiskpooltrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控创建diskpool的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerCreateDiskPoolTP(void)
 {
@@ -14517,13 +14517,13 @@
     LVOS_TP_REG(CREATE_DISKPOOL_1_47_7, "reset when strat diskpool bgr task.", NULL);
     LVOS_TP_REG(CREATE_DISKPOOL_1_47_8, "reset when strat diskpool bgr task service.", NULL);
    /* modified by z00285203 for DTS2015011305976 2015-01-14,end*/
-    /* ͬⵥDTS2014112904116,  modified by z00227589, 2014-12-02 begin */
-    /* diskpoolʱenable־ʱȺ */
+    /* 同步问题单DTS2014112904116,  modified by z00227589, 2014-12-02 begin */
+    /* diskpool扩容时设置enable标志时集群主故障 */
     LVOS_TP_REG(EXPAND_DISKPOOL_1_47_1, "Master reboot when obj set enable.", NULL);
     /* DTS2016051211712 modified by z00230408 2016/5/13 begin */
     LVOS_TP_REG(EXPAND_DISKPOOL_1_47_2, "Get logic pair id from user frame id fail when query max used disk capacity by disk pool .", returnErrorHook);
     /* DTS2016051211712 modified by z00230408 2016/5/13 end */
-    /* ͬⵥDTS2014112904116,  modified by z00227589, 2014-12-02 end */
+    /* 同步问题单DTS2014112904116,  modified by z00227589, 2014-12-02 end */
     /* SR-0000186400-002 CR-01889196-OceanStor 18800 V3 V300R003C00 modified by z00230408 2015-9-15 begin */
     LVOS_TP_REG(CREATE_DISKPOOL_1_47_9, "Set disk member number in pair lager than max memeber num.", diskPoolMemberDiskCheckFailHook);
     /* SR-0000186400-002 CR-01889196-OceanStor 18800 V3 V300R003C00 modified by z00230408 2015-9-15 end */
@@ -14535,11 +14535,11 @@
 
 
 /**************************************************************************
-     :  жϵͳƴdiskpooltrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载系统控制创建diskpool的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisteCreateDiskPoolTP(void)
 {
@@ -14556,9 +14556,9 @@
     LVOS_TP_UNREG(CREATE_DISKPOOL_1_47_7);
     LVOS_TP_UNREG(CREATE_DISKPOOL_1_47_8);
     /* modified by z00285203 for DTS2015011305976,2015-01-14,end*/
-    /* ͬⵥDTS2014112904116,  modified by z00227589, 2014-12-02 begin */
+    /* 同步问题单DTS2014112904116,  modified by z00227589, 2014-12-02 begin */
     LVOS_TP_UNREG(EXPAND_DISKPOOL_1_47_1);
-    /* ͬⵥDTS2014112904116,  modified by z00227589, 2014-12-02 end */
+    /* 同步问题单DTS2014112904116,  modified by z00227589, 2014-12-02 end */
     /* DTS2016051211712 modified by z00230408 2016/5/13 begin */
     LVOS_TP_UNREG(EXPAND_DISKPOOL_1_47_2);
     /* DTS2016051211712 modified by z00230408 2016/5/13 end */
@@ -14572,13 +14572,13 @@
     return;
 }
 
-/* ⵥţDTS2014060304941 modified by z00230408, 2014-6-26 begin */
+/* 问题单号：DTS2014060304941， modified by z00230408, 2014-6-26 begin */
 /**************************************************************************
-     :  עϵͳɾdiskpooltrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控删除diskpool的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerDeleteDiskPoolTP(void)
 {
@@ -14586,27 +14586,27 @@
     return;
 }
 /**************************************************************************
-     :  жϵͳɾdiskpooltrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载系统控制删除diskpool的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterDeleteDiskPoolTP(void)
 {
     LVOS_TP_UNREG(DELETE_DISKPOOL_1_47_1);
     return;
 }
-/* ⵥţDTS2014060304941 modified by z00230408, 2014-6-26 end */
+/* 问题单号：DTS2014060304941， modified by z00230408, 2014-6-26 end */
 
 /* modfied by z00276765 for DTS2014052004861, 2014-5-28 begin*/
 /**************************************************************************
-     :  Userpool ʱ trace pointע   ص
- :  userparam: עûΪ
-            result: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  设置Userpool 已用容量时 trace point故障注入   回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            result: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void objSetUserPoolUsedCapacityFailHook(char userparam[], int32_t *result)
 {
@@ -14616,11 +14616,11 @@
 }
 
 /**************************************************************************
-     :  עϵͳ޸storagepooltrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控修改storagepool的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerModifyStoragePoolTP(void)
 {
@@ -14631,21 +14631,21 @@
     /*DTS2015051908510 modified by x00291101 2015-05-19 begin*/
     LVOS_TP_REG(MODIFY_STORAGEPOOL_1_47_3, "Check thick lun complete allocated in userPool time out.", NULL);
     /*DTS2015051908510 modified by x00291101 2015-05-19 end*/
-    /*DTS2015092804402 Tpx00291101 2015-10-10 begin*/
+    /*DTS2015092804402 新增Tp，x00291101 2015-10-10 begin*/
     LVOS_TP_REG(MODIFY_STORAGEPOOL_1_47_4, "Check tier capacity time out.", NULL);
     LVOS_TP_REG(MODIFY_STORAGEPOOL_1_47_5, "Query diskpool capacity time out.", NULL);
     LVOS_TP_REG(MODIFY_STORAGEPOOL_1_47_6, "Get userpool run time info time out.", NULL);
     LVOS_TP_REG(MODIFY_STORAGEPOOL_1_47_7, "Query normal disk number time out.", NULL);
-    /*DTS2015092804402 Tpx00291101 2015-10-10 end*/
+    /*DTS2015092804402 新增Tp，x00291101 2015-10-10 end*/
     return;
 }
 
 /**************************************************************************
-     :  жϵͳ޸storagepooltrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载系统控制修改storagepool的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterModifyStoragePoolTP(void)
 {
@@ -14656,41 +14656,41 @@
     /*DTS2015051908510 modified by x00291101 2015-05-19 begin*/
     LVOS_TP_UNREG(MODIFY_STORAGEPOOL_1_47_3);
     /*DTS2015051908510 modified by x00291101 2015-05-19 end*/
-    /*DTS2015092804402 Tpx00291101 2015-10-10 begin*/
+    /*DTS2015092804402 新增Tp，x00291101 2015-10-10 begin*/
     LVOS_TP_UNREG(MODIFY_STORAGEPOOL_1_47_4);
     LVOS_TP_UNREG(MODIFY_STORAGEPOOL_1_47_5);
     LVOS_TP_UNREG(MODIFY_STORAGEPOOL_1_47_6);
     LVOS_TP_UNREG(MODIFY_STORAGEPOOL_1_47_7);
-    /*DTS2015092804402 Tpx00291101 2015-10-10 end*/
+    /*DTS2015092804402 新增Tp，x00291101 2015-10-10 end*/
 
     return;
 }
 /* modfied by z00276765 for DTS2014052004861, 2014-5-28 end*/
 
 /**************************************************************************
-     :  жϵͳƴstoragepooltrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载系统控制创建storagepool的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisteCreateStoragePoolTP(void)
 {
     LVOS_TP_UNREG(CREATE_STORAGEPOOL_1_47_1);
-    /* ⵥ: DTS2014060600739  userpoolΪɾвLUN w00225702, 2014/06/11, begin */
+    /* 问题单号: DTS2014060600739  userpool为删除中不允许创建LUN w00225702, 2014/06/11, begin */
     LVOS_TP_UNREG(DELETE_STORAGEPOOL_1_47_1);
-    /* ⵥ: DTS2014060600739  userpoolΪɾвLUN w00225702, 2014/06/11, end */
+    /* 问题单号: DTS2014060600739  userpool为删除中不允许创建LUN w00225702, 2014/06/11, end */
     return;
 }
 
 /* modified by z00227589 for DTS2015031601206, 2015-4-30 begin */
 /**************************************************************************
-     :  TracePoint ڵXRB 
- :  userparam:TP ûֵ
- :  
- ֵ  :
+ 功    能:  TracePoint 节点上设置XRB 心跳处理结果
+ 输入参数:  userparam:TP 用户设置值
+ 输出参数:  无
+ 返回值  :
 
-     : ֻмȺõøýӿ
+ 其 他   : 只有集群主上用调用该接口
 **************************************************************************/
 void setXrbHbResult(char userparam[], int32_t *result)
 {
@@ -14714,11 +14714,11 @@
 
 /* modified by g90006267 for DTS2014031905180, 2014-3-19 begin */
 /**************************************************************************
-     :  עϵͳtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控自愈的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerSysHealTP(void)
 {
@@ -14726,9 +14726,9 @@
     LVOS_TP_REG(SYS_HEAL_1_47_2, "XRB HB master receive rsp failed.", tpHbHealMasterRcvRspFailed);
     LVOS_TP_REG(SYS_HEAL_1_47_3, "XRB HB heal set send msg bitmap.", tpHbHealSetSendMsgBitmap);
     LVOS_TP_REG(SYS_HEAL_1_47_4, "Set XRB HB heal switch.", tpHbHealSetHealSwitch);
-    /* ͬDTS2014060601805 added by l00221048 for 2014.6.20 begin */
+    /* 同步自愈问题DTS2014060601805 added by l00221048 for 2014.6.20 begin */
     LVOS_TP_REG(SYS_HEAL_1_47_5, "Node send rpc to master time out.", tpHealSendRpcToMasterTimeOut);
-    /* ͬDTS2014060601805 added by l00221048 for 2014.6.20 end */
+    /* 同步自愈问题DTS2014060601805 added by l00221048 for 2014.6.20 end */
 
     LVOS_TP_REG(SYS_HEAL_1_47_6, "rpc hang time out heal time.", setRpcTimeOut);
     LVOS_TP_REG(SYS_HEAL_1_47_7, "rpc hang time out alarm time.", setRpcTimeOut);
@@ -14743,11 +14743,11 @@
 }
 
 /**************************************************************************
-     :  жϵͳtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载系统控制自愈的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterSysHealTP(void)
 {
@@ -14755,9 +14755,9 @@
     LVOS_TP_UNREG(SYS_HEAL_1_47_2);
     LVOS_TP_UNREG(SYS_HEAL_1_47_3);
     LVOS_TP_UNREG(SYS_HEAL_1_47_4);
-    /* ͬDTS2014060601805 added by l00221048 for 2014.6.20 begin */
+    /* 同步自愈问题DTS2014060601805 added by l00221048 for 2014.6.20 begin */
     LVOS_TP_UNREG(SYS_HEAL_1_47_5);
-    /* ͬDTS2014060601805 added by l00221048 for 2014.6.20 end */
+    /* 同步自愈问题DTS2014060601805 added by l00221048 for 2014.6.20 end */
      /* modified by z00227589 for DTS2015031601206, 2015-4-30 begin */
     LVOS_TP_UNREG(SYS_XRB_HB_IGNORE_FAIL_1_47_1);
      /* modified by z00227589 for DTS2015031601206, 2015-4-30 end */
@@ -14767,11 +14767,11 @@
 
 /* modified by z00248602 for DTS2014042201945, 2014-4-23 begin */
 /**************************************************************************
-     :  עϵͳtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控制扩柜的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerSysExpandBayTP(void)
 {
@@ -14785,11 +14785,11 @@
 }
 
 /**************************************************************************
-     :  жϵͳtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载系统控制扩柜的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterSysExpandBayTP(void)
 {
@@ -14804,11 +14804,11 @@
 
 /* modified by g90006267 for DTS2014053105404, 2014-6-4 begin */
 /**************************************************************************
-    :  עϵͳTLVصtrace point
-:  
-:  
-ֵ  :  
-    :  
+功    能:  注册系统控制TLV相关的trace point
+输入参数:  无
+输出参数:  无
+返回值  :  无
+其 他   :  无
 **************************************************************************/
 static void registerSysTlvTP(void)
 {
@@ -14820,11 +14820,11 @@
 }
 
 /**************************************************************************
-    :  жTLVصtrace point
-:  
-:  
-ֵ  :  
-    :  
+功    能:  卸载TLV相关的trace point
+输入参数:  无
+输出参数:  无
+返回值  :  无
+其 他   :  无
 **************************************************************************/
 static void unRegisterSysTlvTP(void)
 {
@@ -14837,12 +14837,12 @@
 /* modified by g90006267 for DTS2014053105404, 2014-6-4 end */
 /* vvol features modified by z00230408 2015-9-20 begin */
 /**************************************************************************
-     :  ޸lunusagetype
- :  userparam: עûΪ
-            result: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  修改lun的usagetype
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            result: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void changeLunUsageTypeHook(char userparam[], uint8_t *usageType)
 {
@@ -14850,12 +14850,12 @@
     return;
 }
 /**************************************************************************
-     :  ޸lunsubtype
- :  userparam: עûΪ
-            result: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  修改lun的subtype
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            result: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void changeLunSubTypeHook(char userparam[], uint32_t *subType)
 {
@@ -14864,12 +14864,12 @@
 }
 /* DTS2015110409048 modified by z00230408 2015-11-6 begin */
 /**************************************************************************
-     :  ޸lunʱtrace pointעȡlunʧܵĻص
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  修改lun流程时trace point故障注入获取lun类型失败的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void getLunUsageTypeFailHook(char userparam[], int32_t *ret)
 {
@@ -14879,11 +14879,11 @@
 }
 /* DTS2015110409048 modified by z00230408 2015-11-6 end */
 /**************************************************************************
-     :  עϵͳ޸LUNtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控制修改LUN的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerSysModifyLunTP(void)
 {
@@ -14893,11 +14893,11 @@
     /* DTS2015110409048 modified by z00230408 2015-11-6 end */
 }
 /**************************************************************************
-     :  жϵͳ޸LUNtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载系统控修改LUN的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterSysModifyLunTP(void)
 {
@@ -14909,54 +14909,54 @@
 /* vvol features modified by z00230408 2015-9-20 end */
 /* modified by z00248602 for DTS2014042201945, 2014-4-23 end */
 /**************************************************************************
-     :  עϵͳƴLUNtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控制创建LUN的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerSysCreateLunTP(void)
 {
-    /* ڵ㴴LUNڴУȺλ */
+    /* 各节点创建LUN内存对象过程中，集群主发生复位 */
     LVOS_TP_REG(CREATE_LUN_1_47_1, "Master reset when all nodes create lun object", NULL);
 
-    /* ڵ㴴LUNڴУ· */
+    /* 各节点创建LUN内存对象过程中，链路故障 */
     LVOS_TP_REG(CREATE_LUN_1_47_2, "Link(Eth,PICE)error when all nodes create lun object", NULL);
 
-    /* ڵ㴴LUNڴУ·Ӧʱ */
+    /* 各节点创建LUN内存对象过程中，链路响应超时 */
     //LVOS_TP_REG(CREATE_LUN_1_47_3, "Link response timeout when all nodes create lun object", NULL);
 
-    /* ڵ㴴LUNڴУڵ㸴λ */
+    /* 各节点创建LUN内存对象过程中，节点复位 */
     LVOS_TP_REG(CREATE_LUN_1_47_4, "Node reset when all nodes create lun object", NULL);
 
-    /* ͬLUNϢУȺλ */
+    /* 同步LUN信息过程中，集群主发生复位 */
     LVOS_TP_REG(CREATE_LUN_1_47_5, "Master reset when synchronize lun info", NULL);
 
-    /* ͬLUNϢУ· */
+    /* 同步LUN信息过程中，链路故障 */
     LVOS_TP_REG(CREATE_LUN_1_47_6, "Link(Eth,PICE)error when synchronize lun info", NULL);
 
-    /* ͬLUNϢУ·Ӧʱ */
+    /* 同步LUN信息过程中，链路响应超时 */
     //LVOS_TP_REG(CREATE_LUN_1_47_7, "Link response timeout when synchronize lun info", NULL);
 
-    /* ͬLUNϢУڵ㸴λ */
+    /* 同步LUN信息过程中，节点复位 */
     LVOS_TP_REG(CREATE_LUN_1_47_8, "Node reset when synchronize lun info", NULL);
 
-    /* LUNԪʱڵ㸴λ */
+    /* LUN工作控制器加载元数据时，节点复位 */
     LVOS_TP_REG(CREATE_LUN_1_47_9, "Node reset when load meta-data", NULL);
 
-    /* LUNҵɹʱDBɾLUN־ʧ */
+    /* 创建LUN业务对象成功时，DB删除创建LUN配置日志失败 */
     LVOS_TP_REG(CREATE_LUN_1_47_10, "Deleting log failure when creating lun successfully", objCreateLunFailHook);
 
-    /* Ⱥ򲿷ֽڵ㷢Lun״̬Ϣʧ */
+    /* 集群主向部分节点发送设置Lun状态消息失败 */
     LVOS_TP_REG(CREATE_LUN_1_47_11, "Node reset when master notify node to set lun state", NULL);
 
-    /* Ⱥ򲿷ֽڵ㷢Lun״̬Ϣʧ */
+    /* 集群主向部分节点发送设置Lun状态消息失败 */
     LVOS_TP_REG(CREATE_LUN_1_47_12, "Node return failed when create lun.", objCreateLunFailHook);
 
-    /* begin z00204113@2013.12.11 칹дeDevLUN */
-    /* lun */
+    /* begin z00204113@2013.12.11 异构阵列创建eDevLUN */
+    /* 创建lun超过最大容量 */
     LVOS_TP_REG(CREATE_LUN_1_47_13, "Create LUN capacity over max.", objCreateLunMaxHook);
-    /* end z00204113@2013.12.11 칹дeDevLUN */
+    /* end z00204113@2013.12.11 异构阵列创建eDevLUN */
 
     /* vvol features modified by z00230408 2015-9-20 begin */
     LVOS_TP_REG(CREATE_LUN_1_47_14, "Create LUN change input lun sub type.", changeLunSubTypeHook);
@@ -14967,11 +14967,11 @@
 }
 
 /**************************************************************************
-     :  жϵͳشLUNtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载系统控创建LUN的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterSysCreateLunTP(void)
 {
@@ -14995,39 +14995,39 @@
 }
 
 /**************************************************************************
-     :  עϵͳɾLUNtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控制删除LUN的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerSysDelLunTP(void)
 {
-    /* LUNڵֹͣLUN IOʱȺλ */
+    /* LUN工作控制器节点停止LUN IO时，集群主发生复位 */
     LVOS_TP_REG(DELETE_LUN_1_47_1, "Master reset when stop io", NULL);
 
-    /* LUNڵֹͣLUN IOʱLUNڵ㷢λ */
+    /* LUN工作控制器节点停止LUN IO时，LUN工作控制器节点发生复位 */
     LVOS_TP_REG(DELETE_LUN_1_47_2, "Node reset when stop io", NULL);
 
-    /* LUNڵֹͣLUN IOʱ· */
+    /* LUN工作控制器节点停止LUN IO时，链路发生故障 */
     LVOS_TP_REG(DELETE_LUN_1_47_3, "Link error when stop io", NULL);
 
-    /* LUNڵֹͣLUN IOʱ·ʱ */
+    /* LUN工作控制器节点停止LUN IO时，链路发生超时 */
     //LVOS_TP_REG(DELETE_LUN_1_47_4, "Link response timeout when stop io", NULL);
 
-    /* ڵɾLUNڴʱȺλ */
+    /* 各节点删除LUN内存对象时，集群主发生复位 */
     LVOS_TP_REG(DELETE_LUN_1_47_5, "Master reset when delete lun obj", NULL);
 
-    /* ڵɾLUNڴʱڵ㷢λ */
+    /* 各节点删除LUN内存对象时，节点发生复位 */
     LVOS_TP_REG(DELETE_LUN_1_47_6, "Node reset when delete lun obj", NULL);
 
-    /* ڵɾLUNڴʱ· */
+    /* 各节点删除LUN内存对象时，链路发生故障 */
     LVOS_TP_REG(DELETE_LUN_1_47_7, "Link error when delete lun obj", NULL);
 
-    /* ڵɾLUNڴʱ·ʱ */
+    /* 各节点删除LUN内存对象时，链路发生超时 */
     //LVOS_TP_REG(DELETE_LUN_1_47_8, "Link error when delete lun obj", NULL);
 
-    /* ɾeDevLUNʱˢڴcacheʧ */
+    /* 删除邋eDevLUN时，刷内存cache失败 */
     LVOS_TP_REG(DELETE_LUN_1_47_9, "Destage volume cache failed when delete edev lun ", objDelLunFailHook);
 
     LVOS_TP_REG(DELETE_LUN_1_47_10, "Destage volume cache failed when delete edev lun ", objDelLunFailHook);
@@ -15036,36 +15036,36 @@
 }
 
 /**************************************************************************
-     :  עϵͳLUNϻָtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控制LUN故障恢复的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerLlunRecoveryTP(void)
 {
-    /* CKGCACHEָڶCACHEˢʱȺλ */
+    /* CKG工作控制器上CACHE恢复第二层数据CACHE刷盘时，集群主发生复位 */
     LVOS_TP_REG(LUN_RECOVERY_1_47_1, "Master reset when stripe cache destage", NULL);
 
-    /* LUNԤָLUNʱڵ㷢λ */
+    /* LUN工作控制器预恢复LUN时，节点发生复位 */
     LVOS_TP_REG(LUN_RECOVERY_1_47_2, "Node reset when work node recover lun", NULL);
 
-    /* ڵLUN״̬ʱֽڵóɹһЩڵ·ʧ */
+    /* 节点设置LUN状态时，部分节点设置成功，有一些节点由于链路故障设置失败 */
     LVOS_TP_REG(LUN_RECOVERY_1_47_3, "Link error when node set lun status", NULL);
 
-    /* ڵLUN״̬ʱȺλ */
+    /* 节点设置LUN状态时，集群主发生复位 */
     LVOS_TP_REG(LUN_RECOVERY_1_47_4, "Master reset when node set lun status", NULL);
 
-    /* ڵLUN״̬ʱֽڵóɹһЩڵ·óʱ */
+    /* 节点设置LUN状态时，部分节点设置成功，有一些节点由于链路故障设置超时 */
     LVOS_TP_REG(LUN_RECOVERY_1_47_5, "Master reset when stripe cache destage", NULL);
 	 return;
 }
 /**************************************************************************
-     :  жϵͳlunĹϻָtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载系统控制lun的故障恢复的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterLunRecoveryTP(void)
 {
@@ -15079,11 +15079,11 @@
 }
 
 /**************************************************************************
-     :  жϵͳɾLUNtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载系统控删除LUN的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterSysDelLunTP(void)
 {
@@ -15099,70 +15099,70 @@
 }
 
 /**************************************************************************
-     :  עϵͳLun
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控制Lun扩容
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerSysExpandLunTP(void)
 {
-    /* ֪ͨDEVLUNݣȺλ */
+    /* 通知DEVLUN扩容，集群主复位 */
     LVOS_TP_REG(EXPAND_LUN_1_47_1, "Master reset when notify dev lun to expand lun capacity", NULL);
 
-    /* Ⱥֽ֪ͨڵLunϢʧ */
+    /* 集群主通知部分节点扩容Lun容量消息失败 */
     LVOS_TP_REG(EXPAND_LUN_1_47_2, "Master reset when notify dev lun to expand lun capacity", NULL);
 }
 
 /**************************************************************************
-     :  жϵͳLun
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载系统控制Lun扩容
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unregisterSysExpandLunTP(void)
 {
     LVOS_TP_UNREG(EXPAND_LUN_1_47_1);
     LVOS_TP_UNREG(EXPAND_LUN_1_47_2);
 }
-/* : DNSϢ added by hwx208273  begin*/
+/* 新增特性: DNS配置信息 added by hwx208273  begin*/
 /**************************************************************************
-     :  עϵͳ޸DNS
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控制修改DNS
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerSysModifyDnsTP(void)
 {
-   /*֪ͨڵ޸DNS Ϣʱڵ㸴λ*/
+   /*通知节点修改DNS 信息时，节点复位*/
    LVOS_TP_REG(MODIFY_DNS_1_47_1, "node reset when notify node to write dns info.",NULL);
-   /*Ⱥ֪ͨ޸DNSϢ֮󣬼Ⱥλ*/
+   /*集群主通知修改DNS信息之后，集群主复位*/
    LVOS_TP_REG(MODIFY_DNS_1_47_2, "Master reset when write dns info.",NULL);
 }
 /**************************************************************************
-     :  жϵͳ޸DNS
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载系统控制修改DNS
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unregisterSysModifyDnsTP(void)
 {
     LVOS_TP_UNREG(MODIFY_DNS_1_47_1);
     LVOS_TP_UNREG(MODIFY_DNS_1_47_2);
 }
-/* : DNSϢ added by hwx208273  end*/
+/* 新增特性: DNS配置信息 added by hwx208273  end*/
 
 /* modified by x00285278 for DTS2015053002418, 2015-5-30 begin */
 /**************************************************************************
-        :  촴FSʱȡuserpool״ֵ̬
-    :  userparam: עûΪ
-                ret: עʱҪصֵ
-    :  
-    ֵ  :  
-        :  úڵԺͶλ
+    功    能:  构造创建FS时获取userpool状态返回值
+    输入参数:  userparam: 故障注入的用户输入参数，可以为空
+                ret: 故障注入时要返回的值
+    输出参数:  无
+    返回值  :  无
+    其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void getUserPoolStatusResult(char userparam[], uint32_t *ret)
 {
@@ -15174,12 +15174,12 @@
 
 /* DTS2015102403219,DTS2015102207190 add by l00276767 2015-10-28 begin  */
 /**************************************************************************
-        :  ǿFSʱfs״̬Ϊָ״̬ (ʼ״̬)
-    :  userparam: עûΪ
-                ret: עʱҪصֵ
-    :  
-    ֵ  :  
-        :  úڵԺͶλ
+    功    能:  构造强制扩容FS时，将fs的运行状态设为指定状态 (初始化状态)
+    输入参数:  userparam: 故障注入的用户输入参数，可以为空
+                ret: 故障注入时要返回的值
+    输出参数:  无
+    返回值  :  无
+    其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void setFsRunningStatus(char userparam[], uint32_t *status)
 {
@@ -15188,82 +15188,82 @@
 }
 /* DTS2015102403219,DTS2015102207190 add by l00276767 2015-10-28 end  */
 
-/* ļϵͳ modified by l90006215, 2014/06/14 begin */
+/* 文件系统特性新增 modified by l90006215, 2014/06/14 begin */
 /**************************************************************************
-     :  עļϵͳTP
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册文件系统的TP点
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerSysFsTp(void)
 {
 
-    /*ļϵͳ modified by z00276765, 2014/06/30 begin */
+    /*文件系统特性新增 modified by z00276765, 2014/06/30 begin */
 
-    /*ļϵͳ*/
-    /* ڵ㴴FSڴУȺλ */
+    /*创建文件系统*/
+    /* 各节点创建FS内存对象过程中，集群主发生复位 */
     LVOS_TP_REG(CREATE_FS_1_47_1, "Master reset when all nodes create FS object", NULL);
 
-    /* ڵ㴴FSڴУ· */
+    /* 各节点创建FS内存对象过程中，链路故障 */
     LVOS_TP_REG(CREATE_FS_1_47_2, "Link(Eth,PICE)error when all nodes create FS object", NULL);
 
-    /* ڵ㴴FSڴУڵ㸴λ */
+    /* 各节点创建FS内存对象过程中，节点复位 */
     LVOS_TP_REG(CREATE_FS_1_47_3, "Node reset when all nodes create FS object", NULL);
 
-    /* ͬFSϢУȺλ */
+    /* 同步FS信息过程中，集群主发生复位 */
     LVOS_TP_REG(CREATE_FS_1_47_4, "Master reset when synchronize FS info", NULL);
 
-    /* ͬFSϢУ· */
+    /* 同步FS信息过程中，链路故障 */
     LVOS_TP_REG(CREATE_FS_1_47_5, "Link(Eth,PICE)error when synchronize FS info", NULL);
 
-    /* ͬFSϢУڵ㸴λ */
+    /* 同步FS信息过程中，节点复位 */
     LVOS_TP_REG(CREATE_FS_1_47_6, "Node reset when synchronize FS info", NULL);
 
-     /* FSԪʱڵ㸴λ */
+     /* FS工作控制器加载元数据时，节点复位 */
     LVOS_TP_REG(CREATE_FS_1_47_7, "Node reset when load meta-data", NULL);
 
-    /* Ⱥ򲿷ֽڵ㷢FS״̬Ϣʧ */
+    /* 集群主向部分节点发送设置FS状态消息失败 */
     LVOS_TP_REG(CREATE_FS_1_47_8, "Node reset when master notify node to set FS state", NULL);
 
     /* modified by x00285278 for DTS2015053002418, 2015-5-30 begin */
     LVOS_TP_REG(CREATE_FS_1_47_9, "check userpool status when create fs", getUserPoolStatusResult);
     /* modified by x00285278 for DTS2015053002418, 2015-5-30 end */
 
-    /*ɾļϵͳ*/
-    /* FSڵֹͣFS IOʱȺλ */
+    /*删除文件系统*/
+    /* FS工作控制器节点停止FS IO时，集群主发生复位 */
     LVOS_TP_REG(DELETE_FS_1_47_1, "Master reset when stop io", NULL);
 
-    /* FSڵֹͣFS IOʱFSڵ㷢λ */
+    /* FS工作控制器节点停止FS IO时，FS工作控制器节点发生复位 */
     LVOS_TP_REG(DELETE_FS_1_47_2, "Node reset when stop io", NULL);
 
-    /* FSڵֹͣFS IOʱ· */
+    /* FS工作控制器节点停止FS IO时，链路发生故障 */
     LVOS_TP_REG(DELETE_FS_1_47_3, "Link error when stop io", NULL);
 
-    /* ڵɾFSڴʱȺλ */
+    /* 各节点删除FS内存对象时，集群主发生复位 */
     LVOS_TP_REG(DELETE_FS_1_47_4, "Master reset when delete FS obj", NULL);
 
-    /* ڵɾFSڴʱڵ㷢λ */
+    /* 各节点删除FS内存对象时，节点发生复位 */
     LVOS_TP_REG(DELETE_FS_1_47_5, "Node reset when delete FS obj", NULL);
 
-    /* ڵɾFSڴʱ· */
+    /* 各节点删除FS内存对象时，链路发生故障 */
     LVOS_TP_REG(DELETE_FS_1_47_6, "Link error when delete FS obj", NULL);
 
-    /* ɾFSʱˢڴcacheʧ */
+    /* 删除FS时，刷内存cache失败 */
     LVOS_TP_REG(DELETE_FS_1_47_7, "Destage volume cache failed when delete edev FS ", objDelFSFailHook);
 
     /* modified by x00281454 for DTS2014093008540 , 2014-9-30 begin */
-    /*ļϵͳ״̬*/
+    /*检查文件系统状态*/
     LVOS_TP_REG(DELETE_FS_1_47_8, "Check FS status",checkFSStatusHook);
     /* modified by x00281454 for DTS2014093008540 , 2014-9-30 end */
 
     LVOS_TP_REG(DELETE_FS_1_47_9, "send RPC fail when notify AV to delete  FS ", NULL);
 
-    /*ļϵͳ modified by z00276765, 2014/06/30 end */
+    /*文件系统特性新增 modified by z00276765, 2014/06/30 end */
 
 
-    /*лļϵͳTP*/
-    /* лFS̨ͣĵʱڵ㸴λ */
+    /*切换文件系统的邋TP点*/
+    /* 切换FS停后台任务的的时，节点复位 */
     LVOS_TP_REG(SWITCH_FS_1_47_1, "master node reset when switch FS work controller.",NULL);
     LVOS_TP_REG(SWITCH_FS_1_47_2, "Master reset when switch fs in get hang FS array step.",NULL);
     LVOS_TP_REG(SWITCH_FS_1_47_3, "New controller reset when set the FS controller", NULL);
@@ -15275,13 +15275,13 @@
 
     LVOS_TP_REG(SWITCH_FS_1_47_6, "Send RPC fail when notify AV to switch work controller", NULL);
 
-    /*ļϵͳFAULT tp*/
+    /*文件系统的FAULT tp点*/
     LVOS_TP_REG(FS_FAULT_1_47_1, "Master reset when notify fs falut", NULL);
 
-    /*ļϵͳoffline tp*/
+    /*文件系统offline tp点*/
     LVOS_TP_REG(FS_OFFLINE_1_47_1, "Master reset when notify dev lun offline", NULL);
 
-    /* ޸ļϵͳTP */
+    /* 修改文件系统的TP点 */
     LVOS_TP_REG(MODIFY_FS_1_47_1, "Fs work node reset when nodify fs", NULL);
     LVOS_TP_REG(MODIFY_FS_1_47_2, "Check userpool status when modify fs", getUserPoolStatusResult);
 
@@ -15292,16 +15292,16 @@
 }
 
 /**************************************************************************
-     :  жϵͳ޸DNS
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载系统控制修改DNS
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unregisterSysFsTp(void)
 {
-    /*ļϵͳ modified by z00276765, 2014/06/30 begin */
-    /*ļϵͳ*/
+    /*文件系统特性新增 modified by z00276765, 2014/06/30 begin */
+    /*创建文件系统*/
     LVOS_TP_UNREG(CREATE_LUN_1_47_1);
     LVOS_TP_UNREG(CREATE_LUN_1_47_2);
     LVOS_TP_UNREG(CREATE_LUN_1_47_3);
@@ -15315,7 +15315,7 @@
     LVOS_TP_UNREG(CREATE_FS_1_47_9);
     /* modified by x00285278 for DTS2015053002418, 2015-5-30 end */
 
-    /*ɾļϵͳ*/
+    /*删除文件系统*/
     LVOS_TP_UNREG(DELETE_FS_1_47_1);
     LVOS_TP_UNREG(DELETE_FS_1_47_2);
     LVOS_TP_UNREG(DELETE_FS_1_47_3);
@@ -15327,7 +15327,7 @@
     LVOS_TP_UNREG(DELETE_FS_1_47_8);
     /* modified by x00281454 for DTS2014093008540 , 2014-9-30 end */
     LVOS_TP_UNREG(DELETE_FS_1_47_9);
-    /*ļϵͳ modified by z00276765, 2014/06/30 end */
+    /*文件系统特性新增 modified by z00276765, 2014/06/30 end */
 
     LVOS_TP_UNREG(SWITCH_FS_1_47_1);
     LVOS_TP_UNREG(SWITCH_FS_1_47_2);
@@ -15344,15 +15344,15 @@
     LVOS_TP_UNREG(MODIFY_FS_1_47_1);
     LVOS_TP_UNREG(MODIFY_FS_1_47_2);
 }
-/* ļϵͳ modified by l90006215, 2014/06/14 end */
+/* 文件系统特性新增 modified by l90006215, 2014/06/14 end */
 
 /**************************************************************************
-     :  ϵͳC99C00ʱtrace pointע뿪ʧܻص
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  系统控制C99升级到C00开工时trace point故障注入开工失败回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void tpC99UpgradeC00PowerOnFailHook(char userparam[], int32_t *ret)
 {
@@ -15362,12 +15362,12 @@
 }
 
 /**************************************************************************
-     :  ʱtrace pointע뺯
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  升级流程时trace point故障注入函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void tpUpgradec99ReoverPoolFailHook(char userparam[], int32_t *ret)
 {
@@ -15377,12 +15377,12 @@
 }
 
 /**************************************************************************
-     :  ʱtrace pointע뺯
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  升级流程时trace point故障注入函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void tpUpgradec99FlushDiskFailHook(char userparam[], int32_t *ret)
 {
@@ -15392,44 +15392,44 @@
 }
 
 /**************************************************************************
-     :  עϵͳC99C00ʧܵTRACEPOINT,Գ
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控制C99升级到C00开工失败的TRACEPOINT,用来构造测试场景
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerSysC99UpgradeC00TP(void)
 {
     LVOS_TP_REG(UPGRADE_POWERON_1_47_1, "System power on fail when upgrading from C99 to C00", tpC99UpgradeC00PowerOnFailHook);
 
-    /* ֪ͨc99͸дĲ */
+    /* 通知c99透写的步骤 */
     LVOS_TP_REG(UPGRADE_POWERON_1_47_2,  "Step at notify c99 through write", NULL);
 
-    /* c99ˢʧ */
+    /* c99刷盘失败 */
     LVOS_TP_REG(UPGRADE_POWERON_1_47_3,  "C99 failed to flush disk", tpUpgradec99FlushDiskFailHook);
 
-    /* ֪ͨC99ͣҵĲ */
+    /* 通知C99停业务的步骤 */
     LVOS_TP_REG(UPGRADE_POWERON_1_47_4,  "Step at notify c99 stop servcie", NULL);
 
-    /* ֪ͨC99Ĳ */
+    /* 通知C99重启的步骤 */
     LVOS_TP_REG(UPGRADE_POWERON_1_47_5,  "Step at notify c99 reset", NULL);
 
-    /* ֪ͨC99ԺĲ */
+    /* 通知C99重启以后的步骤 */
     LVOS_TP_REG(UPGRADE_POWERON_1_47_6,  "Step after notify c99 reset", NULL);
 
-    /* C00ָpoolʧ */
+    /* C00恢复pool失败 */
     LVOS_TP_REG(UPGRADE_POWERON_1_47_7,  "C00 recover pool failed", tpUpgradec99ReoverPoolFailHook);
 
-    /* C00ҵĲ */
+    /* C00解悬挂的步骤 */
     LVOS_TP_REG(UPGRADE_POWERON_1_47_8,  "Step at c00 unhang lun", NULL);
 }
 
 /**************************************************************************
-     :  жϵͳC99C00ʧܵTP
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载系统控制C99升级到C00开工失败的TP
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unregisterSysC99UpgradeC00TP(void)
 {
@@ -15444,46 +15444,46 @@
 }
 
 /**************************************************************************
-     :  עڵ߻ָϵTP
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册节点离线恢复上电TP
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerPeerOfflineRecoverPowerOnTP(void)
 {
 
-    /* Ⱥûָϵڵ״̬ΪNormalͬϢнڵʱȺָϵڵ·жϡ*/
+    /* 集群主设置恢复上电节点状态为Normal，并同步信息到所有节点时，集群主与恢复上电节点链路中断。*/
     LVOS_TP_REG(PEER_OFFLINE_RECOVER_POWER_ON_1_47_4,
         "Link between master and  node break when master set the poweron node status is normal and synchronize info to node.", NULL);
 
-    /* Ⱥûָϵڵ״̬ΪNormalͬϢнڵʱȺλ*/
+    /* 集群主设置恢复上电节点状态为Normal，并同步信息到所有节点时，集群主复位。*/
     LVOS_TP_REG(PEER_OFFLINE_RECOVER_POWER_ON_1_47_5,
         "Master reset when master set the power on node status is normal and synchronize info to node.", NULL);
 
-    /* Ⱥûָϵڵ״̬ΪNormalͬϢнڵǰһͨڵ㸴λ*/
+    /* 集群主设置恢复上电节点状态为Normal，并同步信息到所有节点前，一个普通节点复位。*/
     LVOS_TP_REG(PEER_OFFLINE_RECOVER_POWER_ON_1_47_6,
         "Node reset when master set the power on node status is normal and befor synchronize info to node.", NULL);
 
-    /* Ⱥָϵڵ㸴λڴʱȺ硣*/
+    /* 集群主重设恢复上电节点复位保内存标记时，集群主掉电。*/
     LVOS_TP_REG(PEER_OFFLINE_RECOVER_POWER_ON_1_47_7,
         "Master power lost when master reset the power on node recover memory flag.", NULL);
 
-    /* Ⱥָϵڵ㸴λڴʱȺλ*/
+    /* 集群主重设恢复上电节点复位保内存标记时，集群主复位。*/
     LVOS_TP_REG(PEER_OFFLINE_RECOVER_POWER_ON_1_47_8,
         "Master reset when master reset the power on node recover memory flag.", NULL);
 
-    /* Ⱥָ֪ͨϵڵ踴λڴʱϢʱ*/
+    /* 集群主通知恢复上电节点重设复位保内存标记时，消息超时。*/
     LVOS_TP_REG(PEER_OFFLINE_RECOVER_POWER_ON_1_47_9,
         "Master notify power on node reset recover memory flag time out.", NULL);
 }
 
 /**************************************************************************
-     :  жؽڵ߻ָϵTP
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载节点离线恢复上电TP
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unregisterPeerOfflineRecoverPowerOnTP(void)
 {
@@ -15499,12 +15499,12 @@
 }
 
 /**************************************************************************
-     :  CacheLUNʱRPCϢʱtrace pointעص
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  Cache分区中添加LUN时，发送RPC消息时trace point故障注入回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void cachePttFailHook(char userparam[], int32_t *ret)
 {
@@ -15512,14 +15512,14 @@
     UNREFERENCE_PARAM(userparam);
     return;
 }
-/*ӺƳļϵͳCache modify by z00230408 2014/8/13 begin*/
+/*添加和移除文件系统到Cache分区 modify by z00230408 2014/8/13 begin*/
 /**************************************************************************
-     :  CacheƳFSʱtrace pointע ʹHangfsʧ
- :  userparam: עûΪ
-            fsIdArray: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  从Cache分区移除FS时trace point故障注入 使Hangfs失败
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            fsIdArray: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void objAssociateCachePttHangFsFailHook(char userparam[], lunid_t **fsIdArray)
 {
@@ -15527,15 +15527,15 @@
     UNREFERENCE_PARAM(userparam);
     return;
 }
-/*ӺƳļϵͳCache modify by z00230408 2014/8/13 end*/
-/* DTS2014091808623 cache modify by z00230408 2014-9-18 begin*/
+/*添加和移除文件系统到Cache分区 modify by z00230408 2014/8/13 end*/
+/* DTS2014091808623 cache分区遗留问题 modify by z00230408 2014-9-18 begin*/
 /**************************************************************************
-     :  CacheƳFSʱtrace pointע ʹFsܷ
- :  userparam: עûΪ
-            fsIdArray: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  从Cache分区移除FS时trace point故障注入 使检查Fs能否配置
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            fsIdArray: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void objAssociateCachePttCheckCapaFalseHook(char userparam[], bool *canConfig)
 {
@@ -15544,16 +15544,16 @@
     return;
 
 }
-/* DTS2014091808623 cache modify by z00230408 2014-9-18 end*/
+/* DTS2014091808623 cache分区遗留问题 modify by z00230408 2014-9-18 end*/
 
 /* modified by w00225702 for DTS2015051107957, 2015-5-15 begin */
 /**************************************************************************
-     :  ޸ķxnetϢķֵ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  修改发送xnet消息的返回值
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void ioClassRpcFailHook(char userparam[], int32_t *ret)
 {
@@ -15564,46 +15564,46 @@
 /* modified by w00225702 for DTS2015051107957, 2015-5-15 end */
 
 /**************************************************************************
-     :  עCacheTP
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册调试Cache分区的TP
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerCachePttTP(void)
 {
-    /* CacheLUNʱRPCϢʧ */
+    /* Cache分区中添加LUN时，发送RPC消息失败 */
     LVOS_TP_REG(CACHE_PTT_ADD_LUN_SEND_RPC_FAILED_1_47_1, "Send RPC failed when add LUN to cache partition.", cachePttFailHook);
-    /*ӺƳļϵͳCache modify by z00230408 2014/8/13 begin*/
+    /*添加和移除文件系统到Cache分区 modify by z00230408 2014/8/13 begin*/
     LVOS_TP_REG(CACHE_PTT_ASSOCIATE_FS_HANG_FS_FAILED_1_47_1, "Hang fs  failed when add FS to cache partition.", objAssociateCachePttHangFsFailHook);
-    /*ӺƳļϵͳCache modify by z00230408 2014/8/13 end*/
-    /* DTS2014091808623 cache modify by z00230408 2014-9-18 begin*/
+    /*添加和移除文件系统到Cache分区 modify by z00230408 2014/8/13 end*/
+    /* DTS2014091808623 cache分区遗留问题 modify by z00230408 2014-9-18 begin*/
     LVOS_TP_REG(CACHE_PTT_ASSOCIATE_CAPA_NODE_CHECK_FAILED_1_47_1, "Npde check fail when add obj to cache partition.", objAssociateCachePttCheckCapaFalseHook);
-    /* DTS2014091808623 cache modify by z00230408 2014-9-18 end*/
+    /* DTS2014091808623 cache分区遗留问题 modify by z00230408 2014-9-18 end*/
     /* SR-0000464069, modified by c00271314, 20141227 begin */
     LVOS_TP_REG(CACHE_PTT_ADD_FS_SEND_RPC_FAILED_1_47_1, "Send RPC failed when add FS to cache partition.", cachePttFailHook);
     /* SR-0000464069, modified by c00271314, 20141227 end */
 
-    /* ioclassTP */
+    /* ioclassTP点 */
     LVOS_TP_REG(SYS_IOCLASS_1_47_1, "Send RPC failed when do ioclass conf.", ioClassRpcFailHook);
 }
 
 /**************************************************************************
-     :  жصCacheTP
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载调试Cache分区的TP
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unregisterCachePttTP(void)
 {
     LVOS_TP_UNREG(CACHE_PTT_ADD_LUN_SEND_RPC_FAILED_1_47_1);
-    /*ӺƳļϵͳCache modify by z00230408 2014/8/13 begin*/
+    /*添加和移除文件系统到Cache分区 modify by z00230408 2014/8/13 begin*/
     LVOS_TP_UNREG(CACHE_PTT_ASSOCIATE_FS_HANG_FS_FAILED_1_47_1);
-    /*ӺƳļϵͳCache modify by z00230408 2014/8/13 end*/
-    /* DTS2014091808623 cache modify by z00230408 2014-9-18 begin*/
+    /*添加和移除文件系统到Cache分区 modify by z00230408 2014/8/13 end*/
+    /* DTS2014091808623 cache分区遗留问题 modify by z00230408 2014-9-18 begin*/
     LVOS_TP_UNREG(CACHE_PTT_ASSOCIATE_CAPA_NODE_CHECK_FAILED_1_47_1);
-    /* DTS2014091808623 cache modify by z00230408 2014-9-18 end*/
+    /* DTS2014091808623 cache分区遗留问题 modify by z00230408 2014-9-18 end*/
         /* SR-0000464069, modified by c00271314, 20141227 begin */
     LVOS_TP_UNREG(CACHE_PTT_ADD_FS_SEND_RPC_FAILED_1_47_1);
     /* SR-0000464069, modified by c00271314, 20141227 end */
@@ -15612,12 +15612,12 @@
 
 /* modified by z90002192 for DTS2015090901851, 2015-09-17 begin */
 /**************************************************************************
-     :  ߽ڵ̴ʧ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  离线节点流程处理返回失败
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void objNodeOfflineFailHook(char userparam[], int32_t *ret)
 {
@@ -15628,46 +15628,46 @@
 /* modified by z90002192 for DTS2015090901851, 2015-09-17 end */
 
 /**************************************************************************
-     :  עڵߵTP
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册节点离线的TP
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerNodeOfflineTp(void)
 {
-    /* Ⱥ֪ͨ߿DST¼ʱ߿λ */
+    /* 集群主通知离线控制器DST离线事件时，离线控制器复位 */
     LVOS_TP_REG(OFFLINE_NODE_1_47_1,
                 "Master notify dst offline event of offline node and the offline"
                 " node reset.", NULL);
 
-    /* Ⱥ֪ͨ߿ϵDST¼ʱȺλ */
+    /* 集群主通知离线控制器上的DST离线事件时，集群主复位 */
     LVOS_TP_REG(OFFLINE_NODE_1_47_2,
                 "Master notify dst offline event of offline node and master reset.", NULL);
 
-    /* Ⱥ֪ͨ߿ϵDST¼ʱ߿· */
+    /* 集群主通知离线控制器上的DST离线事件时，离线控制器链路发生故障 */
     LVOS_TP_REG(OFFLINE_NODE_1_47_3,
                 "Master notify dst offline event of offline node and the link of"
                 " the offline node is error", NULL);
 
-    /* Ⱥ֪ͨ߿DST¼ʱ߿·ʱ */
+    /* 集群主通知离线控制器DST离线事件时，离线控制器链路发生超时 */
     LVOS_TP_REG(OFFLINE_NODE_1_47_4,
                 "Master notify dst offline event of offline node and the link of"
                 " the offline node is overtime", NULL);
 
-    /* ȺлPOOLʱ߿λ */
+    /* 集群主批量切换POOL时，离线控制器复位 */
     LVOS_TP_REG(OFFLINE_NODE_1_47_5,
                 "Master batch switch pool and the offline node reset.", NULL);
 
-    /* ȺлLUNʱ߿ĶԶ˿λ */
+    /* 集群主批量切换LUN时，离线控制器的对端控制器复位 */
     LVOS_TP_REG(OFFLINE_NODE_1_47_6,
                 "Master batch switch lun and the other side of the offline node reset.", NULL);
 
-    /* Ⱥֹͣ߿˿ʱ߿λ */
+    /* 集群主停止离线控制器端口时，离线控制器复位 */
     LVOS_TP_REG(OFFLINE_NODE_1_47_7,
                 "Master stop the port of the offline node and the offline node reset.", NULL);
 
-    /* Ⱥ־ʱ߿ĶԶ˿λ */
+    /* 集群主设置引擎日志区工作控制器时，离线控制器的对端控制器复位 */
     LVOS_TP_REG(OFFLINE_NODE_1_47_8,
                 "Master set the engine log zone of work node while the other side"
                 " of the offline node reset.", NULL);
@@ -15683,11 +15683,11 @@
 }
 
 /**************************************************************************
-     :  жؽڵߵTP
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载节点离线的TP
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unregisterNodeOfflineTp(void)
 {
@@ -15709,12 +15709,12 @@
 }
 
 /**************************************************************************
-     :  CacheLUNʱRPCϢʱtrace pointעص
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  Cache分区中添加LUN时，发送RPC消息时trace point故障注入回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void returnErrorHook(char userparam[], int32_t *ret)
 {
@@ -15725,15 +15725,15 @@
 
 /* modified by w90006775 for DTS2014021002236, 2014-2-10 begin */
 /**************************************************************************
-     :  ע¼TP
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册调试盘事件TP
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerZoneRecoverTP(void)
 {
-    /* CacheLUNʱRPCϢʧ */
+    /* Cache分区中添加LUN时，发送RPC消息失败 */
     LVOS_TP_REG(ZONE_RECOVER_DISKPOOL_ONLINE_DELAY_1_47_1, "Task delay when zone recover diskpool online.", NULL);
     /* modified by x00220068 for DTS2014071900916, 2014-07-30 begin */
     LVOS_TP_REG(ZONE_RECOVER_DISKPOOL_ONLINE_DELAY_1_47_2, "Task change result when zone recover diskpool online.", returnErrorHook);
@@ -15741,11 +15741,11 @@
     LVOS_TP_REG(ZONE_RECOVER_DISKPOOL_ONLINE_DELAY_1_47_3, "Task reset when zone recover diskpool online.", NULL);
 }
 /**************************************************************************
-     :  жص¼TP
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载调试盘事件TP
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unregisterZoneRecoverTP(void)
 {
@@ -15758,11 +15758,11 @@
 
 /* modified by c00271314 for DTS2014081209799, 2014-08-12 begin */
 /**************************************************************************
-     :  עCACHE EVENT TP
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册调试CACHE EVENT TP
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerCacheEventTP(void)
 {
@@ -15771,11 +15771,11 @@
     LVOS_TP_REG(CACHE_EVENT_SETP_1_47_3, "Master reset before write cache log.", NULL);
 }
 /**************************************************************************
-     :  жصCACHE EVENT TP
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载调试CACHE EVENT TP
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unregisterCacheEventTP(void)
 {
@@ -15785,15 +15785,15 @@
 }
 /* modified by c00271314 for DTS2014081209799, 2014-08-12 end */
 /**************************************************************************
-     :  עڵϴTP
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册节点故障处理TP
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerNodeFaultTP(void)
 {
-    /* CacheLUNʱRPCϢʧ */
+    /* Cache分区中添加LUN时，发送RPC消息失败 */
     LVOS_TP_REG(NODE_FAULT_SET_FAULT_MODE_DELAY_1_47_1, "Task delay when node fault set fault mode.", NULL);
     LVOS_TP_REG(SERVICE_NODE_REMIRROR_1_47_1, "remirror when node fault.", NULL);
     LVOS_TP_REG(SERVICE_NODE_REMIRROR_1_47_2, "remirror when node fault.", NULL);
@@ -15820,7 +15820,7 @@
     LVOS_TP_REG(NODE_FAULT_PRE_SWITCH_FS_DELAY_1_47_3, "Task delay when node fault switch fs info.", NULL);
     LVOS_TP_REG(VNODE_SWITCH_LUN_DELAY_1_47_1, "Task delay when vnode switch.", NULL);
     LVOS_TP_REG(NODE_FAULT_QUERY_CACHE_MODE_1_47_1, "Get cache is need write through.", getCacheWriteThroughHook);
-    /* DTS2016031703070TP, c90005058, 2016-4-1 */
+    /* DTS2016031703070新增TP, c90005058, 2016-4-1 */
     LVOS_TP_REG(VNODE_SET_DELAY_1_47_2, "Set vnode to ccdb delay scan.", NULL);
     LVOS_TP_REG(NODE_SERVICE_ONLINE_1_47_1, "Node service online recieve status delay.", NULL);
 
@@ -15829,11 +15829,11 @@
 
 }
 /**************************************************************************
-     :  жؽڵϴTP
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载节点故障处理TP
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unregisterNodeFaultTP(void)
 {
@@ -15860,7 +15860,7 @@
     LVOS_TP_UNREG(NODE_FAULT_PRE_SWITCH_FS_DELAY_1_47_3);
     LVOS_TP_UNREG(VNODE_SWITCH_LUN_DELAY_1_47_1);
     LVOS_TP_UNREG(ODE_FAULT_QUERY_CACHE_MODE_1_47_1);
-    /* DTS2016031703070TP, c90005058, 2016-4-1 */
+    /* DTS2016031703070新增TP, c90005058, 2016-4-1 */
     LVOS_TP_UNREG(VNODE_SET_DELAY_1_47_2);
     LVOS_TP_UNREG(NODE_SERVICE_ONLINE_1_47_1);
     LVOS_TP_UNREG(NODE_FAULT_DELAY_RESET_NODE_1_47_1);
@@ -15869,60 +15869,60 @@
 }
 /* modified by w90006775 for DTS2014021002236, 2014-2-10 end */
 /**************************************************************************
-     :  עҵߡߵTP
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册业务离线、上线的TP
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerServiceOfflineOnlineTp(void)
 {
-    /* Ⱥнڵ㷢Block LUN IOʱȺOops */
+    /* 集群主向所有节点发送Block LUN IO的时候集群Oops */
     LVOS_TP_REG(OFFLINE_SERVICE_1_47_1,
                 "When master send message to nodes block LUN Io"
                 "master node reset.", NULL);
 
-    /* Ⱥнڵ㷢Block LUN IOϢʧ(߽ڵ) */
+    /* 集群主向所有节点发送Block LUN IO的消息失败(离线节点掉电) */
     LVOS_TP_REG(OFFLINE_SERVICE_1_47_2,
                 "When master send message to nodes block LUN Io"
                 " offline node power lost.", NULL);
 
-    /* Ⱥнڵ㷢Block LUN IOϢʧ(߽ڵԶOops) */
+    /* 集群主向所有节点发送Block LUN IO的消息失败(离线节点对端Oops) */
     LVOS_TP_REG(OFFLINE_SERVICE_1_47_3,
                 "When master send message to nodes block LUN Io"
                 " offline node peer node reset.", NULL);
 
-    /* Ⱥָڵ㷢֪ͨLUN·¼ʱȺOOPS */
+    /* 集群主向恢复节点发送通知LUN链路事件时集群主OOPS */
     LVOS_TP_REG(ONLINE_SERVICE_1_47_1,
                 "When master send message to nodes notify LUN link event"
                 "master node reset.", NULL);
 
-    /* Ⱥָڵ㷢֪ͨLUN·¼ϢʧܣָڵOOPS */
+    /* 集群主向恢复节点发送通知LUN链路事件消息失败（恢复节点OOPS） */
     LVOS_TP_REG(ONLINE_SERVICE_1_47_2,
                 "When master send message to nodes notify LUN link event"
                 "online node reset.", NULL);
 
-    /* ȺпƷûָڵ״̬ϢʧܣָڵԶ˽ڵ磩 */
+    /* 集群主向所有控制发送设置恢复节点上线状态消息失败（恢复节点对端节点掉电） */
     LVOS_TP_REG(ONLINE_SERVICE_1_47_3,
                 "When master send message to nodes notify LUN link event"
                 "online node peer node power lost.", NULL);
 
-    /* ȺָڵDiskPoolڵʱȺOOPS */
+    /* 集群主向恢复节点设置DiskPool工作节点的时候集群主OOPS */
     LVOS_TP_REG(ONLINE_SERVICE_1_47_4,
                 "When master send message to nodes set pool work node"
                 "master node reset.", NULL);
 
-    /* ȺָڵDiskPoolڵϢʧܣָڵ磩 */
+    /* 集群主向恢复节点设置DiskPool工作节点消息失败（恢复节点掉电） */
     LVOS_TP_REG(ONLINE_SERVICE_1_47_5,
                 "When master send message to nodes set pool work node"
                 "online node power lost.", NULL);
 
-    /* ȺָڵDiskPoolڵϢʧܣָڵԶOOPS */
+    /* 集群主向恢复节点设置DiskPool工作节点消息失败（恢复节点对端OOPS） */
     LVOS_TP_REG(ONLINE_SERVICE_1_47_6,
                 "When master send message to nodes set pool work node"
                 "online node peer node reset.", NULL);
     /* modified by w90006775 for DTS2014012407071, 2014-1-15 begin */
-    /* ڵлLUNĹʱ̹ס*/
+    /* 节点离线切换LUN的工作控制器时流程挂住*/
     LVOS_TP_REG(OFFLINE_SERVICE_1_47_4,
                 "Task delay when offline service switch lun array", NULL);
     /* modified by w90006775 for DTS2014012407071, 2014-1-15 end */
@@ -15930,12 +15930,12 @@
 }
 
 /**************************************************************************
-     : αװʱtrace pointע Clear Bypassʧ Ļص
- :  userparam: עûΪ
-            result: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能: 伪装时trace point故障注入 对象管理Clear Bypass失败 的回调函数
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            result: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void objClearBypassOnNodeFailHook(char userparam[], int32_t *result)
 {
@@ -15973,24 +15973,24 @@
       LVOS_TP_UNREG(WRITE_THROUGH_TIME_1_47_5);
 }
 /**************************************************************************
-     :  ߽ӹTP
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  在线接管TP点
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
  static void registerHandoverOnlineTp(void)
 {
-    /*bypassУظλ */
+    /*设置bypass过程中，主控复位 */
     LVOS_TP_REG(HANDOVER_ONLINE_2_47_1,
                 "clear bypass fail on node.", NULL);
 
-    /*bypassУڵ㸴λ*/
+    /*设置bypass过程中，节点复位*/
     LVOS_TP_REG(HANDOVER_ONLINE_2_47_2,
                 "When master send message to clear bypass fail "
                 " master node reset.", NULL);
 
-    /*bypassУڵ㸴λ*/
+    /*设置bypass过程中，节点复位*/
    LVOS_TP_REG(HANDOVER_ONLINE_2_47_3,
                 "When master send message to clear bypass fail "
                 " master node reset.", NULL);
@@ -16018,11 +16018,11 @@
                 "master node reset after notify TGT to start the migration", NULL);
 }
 /**************************************************************************
-     :  עеTP
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册密码更新流程中的TP点
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 
 static void registerCryptoHandleTp(void)
@@ -16047,11 +16047,11 @@
 
 }
 /**************************************************************************
-     :  עеTP
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注销密码更新流程中的TP点
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterCryptoHandleTp(void)
 {
@@ -16080,11 +16080,11 @@
 }
 
 /**************************************************************************
-     :  жҵߡߵTP
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载业务离线、上线的TP
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterServiceOfflineOnlineTp(void)
 {
@@ -16103,11 +16103,11 @@
 }
 
 /**************************************************************************
-     :  ע¼trace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册阵列事件的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerSysLunMigrationTP(void)
 {
@@ -16127,11 +16127,11 @@
 }
 
 /**************************************************************************
-     :  ж¼trace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载阵列事件的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterSysLunMigrationTP(void)
 {
@@ -16151,12 +16151,12 @@
 }
 
 /**************************************************************************
-     :  ڵϲѯDDʱעʧ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  节点上查询对象DD时，注入失败
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void nodeQueryObjDdFailTp(char userparam[], int32_t *ret)
 {
@@ -16167,12 +16167,12 @@
 
 /* modified by l90005871 for DTS2016033007988, 2016-04-01 begin */
 /**************************************************************************
-     :  ʱbug²ѯ̵IDΪЧ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  查盘时，出现软件bug，导致查询到的盘的物理ID为无效
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void queryDiskPhyIdFailHook(char userparam[], uint32_t *phyId)
 {
@@ -16184,12 +16184,12 @@
 
 /* modified by l90005871 for DTS2016042104848, 206-4-22 begin */
 /**************************************************************************
-     :  ڸLUNĶ̬ϢʱעʹÿζᷢNotifyϢ
- :  userparam[] : עûΪ
-            capa        : DDм¼ʷֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  在更新LUN的动态信息时，注入使其每次都会发送Notify消息
+ 输入参数:  userparam[] : 故障注入的用户输入参数，可以为空
+            capa        : DD中记录的历史值。
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void updateLunDdInfoHook(char userparam[], uint64_t *capa)
 {
@@ -16201,11 +16201,11 @@
 
 /* modified by z00204113 for DTS2014051207779, 2014-5-16 begin */
 /**************************************************************************
-     :  עDDtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册更新DD表的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerUpdateDDTP(void)
 {
@@ -16222,11 +16222,11 @@
 }
 
 /**************************************************************************
-     :  жظDDtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载更新DD表的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterUpdateDDTP(void)
 {
@@ -16242,11 +16242,11 @@
 /* modified by z00204113 for DTS2014051207779, 2014-5-16 end */
 
 /**************************************************************************
-     :  עѯӲ̵trace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册批量查询硬盘的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerBatchQueryDiskTimeOutTP(void)
 {
@@ -16296,11 +16296,11 @@
 }
 
 /**************************************************************************
-     :  callback tp
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  callback 机制tp点
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerSYSCFGFRAMETP(void)
 {
@@ -16309,11 +16309,11 @@
 }
 
 /**************************************************************************
-     :  עѯӲ̵trace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能: 反 注册批量查询硬盘的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterSYSCFGFRAMETP(void)
 {
@@ -16322,11 +16322,11 @@
 }
 
 /**************************************************************************
-     :  עѯӲ̵trace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能: 反 注册批量查询硬盘的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterBatchQueryDiskTimeOutTP(void)
 {
@@ -16342,13 +16342,13 @@
 }
 
 
-/* Added by w00285264 ,  @2014-12-19,  LUNԪ޸:ģ޸ʧ* Begin */
+/* Added by w00285264 ,  @2014-12-19,  LUN元数据修复特性:模拟进修复环境失败* Begin */
 /**************************************************************************
-     :  ע޸trace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册进修复环境的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerEnterRepairEnvTP(void)
 {
@@ -16359,11 +16359,11 @@
 }
 
 /**************************************************************************
-     :  жؽ޸trace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载进修复环境的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterEnterRepairEnvTP(void)
 {
@@ -16373,26 +16373,26 @@
     return;
 }
 
-/* Added by w00285264 ,  @2014-12-19,  LUNԪ޸:ģ޸ʧ* End */
+/* Added by w00285264 ,  @2014-12-19,  LUN元数据修复特性:模拟进修复环境失败* End */
 /*SR-0000471934 AR-0000840813 nas switch added by z00230408 2014-1-7 begin*/
 /**************************************************************************
-     :  ע洢trace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册存储镜像域的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerMirrorDomainTp(void)
 {
-    /*޸nastp*/
+    /*修改引擎nas开关相关tp点*/
     LVOS_TP_REG(MODIFY_NAS_SWITCH_2_47_1, "Check nas function switch failed.", returnErrorHook);
 }
 /**************************************************************************
-     :  жش洢trace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载存储镜像域的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterMirrorDomainTp(void)
 {
@@ -16402,22 +16402,22 @@
 
 /* DTS2015091404989 modified by z00230408 2015-9-12 begin */
 /**************************************************************************
-     :  עioclasstrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册ioclass的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void registerIoClassTp(void)
 {
     LVOS_TP_REG(CREATE_IOCLASS_1_47_1, "Create get ioClass db info by id failed.", returnErrorHook);
 }
 /**************************************************************************
-     :  жioclasstrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  卸载ioclass的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 static void unRegisterIoClassTp(void)
 {
@@ -16425,28 +16425,28 @@
 }
 /* DTS2015091404989 modified by z00230408 2015-9-12 end */
 /**************************************************************************
-     :  ̹ע
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  创建流程故障注入
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void setTaskRestrictOops(char userparam[], void *ret)
 {
     UNREFERENCE_PARAM(userparam);
     UNREFERENCE_PARAM(ret);
-    //Ϊ˹츴λϣ빹assert(0);
+    //为了构造复位故障，必须构造assert(0);
     DBG_ASSERT(0);
     return;
 }
 
 /**************************************************************************
-     :  עDD̵trace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册DD流程的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void registerDdUpdateTracePoint(void)
 {
@@ -16454,11 +16454,11 @@
 }
 
 /**************************************************************************
-     :  עDD̵trace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注销DD流程的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void unRegisterDdUpdateTracePoint(void)
 {
@@ -16466,12 +16466,12 @@
 }
 
 /**************************************************************************
-     :  taskܿ
- :  userparam: עûΪ
-            ret: עʱҪصֵ
- :  
- ֵ  :  
-     :  úڵԺͶλ
+ 功    能:  把task加入自愈管控
+ 输入参数:  userparam: 故障注入的用户输入参数，可以为空
+            ret: 故障注入时要返回的值
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  该函数仅用于调试和定位问题
 **************************************************************************/
 void setTaskRestrictTypeInvalid(char userparam[], void *ret)
 {
@@ -16482,11 +16482,11 @@
 }
 
 /**************************************************************************
-     :  עṲ쳣
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册共因故障异常流程
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void registertTaskRestrictedTracePoint(void)
 {
@@ -16498,11 +16498,11 @@
 }
 
 /**************************************************************************
-     :  עDD̵trace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注销DD流程的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void unRegisterTaskRestrictedTracePoint(void)
 {
@@ -16513,81 +16513,81 @@
 
 }
 
-/* иλϱTracePoint */
+/* 快切复位上报流程相关TracePoint */
 #if DESC("fast_failover_notify_opt")
 /**************************************************************************
-     :  עḴλϱtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册复位上报流程相关trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void registerNodeResetPreTaskTracePoint(void) //TODO
 {
-    /* ض˿ʧ: ǰʧ*/
+    /* 关端口失败: 前端失败*/
     LVOS_TP_REG(NODE_RESET_CLOSE_PORT_2_47_1, 
                                  "Node Reset Pretask close front-end port failed", 
                                  doNothingTpHook);
-    /* ض˿ʧ: ʧ*/
+    /* 关端口失败: 控制器间失败*/
     LVOS_TP_REG(NODE_RESET_CLOSE_PORT_2_47_2, 
                                  "Node Reset Pretask close inter-controller port failed", 
                                  doNothingTpHook);
-    /* ض˿ʧ: ʧ*/
+    /* 关端口失败: 后端失败*/
     LVOS_TP_REG(NODE_RESET_CLOSE_PORT_2_47_3, 
                                  "Node Reset Pretask close back-end port failed", 
                                  doNothingTpHook);
 
-    /* ѯ˿ʧ: ǰʧ*/
+    /* 查询端口失败: 前端失败*/
     LVOS_TP_REG(NODE_RESET_QUERY_PORT_2_47_1, 
                                  "Node Reset Pretask query front-end port failed", 
                                  returnErrorHook);
-    /* ѯض˿ʧ: ʧ*/
+    /* 查询关端口失败: 控制器间失败*/
     LVOS_TP_REG(NODE_RESET_QUERY_PORT_2_47_2, 
                                  "Node Reset Pretask query inter-controller port failed", 
                                  returnErrorHook);
-    /* ѯض˿ʧ: ʧ*/
+    /* 查询关端口失败: 后端失败*/
     LVOS_TP_REG(NODE_RESET_QUERY_PORT_2_47_3, 
                                  "Node Reset Pretask query back-end port failed", 
                                  returnErrorHook);
     
-    /* NODE_RESET_QUERY_PORT_2_47_4  ض˿ڳʱ*/
+    /* NODE_RESET_QUERY_PORT_2_47_4  关端口超时*/
     LVOS_TP_REG(NODE_RESET_QUERY_PORT_2_47_4, 
                                  "Node Reset Pretask query port failed", 
                                  returnErrorHook);
 
-    /* NODE_RESET_CLOSE_PORT_2_47_5  ر, ǰδر*/
+    /* NODE_RESET_CLOSE_PORT_2_47_5  控制器间关闭, 前后端未关闭*/
 
-    /* ִиλϱ̵ĺ˷쳣oopsoompanic */
+    /* 执行复位上报流程的核发生异常（oops、oom、panic） */
     LVOS_TP_REG(NODE_RESET_TASK_HANDLE_2_47_1,
                                  "Node Reset Pretask run failed", 
                                  nodeClosePortKernelResetHook);
 
-    /* ִиλϱ, BSPʼ͸λж */
+    /* 执行复位上报流程, BSP开始发送复位中断 */
     LVOS_TP_REG(NODE_RESET_TASK_HANDLE_2_47_2,
                                  "Node Reset bsp irq begin", 
                                  nodeTestMsgBeforeBspHandleHook);
 
-    /* :Alarm̹رʧ*/
+    /* 后处理:Alarm进程关闭失败*/
     LVOS_TP_REG(NODE_RESET_TASK_POST_2_47_1,
                                  "Node Reset kill alarm failed", 
                                  returnErrorHook);
     
-    /*  ַIOD ̹߳*/
+    /*  分发任务的IOD 线程挂死*/
        
-    /* NODE_RESET_TASK_POST_2_47_1  :xnetܿͨرʧ */
-    /* NODE_RESET_TASK_POST_2_47_2  :Alarm̹رʧ*/
+    /* NODE_RESET_TASK_POST_2_47_1  后处理:xnet管控通道关闭失败 */
+    /* NODE_RESET_TASK_POST_2_47_2  后处理:Alarm进程关闭失败*/
     
-    /* λ:رտͨ, 뱾ظ*/
+    /* 复位互斥:关闭控制器间通道后, 进入本控隔离流程*/
     LVOS_TP_REG(NODE_RESET_TASK_MUTEX_2_47_1,
                                  "Node Reset close port meet node isolate", 
                                  nodeClosePortNodeIsolateHook);
     
-    /* λ:֪ͨԶ˺, ·*/
+    /* 复位互斥:通知对端后, 链路检查决策流程*/
     LVOS_TP_REG(NODE_RESET_TASK_MUTEX_2_47_2,
                                  "Node Reset close port meet node link check", 
                                  nodeClosePortNodeLinkCheckHook);
 
-    /* λ:֪ͨԶ˺, Զ˽ڵ̷Ϣñ˸λ*/
+    /* 复位互斥:通知对端后, 对端节点故障流程发消息让本端复位*/
     LVOS_TP_REG(NODE_RESET_TASK_MUTEX_2_47_3,
                                  "Node Reset close port meet node irq reset", 
                                  nodeClosePortNodeIrqHandleHook);
@@ -16595,11 +16595,11 @@
     return;
 }
 /**************************************************************************
-     :  עλϱtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注销复位上报流程相关trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void unRegisterNodeResetPreTaskTracePoint(void) //TODO
 {
@@ -16622,45 +16622,45 @@
 #endif
 
 /**************************************************************************
-     :  עϵͳƵtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注册系统控制的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void registerSysctrlTracePoint(void)
 {
 
-    /* עϼָTP */
+    /* 注册引擎故障及恢复的TP */
     registerSysGroupFaultRecovTP();
 
-    /* עϼָTP */
+    /* 注册引擎故障及恢复的TP */
     registerSysNodeFaultRecovTP();
 
     registerRebuildMirrorTP();
 
-    /* עµTP */
+    /* 注册上下电的TP */
     registerSysPowerOnOffTP();
 
-    /* POOL */
+    /* 切POOL */
     registerSysSwitchPoolTP();
 
-    /* ڵߵTP */
+    /* 节点离线的TP */
     registerSysNodeOfflineTP();
 
-    /* עùTP */
+    /* 注册配置管理的TP */
     registerSysCfgTP();
 
-    /* עDBģTP */
+    /* 注册DB模块的TP */
     registerDbTP();
 
     registerSysSwitchCkgTP();
     registerSysSwitchLunTP();
 
-    /* ¼TP */
+    /* 盘事件的TP */
     registerSysDiskEventTP();
 
-    /* LunTP */
+    /* 创建Lun的TP */
     registerSysCreateLunTP();
 
     /* vvol features modified by z00230408 2015-9-20 begin */
@@ -16669,82 +16669,82 @@
 
 
 
-    /* ɾLunTP */
+    /* 删除Lun的TP */
     registerSysDelLunTP();
 
-    /* lun */
+    /* lun扩容 */
     registerSysExpandLunTP();
 
-    /* lunϻָTP */
+    /* lun故障恢复的TP */
     registerLlunRecoveryTP();
 
-    /* lunߵTP */
+    /* lun离线的TP */
     registerLunOfflineTP();
 
-    /* lunϵTP */
+    /* lun故障的TP */
     registerLunFaultTP();
 
-    /*tp*/
+    /*自验tp*/
     registerSysSelfTestTp();
 
-    /* ߽ڵָϵ */
+    /* 离线节点恢复上电 */
     registerPeerOfflineRecoverPowerOnTP();
 
-    /* ϵͳC99C00ʧTP */
+    /* 系统控制C99升级到C00开工失败TP */
     registerSysC99UpgradeC00TP();
 
-    /* עCacheTP */
+    /* 注册调试Cache分区的TP */
     registerCachePttTP();
-    /* עڵߵTP */
+    /* 注册节点离线的TP */
     registerNodeOfflineTp();
     /* modified by w90006775 for DTS2014021002236, 2014-2-10 begin */
-    /*ע¼TP*/
+    /*注册盘事件的TP*/
     registerZoneRecoverTP();
 
     /* modified by c00271314 for DTS2014081209799, 2014-08-12 begin */
     registerCacheEventTP();
     /* modified by c00271314 for DTS2014081209799, 2014-08-12 end */
 
-    /*עڵϵTP*/
+    /*注册节点故障的TP*/
     registerNodeFaultTP();
     /* modified by w90006775 for DTS2014021002236, 2014-2-10 end */
-    /* עҵ߼ߵTP */
+    /* 注册业务离线急上线的TP */
     registerServiceOfflineOnlineTp();
 
-    /* עᴴstoragepoolTP */
+    /* 注册创建storagepool的TP */
     registerCreateStoragePoolTP();
 
     /* modfied by z00276765 for DTS2014052004861, 2014-5-28 begin*/
-    /* ע޸storagepoolTP */
+    /* 注册修改storagepool的TP */
     registerModifyStoragePoolTP();
     /* modfied by z00276765 for DTS2014052004861, 2014-5-28 end*/
 
-    /* עᴴdiskpoolTP */
+    /* 注册创建diskpool的TP */
     registerCreateDiskPoolTP();
 
-    /* ⵥţDTS2014060304941 modified by z00230408, 2014-6-26 begin */
-    /* עɾdiskpoolTP */
+    /* 问题单号：DTS2014060304941， modified by z00230408, 2014-6-26 begin */
+    /* 注册删除diskpool的TP */
     registerDeleteDiskPoolTP();
-    /* ⵥţDTS2014060304941 modified by z00230408, 2014-6-26 end */
+    /* 问题单号：DTS2014060304941， modified by z00230408, 2014-6-26 end */
 
-    /* ע¼TP */
+    /* 注册阵列事件的TP */
     registerSysArrayEventTP();
 
-    /* עLUNǨƵTP */
+    /* 注册LUN迁移的TP */
     registerSysLunMigrationTP();
     /*POOL REPAIR BEGIN*/
-    /*ע˳޸TP*/
+    /*注册进入或者退出修复环境的TP*/
     registerSysDiskPoolRepairTP();
     /*POOL REPAIR END*/
 
-    /* : DNSϢ added by hwx208273  begin*/
-    /*עϵͳ޸DNS*/
+    /* 新增特性: DNS配置信息 added by hwx208273  begin*/
+    /*注册系统控制修改DNS*/
     registerSysModifyDnsTP();
-    /* : DNSϢ added by hwx208273  end*/
+    /* 新增特性: DNS配置信息 added by hwx208273  end*/
 
-    /* ļϵͳ modified by l90006215, 2014/06/14 begin */
+    /* 文件系统特性新增 modified by l90006215, 2014/06/14 begin */
     registerSysFsTp();
-    /* ļϵͳ modified by l90006215, 2014/06/14 end */
+    /* 文件系统特性新增 modified by l90006215, 2014/06/14 end */
 
     /* modified by z00248602 for DTS2014042201945, 2014-4-23 begin */
     registerSysExpandBayTP();
@@ -16755,12 +16755,12 @@
     /* modified by z00204113 for DTS2014051207779, 2014-5-16 end */
 
 	/* modified by g90006267 for DTS2014031905180, 2014-3-19 begin */
-    /* עTP */
+    /* 注册自愈的TP */
     registerSysHealTP();
     /* modified by g90006267 for DTS2014031905180, 2014-3-19 end */
 
     /* modified by g90006267 for DTS2014053105404, 2014-6-4 begin */
-    /* עTLVصTP */
+    /* 注册TLV相关的TP */
     registerSysTlvTP();
     /* modified by g90006267 for DTS2014053105404, 2014-6-4 end */
     /* begin c00271314@2014.4.24 SmartCache*/
@@ -16775,12 +16775,12 @@
     registerFsMiniLoadTp();
 
     registerSYSCFGFRAMETP();
-    /* Added by w00285264 ,  @2014-12-19,  LUNԪ޸:ģ޸ʧ* Begin */
+    /* Added by w00285264 ,  @2014-12-19,  LUN元数据修复特性:模拟进修复环境失败* Begin */
 	registerEnterRepairEnvTP();
-	/* Added by w00285264 ,  @2014-12-19,  LUNԪ޸:ģ޸ʧ* End */
-    /*߽ӹ h00277014 begin*/
+	/* Added by w00285264 ,  @2014-12-19,  LUN元数据修复特性:模拟进修复环境失败* End */
+    /*在线接管 h00277014 begin*/
     registerHandoverOnlineTp();
-    /*߽ӹ h00277014 end*/
+    /*在线接管 h00277014 end*/
     registerFRUTp();
     /*SR-0000471934 AR-0000840813 nas switch added by z00230408 2014-1-7 begin*/
     registerMirrorDomainTp();
@@ -16792,22 +16792,22 @@
     registertTaskRestrictedTracePoint();
 	registerCryptoHandleTp();
 
-    /* עḴλϱtrace point */
+    /* 注册复位上报流程相关trace point */
     registerNodeResetPreTaskTracePoint();
     
     return;
 }
 
 /**************************************************************************
-     :  עϵͳƵtrace point
- :  
- :  
- ֵ  :  
-     :  
+ 功    能:  注销系统控制的trace point
+ 输入参数:  无
+ 输出参数:  无
+ 返回值  :  无
+ 其 他   :  无
 **************************************************************************/
 void unRegisterSysctrlTracePoint(void)
 {
-    /* ϵ */
+    /* 上电 */
     LVOS_TP_UNREG(POWER_ON_1_47_1);
     LVOS_TP_UNREG(POWER_ON_1_47_2);
     LVOS_TP_UNREG(POWER_ON_1_47_3);
@@ -16843,35 +16843,35 @@
     /* modified by g90006267 for DTS2014092202664 , 2014-9-19 begin */
     LVOS_TP_UNREG(POWER_ON_1_47_27);
     /* modified by g90006267 for DTS2014092202664 , 2014-9-19 end */
-    /* modified by z00285203 ͬC10ⵥ DTS2014120808448, 2014-12-25 begin */
+    /* modified by z00285203 同步C10问题单 DTS2014120808448, 2014-12-25 begin */
     LVOS_TP_UNREG(POWER_ON_1_47_28);
-    /* modified by z00285203 ͬC10ⵥ DTS2014120808448, 2014-12-25 end */
+    /* modified by z00285203 同步C10问题单 DTS2014120808448, 2014-12-25 end */
     LVOS_TP_UNREG(POWER_ON_1_47_29);
     LVOS_TP_UNREG(POWER_ON_1_47_30);
     LVOS_TP_UNREG(POWER_ON_1_47_31);
     LVOS_TP_UNREG(POWER_ON_1_47_32);
     LVOS_TP_UNREG(POWER_ON_1_47_33);
     LVOS_TP_UNREG(POWER_ON_1_47_34);
-    /* modified by z00285203 ͬC10ⵥ DTS2014120808448, 2014-12-25 begin */
+    /* modified by z00285203 同步C10问题单 DTS2014120808448, 2014-12-25 begin */
     LVOS_TP_UNREG(POWER_ON_1_47_39);
-    /* modified by z00285203 ͬC10ⵥ DTS2014120808448, 2014-12-25 end */
+    /* modified by z00285203 同步C10问题单 DTS2014120808448, 2014-12-25 end */
     LVOS_TP_UNREG(POWER_ON_1_47_40);
     LVOS_TP_UNREG(POWER_ON_1_47_41);
     LVOS_TP_UNREG(POWER_ON_1_47_42);
     LVOS_TP_UNREG(POWER_ON_1_47_43);
     LVOS_TP_UNREG(POWER_ON_1_47_44);
     LVOS_TP_UNREG(POWER_ON_1_47_45);
-    /* modified by z00285203 ͬC10ⵥ DTS2014120808448, 2014-12-25 begin */
+    /* modified by z00285203 同步C10问题单 DTS2014120808448, 2014-12-25 begin */
     LVOS_TP_UNREG(POWER_ON_1_47_46);
-    /* modified by z00285203 ͬC10ⵥ DTS2014120808448, 2014-12-25 end */
+    /* modified by z00285203 同步C10问题单 DTS2014120808448, 2014-12-25 end */
 /* BEGIN: Added by r90006280, 2013/8/20   ID(TV2R2):MULTI_MODELS*/
     LVOS_TP_UNREG(POWER_ON_1_47_50);
     LVOS_TP_UNREG(POWER_ON_1_47_51);
 /* END:   Added by r90006280, 2013/8/20 */
 
-    /*begin z00204113@2013-12-23 칹ϵϢ󣬼Ⱥλ */
+    /*begin z00204113@2013-12-23 异构增加上电加载阵列信息后，集群主复位 */
     LVOS_TP_UNREG(POWER_ON_1_47_52);
-    /*end z00204113@2013-12-23 칹ϵϢ󣬼Ⱥλ */
+    /*end z00204113@2013-12-23 异构增加上电加载阵列信息后，集群主复位 */
 
     /* modified by z00248602 for DTS2014062601615 , 2014-6-22 begin */
     LVOS_TP_UNREG(POWER_ON_1_47_53);
@@ -16901,7 +16901,7 @@
 
     /* modified by x00281454 for DTS2014101305876 , 2014-10-11 end */
 
-    /* DTS2015040908588 modify by lwx207050 2015-04-07 begin ϵ */
+    /* DTS2015040908588 modify by lwx207050 2015-04-07 begin 上电错误码 */
     LVOS_TP_UNREG(POWER_ON_1_47_66);
     LVOS_TP_UNREG(POWER_ON_1_47_67);
     LVOS_TP_UNREG(POWER_ON_1_47_68);
@@ -16913,15 +16913,15 @@
     /* Begin: Add by g00285223 for DTS2015042501592 at 2015-04-28 */
     LVOS_TP_UNREG(POWER_ON_1_47_74);
     /* Begin: Add by g00285223 for DTS2015042501592 at 2015-04-28 */
-    /* DTS2015040908588 modify by lwx207050 2015-04-07 end ϵ */
+    /* DTS2015040908588 modify by lwx207050 2015-04-07 end 上电错误码 */
     LVOS_TP_UNREG(POWER_ON_1_47_75);
-    /* DTSDTS2015073104703 modify by lwx207050 2015-07-31 begin */
+    /* DTS：DTS2015073104703 modify by lwx207050 2015-07-31 begin */
     LVOS_TP_UNREG(POWER_ON_1_47_77);
     LVOS_TP_UNREG(POWER_ON_1_47_78);
     LVOS_TP_UNREG(POWER_ON_1_47_79);
     LVOS_TP_UNREG(POWER_ON_1_47_80);
     LVOS_TP_UNREG(POWER_ON_1_47_81);
-    /* DTSDTS2015073104703 modify by lwx207050 2015-07-31 end */
+    /* DTS：DTS2015073104703 modify by lwx207050 2015-07-31 end */
     /* modified by g90006267 for DTS2015082004584, 2015-08-21 begin */
     LVOS_TP_UNREG(POWER_ON_1_47_82);
     /* modified by g90006267 for DTS2015082004584, 2015-08-21 end */
@@ -16978,7 +16978,7 @@
     LVOS_TP_UNREG(RECOVER_BUSINESS_1_47_40);
     LVOS_TP_UNREG(RECOVER_BUSINESS_1_47_41);
 
-    /* µ */
+    /* 下电 */
     LVOS_TP_UNREG(POWER_OFF_1_47_1);
     LVOS_TP_UNREG(POWER_OFF_1_47_2);
     LVOS_TP_UNREG(POWER_OFF_1_47_3);
@@ -16997,10 +16997,10 @@
     /* modified by g90006267 for DTS2014090501004, 2014-9-01 begin */
     LVOS_TP_UNREG(POWER_OFF_1_47_16);
     /* modified by g90006267 for DTS2014090501004, 2014-9-01 end */
-    /* modified by z00285203 ͬC10ⵥ DTS2014120808448, 2014-12-25 begin */
+    /* modified by z00285203 同步C10问题单 DTS2014120808448, 2014-12-25 begin */
     LVOS_TP_UNREG(POWER_OFF_1_47_17);
     LVOS_TP_UNREG(POWER_OFF_1_47_18);
-    /* modified by z00285203 ͬC10ⵥ DTS2014120808448, 2014-12-25 end */
+    /* modified by z00285203 同步C10问题单 DTS2014120808448, 2014-12-25 end */
     LVOS_TP_UNREG(POWER_OFF_1_47_20);
     /* modified by g90006267 for DTS2014052904802, 2014-5-29 begin */
     LVOS_TP_UNREG(POWER_OFF_1_47_24);
@@ -17027,7 +17027,7 @@
     LVOS_TP_UNREG(REBOOT_CONTROLLER_1_47_1);
     /*DTS2014070406716 modify by z00230408 2014/7/17 end*/
     LVOS_TP_UNREG(SET_BACKUP_1_47_1);
-    /* µͣҵ */
+    /* 下电停业务 */
     LVOS_TP_UNREG(DOWN_BUSINESS_1_47_1);
     LVOS_TP_UNREG(DOWN_BUSINESS_1_47_2);
     LVOS_TP_UNREG(DOWN_BUSINESS_1_47_3);
@@ -17040,7 +17040,7 @@
     LVOS_TP_UNREG(DOWN_BUSINESS_1_47_9);
     /* modified by z90002192 for DTS2015090901851, 2015-09-17 end */
 
-    /* DBҵ */
+    /* DB相关业务 */
     LVOS_TP_UNREG(DB_START_1_40_1);
     LVOS_TP_UNREG(DB_START_1_40_2);
     LVOS_TP_UNREG(DB_START_1_40_3);
@@ -17055,13 +17055,13 @@
     LVOS_TP_UNREG(DB_START_1_40_13);
     LVOS_TP_UNREG(DB_START_1_40_14);
     /* DTS2015021307974 modified by z00230408 2015-4-28 end */
-    /* DTSDTS2015073104703 modify by lwx207050 2015-07-31 begin */
+    /* DTS：DTS2015073104703 modify by lwx207050 2015-07-31 begin */
     LVOS_TP_UNREG(DB_START_1_40_22);
     LVOS_TP_UNREG(DB_START_1_40_23);
     LVOS_TP_UNREG(DB_START_1_40_24);
     LVOS_TP_UNREG(DB_START_1_40_25);
     LVOS_TP_UNREG(DB_START_1_40_26);
-    /* DTSDTS2015073104703 modify by lwx207050 2015-07-31 end */
+    /* DTS：DTS2015073104703 modify by lwx207050 2015-07-31 end */
 
     LVOS_TP_UNREG(DB_WRITE_1_40_1);
     LVOS_TP_UNREG(DB_WRITE_1_40_2);
@@ -17110,7 +17110,7 @@
     LVOS_TP_UNREG(DB_COMPARE_1_40_5);
     /* DTS2015021307974 modified by z00230408 2015-4-28 end */
 
-    /*  */
+    /* 软狗 */
     LVOS_TP_UNREG(SYS_SDOG_2_47_1);
     LVOS_TP_UNREG(SYS_SDOG_2_47_2);
     LVOS_TP_UNREG(SYS_SDOG_2_47_3);
@@ -17120,7 +17120,7 @@
     LVOS_TP_UNREG(SYS_SDOG_2_47_7);
     LVOS_TP_UNREG(SYS_SDOG_2_47_8);
 
-    /* ˫TP*/
+    /* 单扩双TP点*/
     LVOS_TP_UNREG(NODE_FRU_FAULT_1_47_4);
 
     /* DTS2014081106792 modify by z00230408 2014-9-4 begin*/
@@ -17146,82 +17146,82 @@
 
     unRegisterSysDelLunTP();
     unregisterSysExpandLunTP();
-    /* жlunϻָTP */
+    /* 卸载lun故障恢复的TP */
     unRegisterLunRecoveryTP();
 
-    /* жLUN OFFLINETP */
+    /* 卸载LUN OFFLINE的TP */
     unRegisteLunOfflineTP();
 
 	/* DTS2015031601343 modified by z00227589 2015-04-08 begin */
-    /* жùTP */
+    /* 卸载配置管理的TP */
     unregisterSysCfgTP();
 	/* DTS2015031601343 modified by z00227589 2015-04-08 end */
 
-    /* жLUN FAULTTP */
+    /* 卸载LUN FAULT的TP */
     unRegisteLunFaultTP();
 
-    /* ߽ڵָϵ */
+    /* 离线节点恢复上电 */
     unregisterPeerOfflineRecoverPowerOnTP();
 
-    /* жϵͳC99C00ʧܵTP */
+    /* 卸载系统控制C99升级到C00开工失败的TP */
     unregisterSysC99UpgradeC00TP();
 
-    /* жصCacheTP */
+    /* 卸载调试Cache分区的TP */
     unregisterCachePttTP();
-    /* жؽڵߵTP */
+    /* 卸载节点离线的TP */
     unregisterNodeOfflineTp();
 
-    /* жҵߡߵTP */
+    /* 卸载业务离线、上线的TP */
     unRegisterServiceOfflineOnlineTp();
 
-    /* жشstoragepoolTP */
+    /* 卸载创建storagepool的TP */
     unRegisteCreateStoragePoolTP();
 
      /* modified by z00276765 for DTS2014052004861, 2014-5-28 begin */
-    /* ж޸storagepoolTP */
+    /* 卸载修改storagepool的TP */
     unRegisterModifyStoragePoolTP();
     /* modified by z00276765 for DTS2014052004861, 2014-5-28 end */
 
-    /* жشdiskpoolTP */
+    /* 卸载创建diskpool的TP */
     unRegisteCreateDiskPoolTP();
 
     /* modified by w90006775 for DTS2014021002236, 2014-2-10 begin */
 
-    /* ⵥţDTS2014060304941 modified by z00230408, 2014-6-26 begin */
-    /* жɾdiskpoolTP */
+    /* 问题单号：DTS2014060304941， modified by z00230408, 2014-6-26 begin */
+    /* 卸载删除diskpool的TP */
     unRegisterDeleteDiskPoolTP();
-    /* ⵥţDTS2014060304941 modified by z00230408, 2014-6-26 end */
-    /*ж¼TP*/
+    /* 问题单号：DTS2014060304941， modified by z00230408, 2014-6-26 end */
+    /*卸载盘事件的TP*/
     unregisterZoneRecoverTP();
 
     /* modified by c00271314 for DTS2014081209799, 2014-08-12 begin */
     unregisterCacheEventTP();
     /* modified by c00271314 for DTS2014081209799, 2014-08-12 end */
 
-    /* ж¼TP */
+    /* 卸载阵列事件的TP */
     unRegisterSysArrayEventTP();
 
     unRegisterSysLunMigrationTP();
-    /*жؽڵϵTP*/
+    /*卸载节点故障的TP*/
     unregisterNodeFaultTP();
     /* modified by w90006775 for DTS2014021002236, 2014-2-10 end */
 
 	/*POOL REPAIR BEGIN*/
-    /*жؽ˳޸TP*/
+    /*卸载进入或者退出修复环境的TP*/
     unRegisterSysDiskPoolRepairTP();
     /*POOL REPAIR END*/
 
-    /* : DNSϢ added by hwx208273  begin*/
-    /*ж޸DNSTP*/
+    /* 新增特性: DNS配置信息 added by hwx208273  begin*/
+    /*卸载修改DNS的TP*/
     unregisterSysModifyDnsTP();
-    /* : DNSϢ added by hwx208273  end*/
+    /* 新增特性: DNS配置信息 added by hwx208273  end*/
 
-    /* ļϵͳ modified by l90006215, 2014/06/14 begin */
+    /* 文件系统特性新增 modified by l90006215, 2014/06/14 begin */
     unregisterSysFsTp();
-    /* ļϵͳ modified by l90006215, 2014/06/14 end */
+    /* 文件系统特性新增 modified by l90006215, 2014/06/14 end */
 
     /* modified by z00248602 for DTS2014042201945, 2014-4-23 begin */
-    /* жTP */
+    /* 卸载扩柜的TP */
     unRegisterSysExpandBayTP();
     /* modified by z00248602 for DTS2014042201945, 2014-4-23 end */
     /* modified by z00204113 for DTS2014051207779, 2014-5-16 begin */
@@ -17229,11 +17229,11 @@
 	/* modified by z00204113 for DTS2014051207779, 2014-5-16 end */
 
 	/* modified by g90006267 for DTS2014031905180, 2014-3-19 begin */
-    /*жTP*/
+    /*卸载自愈的TP*/
     unRegisterSysHealTP();
     /* modified by g90006267 for DTS2014031905180, 2014-3-19 end */
     /* modified by g90006267 for DTS2014053105404, 2014-6-4 begin */
-    /* жϵͳTLVصTP */
+    /* 卸载系统控制TLV相关的TP */
     unRegisterSysTlvTP();
     /* modified by g90006267 for DTS2014053105404, 2014-6-4 end */
 
@@ -17248,17 +17248,17 @@
     unRegisterBatchQueryDiskTimeOutTP();
 
     unRegisterSYSCFGFRAMETP();
-	/*ⵥDTS2015013008468 add by w90006015 2015.1.31 begin*/
+	/*问题单：DTS2015013008468 add by w90006015 2015.1.31 begin*/
 	/* Add by z00285285 for miniload 2015/01/04 begin*/
     unRegisterFsMiniLoadTp();
     /* Add by z00285285 for miniload 2015/01/04 end*/
     unRegisterSysSelfTestT();
-	/*ⵥDTS2015013008468 add by w90006015 2015.1.31 end*/
-	/* Added by w00285264 ,  @2014-12-19,  LUNԪ޸:ģ޸ʧ* Begin */
+	/*问题单：DTS2015013008468 add by w90006015 2015.1.31 end*/
+	/* Added by w00285264 ,  @2014-12-19,  LUN元数据修复特性:模拟进修复环境失败* Begin */
 	unRegisterEnterRepairEnvTP();
-	/* Added by w00285264 ,  @2014-12-19,  LUNԪ޸:ģ޸ʧ* End */
+	/* Added by w00285264 ,  @2014-12-19,  LUN元数据修复特性:模拟进修复环境失败* End */
 
-        /*߽ӹTP*/
+        /*在线接管TP*/
     unRegisterHandoverOnlineTp();
     /*SR-0000471934 AR-0000840813 nas switch added by z00230408 2014-1-7 begin*/
     unRegisterMirrorDomainTp();
@@ -17270,17 +17270,17 @@
     unRegisterTaskRestrictedTracePoint();
 	unRegisterCryptoHandleTp();
 
-    /* עλϱtrace point */
+    /* 注销复位上报流程相关trace point */
     unRegisterNodeResetPreTaskTracePoint();
     
     return;
 }
 
 /*****************************************************************************
-     : Debugģʼע
- :
- : 
- ֵ  :
+ 功    能: Debug模块初始化，注册调试命令
+ 输入参数:
+ 输出参数: 无
+ 返回值  :
 *****************************************************************************/
 int32_t initSysDebug(void)
 {
@@ -17305,7 +17305,7 @@
     (void)DBG_RegCmd(&stCmd);
     (void)DBG_RegCmdToCLI(&stCmdToCli);
 
-    /* ȫֱʼ */
+    /* 全局变量初始化 */
     memset(&g_showDirtyDataFlag, 0 ,sizeof(DIAG_SHOW_DIRTY_FLAG_S));
     LVOS_sema_init(&g_showDirtyDataFlag.readFlagSem, 0);
 
@@ -17346,10 +17346,10 @@
 }
 
 /*****************************************************************************
-     : Debugģ˳ע
- :
- : 
- ֵ  :
+ 功    能: Debug模块退出，注销调试命令
+ 输入参数:
+ 输出参数: 无
+ 返回值  :
 *****************************************************************************/
 void exitSysDebug(void)
 {
@@ -17361,5 +17361,237 @@
     return;
 }
 
-/*****************************************************************/
+/*************************函数定义****************************************/
+
+typedef enum tagCPU_CHECK_SWITCH_E {
+    SYS_CPU_CHECK_NORMAL = 0,
+    SYS_CPU_CHECK_ENHANCED = 1,
+    SYS_CPU_CHECK_BUTT
+} CPU_CHECK_SWITCH_E;
+typedef struct tagCPU_CHECK_INFO_S {
+    bool isType;
+    CPU_CHECK_SWITCH_E cpuCheckType;
+    uint32_t cpuThreshold;
+    uint32_t cpuCheckPeriod;
+    uint32_t cpuAlarmPercentage;
+    uint32_t reserved[4];         /* *<预留字段,预留4个u32 */
+} CPU_CHECK_INFO_S;
+/* cpu增强检查周期最大为30天 */
+#define CHECK_PERIOD_TIME_MAX (30 * 24 * 60 * 60) 
+/* 更新开关成功会重置统计信息并且恢复之前的告警 */
+extern int32_t updateCpuCheckSwitchType(CPU_CHECK_SWITCH_E cpuCheckSwitchType);
+extern bool canSetCpuCheckEnhancedSwitch(void);
+extern CPU_CHECK_SWITCH_E getCpuCheckEnhancedSwitch(void);
+
+void diagSetCpuCheckSwitch(int32_t argCnt, char *v_szArgv[])
+{
+    int32_t retVal;
+    CPU_CHECK_INFO_S cpuCheckInfo = { 0 };
+    char *sw = NULL;
+    uint32_t aliveBitmap = 0;
+    /* 参数验证 */
+    if (argCnt != 3) {
+        DBG_Print("CPU_CHECK: please input 0(close) or 1(open) after \"sys setcpucheckenhancedswitch \":\n");
+        return;
+    }
+    /* 判断是否是主控 */
+    if(B_TRUE != checkLocalNodeIsGlbMaster())
+    {
+        DBG_Print("Please do it on master.\n");
+        return;
+    }
+    sw = (char*)v_szArgv[2];
+
+    /* 如果等于0表示是普通模式 */
+    if (0 == strncmp("0", sw, 2)) {
+        if (getCpuCheckEnhancedSwitch() == SYS_CPU_CHECK_NORMAL) {
+            DBG_Print("CPU_CHECK: current switch is 0(close), set switch 0 failed.\n");
+            return;
+        }
+        retVal = updateCpuCheckSwitchType(SYS_CPU_CHECK_NORMAL);
+    } else if (0 == strncmp("1", sw, 2)) {
+        /* 打开增强开关前必须先设置增强检查参数 */
+        if (canSetCpuCheckEnhancedSwitch() == B_FALSE) {
+            DBG_Print("CPU_CHECK: set cpu check enhanced switch open failed, you must set enhanced params first.\n");
+            return;
+        }
+        if (getCpuCheckEnhancedSwitch() == SYS_CPU_CHECK_ENHANCED) {
+            DBG_Print("CPU_CHECK: current switch is 1(open), set switch 1 failed.\n");
+            return;
+        }
+        retVal = updateCpuCheckSwitchType(SYS_CPU_CHECK_ENHANCED);
+    } else {
+        DBG_Print("CPU_CHECK: please input 0(close) or 1(open) after \"sys setcpucheckenhancedswitch \":\n");
+        return;
+    }
+
+    if (retVal == RETURN_OK) {
+        DBG_Print("CPU_CHECK: set cpu check enhanced switch successfully.\n");
+    } else {
+        DBG_Print("CPU_CHECK: set cpu check enhanced switch failed.\n");
+        return;
+    }
+    /* 获取存活节点位图 */
+    getAliveNodeBitMapInfo(&aliveBitmap);
+    /* 发送事件 */
+    cpuCheckInfo.isType = B_TRUE;
+    cpuCheckInfo.cpuCheckType = getCpuCheckEnhancedSwitch();
+    retVal = clsSendRpc(SYS_RPC_CLEAR_NODE_RESET_INFO,
+                        aliveBitmap,
+                        &cpuCheckInfo,
+                        sizeof(CPU_CHECK_INFO_S),
+                        (5*60*1000),
+                        NULL);
+    DBG_LogInfo(DBG_LOGID_NEW, "CPU_CHECK: send rpc to set cpu check switch result (%d).", retVal);
+    return;
+}
+extern void getCpuCheckEnhancedParams(uint32_t *xCpuThreshold, uint32_t *yCheckPeriod, uint32_t *zAlarmPercentage);
+extern void setCpuCheckEnhancedParams(uint32_t xCpuThreshold, uint32_t yCheckPeriod, uint32_t zAlarmPercentage);
+extern void resetCpuCheckTimeAndUse(void);
+extern void recoverCpuCheckAlarm(uint32_t preXCpuThreshold);
+extern int32_t updateCpuCheckEnhancedThreshold(uint32_t cpuThreshold);
+extern int32_t updateCpuCheckEnhancedCheckPeriod(uint32_t cpuCheckPeriod);
+extern int32_t updateCpuCheckEnhancedAlarmPercentage(uint32_t cpuAlarmPercentage);
+void diagSetCpuCheckEnhancedParams(int32_t argCnt, char *argBuff[])
+{
+    int32_t retVal = RETURN_ERROR;
+    uint32_t xCpuThreshold = 0;
+    uint32_t yCheckPeriod = 0;
+    uint32_t zAlarmPercentage = 0;
+    uint32_t preXCpuThreshold = 0;
+    uint32_t preYCheckPeriod = 0;
+    uint32_t preZAlarmPercentage = 0;
+    char    *sw  = NULL;
+    CPU_CHECK_INFO_S cpuCheckInfo = { 0 };
+    CPU_CHECK_SWITCH_E cpuCheckType = SYS_CPU_CHECK_NORMAL;
+    uint32_t aliveBitmap = 0;
+    /* 参数验证 */
+    if (argCnt != 5) {
+        DBG_Print("CPU_CHECK: please input cpuThreshold checkPeriod alarmPercentage",
+                 " after \"sys setcpucheckenhancedparam \":\n");
+        return;
+    }
+    /* 判断是否是主控 */
+    if(B_TRUE != checkLocalNodeIsGlbMaster())
+    {
+        DBG_Print("Please do it on master.\n");
+        return;
+    }
+    getCpuCheckEnhancedParams(&preXCpuThreshold, &preYCheckPeriod, &preZAlarmPercentage);
+    xCpuThreshold = (uint32_t)LVOS_StrToU64(argBuff[2]);
+    if (xCpuThreshold < 1 || xCpuThreshold > 100) {
+        DBG_Print("CPU_CHECK: set params failed, cpu threshold range is 1 to 100.\n");
+        return; 
+    }
+    retVal = updateCpuCheckEnhancedThreshold(xCpuThreshold);
+    if (RETURN_OK != retVal) {
+        setCpuCheckEnhancedParams(preXCpuThreshold, preYCheckPeriod, preZAlarmPercentage);
+        DBG_Print("CPU_CHECK: set cpu check enhanced params failed.\n");
+        return;
+    }
+    yCheckPeriod = (uint32_t)LVOS_StrToU64(argBuff[3]);
+    if (yCheckPeriod < 10 || yCheckPeriod > CHECK_PERIOD_TIME_MAX) {
+        DBG_Print("CPU_CHECK: set params failed, The check period ranges from 10 seconds to 30 days (unit: second), ");
+        DBG_Print("CPU check period is multiples of 10 seconds.\n");
+        return;
+    }
+    /* 检查周期取10的倍数 */
+    yCheckPeriod = ((yCheckPeriod + 9) / 10 ) * 10;
+    retVal = updateCpuCheckEnhancedCheckPeriod(yCheckPeriod);
+    if (RETURN_OK != retVal) {
+        setCpuCheckEnhancedParams(preXCpuThreshold, preYCheckPeriod, preZAlarmPercentage);
+        DBG_Print("CPU_CHECK: set cpu check enhanced params failed.\n");
+        return;
+    }
+    zAlarmPercentage = (uint32_t)LVOS_StrToU64(argBuff[4]);
+    if (zAlarmPercentage < 1 || zAlarmPercentage > 100) {
+        DBG_Print("CPU_CHECK: set params failed, cpu alarm percetage range is 1 to 100.\n");
+        return;
+    }
+    retVal = updateCpuCheckEnhancedAlarmPercentage(zAlarmPercentage);
+    if (RETURN_OK != retVal) {
+        setCpuCheckEnhancedParams(preXCpuThreshold, preYCheckPeriod, preZAlarmPercentage);
+        DBG_Print("CPU_CHECK: set cpu check enhanced params failed.\n");
+        return;
+    }
+    cpuCheckType = getCpuCheckEnhancedSwitch();
+    /* 打开开关时修改参数需要重置统计信息 */
+    if (cpuCheckType == SYS_CPU_CHECK_ENHANCED) {
+        DBG_LogInfo(DBG_LOGID_NEW, "CPU_CHECK: current switch is open, clears the current CPU check information.");
+        resetCpuCheckTimeAndUse();
+    }
+    /* 恢复之前的告警 */
+    recoverCpuCheckAlarm(preXCpuThreshold);
+    /* 获取存活节点位图 */
+    getAliveNodeBitMapInfo(&aliveBitmap);
+    /* 发送事件 */
+    cpuCheckInfo.isType = B_FALSE;
+    cpuCheckInfo.cpuThreshold = xCpuThreshold;
+    cpuCheckInfo.cpuCheckPeriod = yCheckPeriod;
+    cpuCheckInfo.cpuAlarmPercentage = zAlarmPercentage;
+    retVal = clsSendRpc(SYS_RPC_CLEAR_NODE_RESET_INFO,
+                        aliveBitmap,
+                        &cpuCheckInfo,
+                        sizeof(CPU_CHECK_INFO_S),
+                        (5*60*1000),
+                        NULL);
+    DBG_LogInfo(DBG_LOGID_NEW, "CPU_CHECK: send rpc to set cpu check switch result (%d).", retVal);
+    return;
+}
+
+void diagShowCpuCheck(int32_t argCnt, char *argBuff[])
+{
+    int32_t retVal = RETURN_ERROR;
+    uint32_t xCpuThreshold = 0;
+    uint32_t yCheckPeriod = 0;
+    uint32_t zAlarmPercentage = 0;
+
+    CPU_CHECK_SWITCH_E cpuCheckSwitchType = getCpuCheckEnhancedSwitch();
+    getCpuCheckEnhancedParams(&xCpuThreshold, &yCheckPeriod, &zAlarmPercentage);
+    
+    DBG_Print("CPU_CHECK: cpu check enhanced switch is %d (0 is close, 1 is open).\n", cpuCheckSwitchType);
+    DBG_Print("CPU_CHECK: cpu check normal params : checkPeriod is %d s , alarmPercentage is %d%% , clearAlarmPercentage is %d%% .\n",
+            SYS_CPU_CHECK_TIME * 10, SYS_CPU_USAGE_ALM_LEVEL, SYS_CPU_USAGE_RECOVER_LEVEL);
+    DBG_Print("CPU_CHECK: cpu check enhanced params : cpuThreshold is %d%% , checkPeriod is %d s , alarmPercentage is %d%% .\n",
+            xCpuThreshold, yCheckPeriod, zAlarmPercentage);
+    return;    
+}
+
+SYS_DIAG_CMD_OPS_S s_diagCpuCheckCmdOpsSHP50[] =
+{
+    {"setcpucheckenhancedswitch", diagSetCpuCheckSwitch},
+    {"setcpucheckenhancedparams", diagSetCpuCheckEnhancedParams},
+    {"showcpucheck",              diagShowCpuCheck},
+};
+
+uint32_t s_diagCpucheckCmdOpsNumSHP50 = ARRAY_LEN(s_diagCpuCheckCmdOpsSHP50);
 
+int32_t exceCpucheckDiagSHP50(int32_t argCnt, char *argBuff[])
+{
+    uint32_t cmdIdx = 0;
+    bool findFlag = B_FALSE;
+    SYS_DIAG_CMD_OPS_S *diagCmd = NULL;
+
+    for (cmdIdx = 0; cmdIdx < s_diagCpucheckCmdOpsNumSHP50; cmdIdx++)
+    {
+        diagCmd = &s_diagCpuCheckCmdOpsSHP50[cmdIdx];
+
+        if (0 == strncmp(argBuff[1], diagCmd->cmdName, MAX_NAME_LEN))
+        {
+            findFlag = B_TRUE;
+            break;
+        }
+    }
+
+    if ((B_TRUE == findFlag) && (NULL != diagCmd) && (NULL != diagCmd->cmdHandle))
+    {
+        /* 处理CMD 命令 */
+        diagCmd->cmdHandle(argCnt, argBuff);
+    }
+    else
+    {
+        return RETURN_ERROR;
+    }
+
+    return RETURN_OK;
+}
\ No newline at end of file
