--- ./source/private_module/ramcache/log/cache_log.c	2018-04-26 09:14:15.000000000 +0000
+++ ./source/private_module/ramcache/log/cache_log.c.hotpatch	2021-02-03 03:25:34.000000000 +0000
@@ -1405,6 +1405,7 @@
             move2NextEntryAndModifyPSgl(&sglTmp, &entryIdx);
             metaBlock = (CACHE_LOG_SLOT_DISK_META_S *)(void *)sglTmp->entrys[entryIdx].buf;
             DBG_LogInfo(NO_LOGID, "replay cache log : move to next meta page.");
+            metaBlkCounter = 0;
         }
 
         // TODO:˴Ӳ
@@ -1414,7 +1415,6 @@
     }
 
     FREE_COFFER_REQ(req);
-
     return RETURN_OK;
 }
 
@@ -2107,6 +2107,7 @@
 
 void updateMetaBlkMgr(void)
 {
+    g_logMetaBlcokMgr.curOffsetInThisMetaPage++;
     if ( CACHE_LOG_META_BLK_CNT_PER_PAGE  == g_logMetaBlcokMgr.curOffsetInThisMetaPage )
     {
         move2NextEntryAndModifyPSgl( &g_logMetaBlcokMgr.curSgl, &g_logMetaBlcokMgr.curEntryIdx );
@@ -2116,7 +2117,6 @@
     else
     {
         g_logMetaBlcokMgr.curMetaBlockAddr++;
-        g_logMetaBlcokMgr.curOffsetInThisMetaPage++;
     }
     return;
 }
--- ./source/private_module/ramcache/recover/coffer/persist_metadata.c	2018-03-06 10:02:39.000000000 +0000
+++ ./source/private_module/ramcache/recover/coffer/persist_metadata.c.hotpatch	2021-02-03 03:25:34.000000000 +0000
@@ -665,7 +665,7 @@
         return metaPageNum;
     }
 }
-
+atomic_t g_notBackReqSum = ATOMIC_INIT(0);
 /**************************************************************************
 *     : ʼڴ汣ṹ壨һµıָʱ
 * : cofferType       :  ģʽ
@@ -709,7 +709,7 @@
     atomic_set(&g_cofferReadBlockCount, 0);
     atomic_set(&g_sendReqSum, 0);
     atomic_set(&g_backReqSum, 0);
-
+    atomic_set(&g_notBackReqSum, 0);
 
     atomic_set(&g_memCofferCtrlHead.metaBlockNum, 0);
     atomic_set(&g_memCofferCtrlHead.dataBlockNum, 0);
@@ -1606,7 +1606,7 @@
 
     leftReqNum = atomic_read(&g_sendReqSum) - atomic_read(&g_backReqSum);
 
-    while (0 != leftReqNum)
+    while (0 != leftReqNum || 0 < atomic_read(&g_notBackReqSum))
     {
         DBG_LogDebug(CACHE_LOG_ID_4410, "LeftReqNum:%d.", leftReqNum);
 
--- ./source/private_module/ramcache/recover/coffer/persist_req.c	2018-02-09 13:47:03.000000000 +0000
+++ ./source/private_module/ramcache/recover/coffer/persist_req.c.hotpatch	2021-02-03 03:25:34.000000000 +0000
@@ -1899,7 +1899,7 @@
 
     return ret;
 }
-
+extern atomic_t g_notBackReqSum;
 /**************************************************************************
 *     : һblockϳһREQ
 * : writeBlock:  ڴ֯ݵMEM_BLOCK_Sṹ
@@ -1974,14 +1974,14 @@
 
     /* дźļ */
     LVOS_sema_down(&g_writeCofferSema);
-
     if (CACHE_RUNNING_STATUS_POWER_LOST == getCacheRunningStatus())
     {
         SET_REQ_CTRL_FLAG(sendCoffReq, REQ_CTRL_FLAG_POWER_LOST);
     }
-
+#ifndef _ARM_
+    atomic_inc(&g_notBackReqSum);
+#endif
     addReqToStartQForceDispatch(sendCoffReq);
-
     return RETURN_OK;
 }
 
@@ -2146,14 +2146,14 @@
 
     /* дźļ */
     LVOS_sema_down(&g_writeCofferSema);
-
     if (CACHE_RUNNING_STATUS_POWER_LOST == getCacheRunningStatus())
     {
         SET_REQ_CTRL_FLAG(sendCofferReq, REQ_CTRL_FLAG_POWER_LOST);
     } 
-
+#ifndef _ARM_
+    atomic_inc(&g_notBackReqSum);
+#endif
     addReqToStartQForceDispatch(sendCofferReq);
-
     return RETURN_OK;
 }
 
@@ -2226,15 +2226,15 @@
                        &g_WriteCofferData, blockPageSgl);
     /* end   V3Ӳ modify by y90001703 2014.04.10*/
     cofferReq->parent = parentReq;
-
     LVOS_sema_down(&g_writeCofferSema);
-
     if (CACHE_RUNNING_STATUS_POWER_LOST == getCacheRunningStatus())
     {
         SET_REQ_CTRL_FLAG(cofferReq, REQ_CTRL_FLAG_POWER_LOST);
     }
+#ifndef _ARM_
+    atomic_inc(&g_notBackReqSum);
+#endif
     addReqToStartQForceDispatch(cofferReq);
-
     return RETURN_OK;
 }
 
@@ -2291,14 +2291,14 @@
     sendCofferReq->parent = parentReq;
 
     LVOS_sema_down(&g_writeCofferSema);
-
     if (CACHE_RUNNING_STATUS_POWER_LOST == getCacheRunningStatus())
     {
         SET_REQ_CTRL_FLAG(sendCofferReq, REQ_CTRL_FLAG_POWER_LOST);
     }
-
+#ifndef _ARM_
+    atomic_inc(&g_notBackReqSum);
+#endif
     addReqToStartQForceDispatch(sendCofferReq);
-
     return RETURN_OK;
 }
 
@@ -3081,8 +3081,8 @@
 #else
     /* »reqļ */
     atomic_inc(&g_backReqSum);
+    atomic_dec(&g_notBackReqSum);
 #endif
-
     writeCofferPerformanceStatistics(COFFER_PERF_PHASE_BACK, &g_cofferStatisticsInfo);
 
     /* ź */
