--- ./source/private_module/pal/pal_diagnose/pal_retry_diagnose.c	2018-02-09 13:47:03.000000000 +0000
+++ ./source/private_module/pal/pal_diagnose/pal_retry_diagnose.c.hotpatch	2018-10-18 07:51:55.000000000 +0000
@@ -130,7 +130,7 @@
    
     return;
 }
-
+int32_t setPalWormScanInfo(int32_t argc, char* argv[]);int32_t getMaxWormScanFsNum(void);int32_t getMaxWormScanFileNum(void);
 /**************************************************************************
      :  ʾϢ
  :  argc:θ
@@ -150,12 +150,12 @@
     uint64_t totalIoNum;
     uint64_t timeOutIoNum;
     PAL_ADAPT_RETRY_STAT_S* retryStat = getRetryStat();
-    
+    int32_t ret;
     UNREFERENCE_PARAM(argc);
     UNREFERENCE_PARAM(argv);
 
     DBG_LogDebug(DBG_LOGID_NEW,"Retry io show cmd.");
-     
+    ret = setPalWormScanInfo(argc, argv); if (RETURN_OK != ret){return;}
     curTimeSec = LVOS_GetTime(NULL);
     LVOS_GmTime((const OSP_S64 *)&curTimeSec, &curTime);
 
@@ -196,7 +196,7 @@
     DBG_Print("Retry timeout              :%u\n",   getPalAdaptIoTimeOut());
     DBG_Print("Retry IO Num               :%llu\n", atomic64_read(&retryStat->retryIoNum));
     DBG_Print("Retry IO Num(no flow ctrl) :%llu\n", atomic64_read(&retryStat->retryIoNoFlowCtrlNum));
-    DBG_Print("Local flow ctrl IO Num     :%llu\n", atomic64_read(&retryStat->flowCtrlNum));
+    DBG_Print("Local flow ctrl IO Num     :%llu\n", atomic64_read(&retryStat->flowCtrlNum));DBG_Print("maxScanFsNum               :%d\n", getMaxWormScanFsNum());DBG_Print("maxScanFileNum             :%d\n", getMaxWormScanFileNum());
     DBG_Print("\n");
     
     for (index = 0; index < OPERATION_TYPE_BUTT; ++index)
@@ -266,4 +266,64 @@
     return;
 }
 
+void setMaxWormScanFsNum(int32_t fsNum);
+void setMaxWormScanFileNum(int32_t fileNum);
+/**************************************************************************
+     :  wormɨϢ
+ :  
+ :  
+ ֵ  :  
+     :  
+**************************************************************************/
+int32_t setPalWormScanInfo(int32_t argc, char* argv[])
+{
+    int32_t   ret;
+    uint32_t  maxFsNum = 0; 
+    uint32_t maxFileNum = 0;
+
+    if (2 == argc)
+    {
+        if (0 == strncmp(argv[0], "maxScanFsNum", sizeof("maxScanFsNum")))
+        {
+            ret = palGetParamU32(argv[1], &maxFsNum);
+            if (unlikely(RETURN_OK != ret) || maxFsNum < 1 || maxFsNum > g_maxFsIdNumber)
+            {
+                DBG_Print("\n");
+                DBG_Print("ERROR: input maxFsNum(%s) is invalid,must not be zero, must not bigger than maxFsNum(%u).\n", argv[1], g_maxFsIdNumber);
+                DBG_Print("\n");
+                return RETURN_ERROR;
+            }
+
+            setMaxWormScanFsNum((int32_t)maxFsNum);
+            return RETURN_OK;
+        }
+        else if (0 == strncmp(argv[0], "maxScanFileNum", sizeof("maxScanFileNum")))
+        {
+            ret = palGetParamU32(argv[1], &maxFileNum);
+            if (unlikely(RETURN_OK != ret) || maxFileNum < 100 || maxFileNum > 30000)
+            {
+                DBG_Print("\n");
+                DBG_Print("ERROR: input maxFileNum(%s) is invalid,  please enter the maxFileNum between %u and %u. \n", argv[1], 100, 30000);
+                DBG_Print("\n");
+                return RETURN_ERROR;
+            }
+
+            setMaxWormScanFileNum((int32_t)maxFileNum);
+            return RETURN_OK;
+        }
+    }
+    else if (0 != argc)
+    {
+        DBG_Print("DESCRIPTION:\n");
+        DBG_Print("  %-48s : %s", "pal retry show "," Show the retry IO info.\n");
+        DBG_Print("  %-48s : %s", "pal retry show  <parm> [parm]"," Set worm scan info.\n");
+        DBG_Print("  %-48s : %s", "[parm]: maxScanFsNum"," set max scan fs num.\n");
+        DBG_Print("  %-48s : %s", "        maxScanFileNum"," set max scan file num.\n");
+        DBG_Print("\n");
+        return RETURN_ERROR;
+    }
+
+    return RETURN_OK;
+}
+
 
--- ./source/private_module/pal/pal_worm/pal_worm_async_scan.c	2018-02-09 13:47:03.000000000 +0000
+++ ./source/private_module/pal/pal_worm/pal_worm_async_scan.c.hotpatch	2018-10-19 03:40:16.000000000 +0000
@@ -3210,7 +3210,7 @@
     /* öpalļһȡ󼯵һobj */
     if (SPC_OT_PLAIN_FILE_CONTENTS != objType)
     { 
-        gotoStep(context, WORM_START_SCAN_CHECK);   /* startWormScanCheck */
+        setWormFsScanningFid(res->fai, res->scanningObjId);gotoStep(context, WORM_START_SCAN_CHECK);   /* startWormScanCheck */
         return CONTEXT_CONTINUE;
     }
 
