--- ./source/private_module/scsi/standard/scsi_inquiry.c	2018-04-21 10:24:08.000000000 +0000
+++ ./source/private_module/scsi/standard/scsi_inquiry.c.hotpatch	2018-08-16 12:07:39.000000000 +0000
@@ -2377,18 +2377,18 @@
 
 bool tgtIsProductModelMatch(uint32_t uiProductModel )
 {
+    if (2 < scsiGetSysNodeNumItf())
+    {
+        return B_TRUE;
+    }
     if ((HVS85T == uiProductModel) 
         || (HVS88T == uiProductModel)
         || (HVS18800F  == uiProductModel)
         || (HVS18500   == uiProductModel)
-        || (HVS18800   == uiProductModel)
-        || (PRODUCT_MODE_6800V3 == uiProductModel)
-        || (PRODUCT_MODE_18500V3 == uiProductModel)
-        || (PRODUCT_MODE_18800V3 == uiProductModel))
+        || (HVS18800   == uiProductModel))
     /*modify by x90006290 for DTS2014091905728·޷׼ȷʶend*/
     { 
-        return B_TRUE;
-         
+        return B_TRUE;         
     }
     else
     {

@@ -3598,7 +3598,7 @@
         return RETURN_ERROR;
     }
 }
-
+int32_t scsiPatchMode2SetInqContext(TGT_CMD_S  *tgtCmd, void *context);
 /************************************************************************
  * : scsiInquiryExecute
  *
@@ -3618,7 +3618,6 @@
     uint8_t *pCdb = NULL;
     int32_t iRet = RETURN_ERROR;
     INQUIRY_PAGE_FUNC_S *inquiryPageOps = NULL;
-    
     /*pageִ*/
     pCdb   = SCSI_GET_CDB_FROM_TGTCMD(v_pstCmd);
     ucEvpd = pCdb[1] & SCSI_INQUIRY_EVPD;
@@ -3684,15 +3683,16 @@
         /*SCSI_InquiryDataInitѾΪRETURN_OK÷״̬*/
     }
     /*DTS2015062903116 modified by d00251522,ͼŲ飬end*/
-    
-    /*added by l90006363 ,for ˫ALUA begin */
-    (void)scsiSetInqContent(v_pstCmd, NULL);
-    /*added by l90006363 ,for ˫ALUA end */
+    if (SCSI_ALUA_MODE_TYPE2 == scsiGetAluaModeType(v_pstCmd))
+    {
+        (void)scsiPatchMode2SetInqContext(v_pstCmd, NULL);
+    }
+    else
+    {
+        (void)scsiSetInqContent(v_pstCmd, NULL);
+    }
 
-    /* added by l90006363,for AR-0000694599 ӿɵɲ⹦ begin*/
     scsiSetInquiryDebugData(v_pstCmd, ucEvpd, uiPageCode);
-    /* added by l90006363,for AR-0000694599 ӿɵɲ⹦ end*/
-    /*ӡӦ*/
     scsiPrintRspData(v_pstCmd);
 
     UNREFERENCE_PARAM(iRet);
@@ -3754,3 +3754,34 @@
 }
 
 
+extern int32_t scsiHyperMetroSetPeripheralHeader(TGT_CMD_S *tgtCmd, void *context);
+extern int32_t scsiHyperMetroSetInqTpgs(TGT_CMD_S  *tgtCmd, void *context);
+int32_t scsiPatchMode2SetInqContext(TGT_CMD_S  *tgtCmd, void *context)
+{
+    int32_t ret = RETURN_OK;
+    uint8_t evpd = 0;
+    uint8_t pageCode = 0;
+    uint8_t *cdb = NULL;
+
+    /*pageִ*/
+    cdb   = SCSI_GET_CDB_FROM_TGTCMD(tgtCmd);
+    evpd = SCSI_GET_CDB_FIELD(cdb[1], SCSI_INQUIRY_EVPD);
+    pageCode = SCSI_GET_CDB_FIELD(cdb[2], SCSI_INQUIRY_PAGE_CODE);
+
+    (void)scsiHyperMetroSetPeripheralHeader(tgtCmd, context);
+    if (0 == evpd)
+    {
+        ret = scsiHyperMetroSetInqTpgs(tgtCmd, context);
+    }
+    else if (SCSI_INQUIRY_IDENTIFICATION_PAGE == pageCode)
+    {
+        ret = scsiComSetAluaInfo(tgtCmd, context);
+    }
+    else
+    {
+        ret = RETURN_OK;
+    }
+   
+    return ret;    
+}
+
