--- ./source/private_module/scsi/xvev2r1/scsi_others_itf_xvec2r1.c	2018-02-09 13:47:03.000000000 +0000
+++ ./source/private_module/scsi/xvev2r1/scsi_others_itf_xvec2r1.c.hotpatch	2019-03-19 11:11:00.000000000 +0000
@@ -1755,12 +1755,12 @@
     
     return upVersion;
 }
-
+#define SCSI_UP_EXTEND_HOST_NAME_LEN  (145)
 uint32_t scsiGetUpVersionListNum(void)
 {
     return (sizeof(g_scsiUpVersionListForAlarm) / sizeof(SCSI_UP_VERSION_RECORD));
 }
-
+void  scsiUpAlarmGetExtendHostName(TGT_SESSION_S* tgtSession, char* uHostName, char* extendHostName, uint32_t maxNameLen);
 bool scsiIsRecRecordInList(SCSI_UP_VERSION_RECORD* receivedRecord)
 {
     SCSI_UP_VERSION_RECORD * curRecord = NULL;
@@ -1788,7 +1788,7 @@
 
     return (SCSI_OS_TYPE_LINUX == osType);
 }
-
+#define SCSI_HOST_2T_LUN_ULTRAPATH_VERSION_UNCOMPATIBILITY 0x000F00150023 /*·2T LUN澯*/
 void scsiUpHostUlralPathSendAlarm(uint8_t* buf, TGT_CMD_S *tgtCmd, char * uHostName, uint64_t uHostSn)
 {
     SCSI_UP_VERSION_RECORD receivedRecord = {0};
@@ -1797,6 +1797,7 @@
     int8_t hostIdStr[16] = {0};
     uint32_t hostId = 0;
     uint32_t upVersion = 0;
+	char extendHostName[SCSI_UP_EXTEND_HOST_NAME_LEN] = {0};
     
     pstSession = tgtCmd->pstSession;
 
@@ -1825,22 +1826,20 @@
     
     scsiGetUpVersionRecord(buf, &receivedRecord);
 
-    /*OMRPһ£澯ʹ*/
-    UNREFERENCE_PARAM(hostIdStr);
-
     /*ж澯*/
     if (LVOS_test_bit(TGT_SES_WARNING_MULTIPATH_CERTAIN_VERSION, (void*)&(pstSession->alarmFlag)))
     {
-        /*Ѿڰ*/
+        /*Ѿں*/
         if (!scsiIsRecRecordInList(&receivedRecord))
         {
             LVOS_clear_bit(TGT_SES_WARNING_MULTIPATH_CERTAIN_VERSION, (void*)&(pstSession->alarmFlag));
             pstSession->lastAlarmTimeMs = LVOS_GetMilliSecond();
             /*ӿڰ汾ǷȻ*/
             upVersion = scsiGetUpVersionByRecord(&receivedRecord);
-            (OSP_VOID)ALM_SendAlarmEx(PID_SCSI, SCSI_HOST_ARRAY_VERSION_UNCOMPATIBILITY, ALM_ALARM_TYPE_RESUME,
-                                  "%s,%x,%x,0x%llx",
-                                  uHostName, upVersion, SCSI_SAITF_CUR_VERSION, uHostSn);
+			scsiUpAlarmGetExtendHostName(pstSession, uHostName, extendHostName, SCSI_UP_EXTEND_HOST_NAME_LEN);
+            (OSP_VOID)ALM_SendAlarmEx(PID_SCSI, SCSI_HOST_2T_LUN_ULTRAPATH_VERSION_UNCOMPATIBILITY, ALM_ALARM_TYPE_RESUME,
+                                  "%s,%s,%d,0x%llx",
+                                  extendHostName, hostIdStr,upVersion, uHostSn);
             DBG_LogDebug(DBG_LOGID_BUTT, "UP_VERSION_RESUME: Host Type Info %s, version %d.", 
                         receivedRecord.upHostTypeInfo, upVersion);
             return;
@@ -1853,13 +1852,14 @@
     /*澯ʱжʱ䣬1Сʱ*/
     if((0 == pstSession->lastAlarmTimeMs) || ((curTimeMs - pstSession->lastAlarmTimeMs) > MAX_UPVERSION_WARNING_INTERVAL))
     {
-        /*ڰ*/
+        /*ں*/
         if (scsiIsRecRecordInList(&receivedRecord))
         {
             upVersion = scsiGetUpVersionByRecord(&receivedRecord);
-            (OSP_VOID)ALM_SendAlarmEx(PID_SCSI, SCSI_HOST_ARRAY_VERSION_UNCOMPATIBILITY, ALM_ALARM_TYPE_FAULT,
-                                  "%s,%d,%x,0x%llx",
-                                  uHostName, upVersion, SCSI_SAITF_CUR_VERSION, uHostSn);
+			scsiUpAlarmGetExtendHostName(pstSession, uHostName, extendHostName, SCSI_UP_EXTEND_HOST_NAME_LEN);
+            (OSP_VOID)ALM_SendAlarmEx(PID_SCSI, SCSI_HOST_2T_LUN_ULTRAPATH_VERSION_UNCOMPATIBILITY, ALM_ALARM_TYPE_FAULT,
+                                  "%s,%s,%d,0x%llx",
+                                  extendHostName,hostIdStr, upVersion, uHostSn);
 
             /*ϱǣ¼澯ʱ*/
             LVOS_set_bit(TGT_SES_WARNING_MULTIPATH_CERTAIN_VERSION, (void*)&(pstSession->alarmFlag));
@@ -1870,3 +1870,29 @@
     }
 }
 
+void  scsiUpAlarmGetExtendHostName(TGT_SESSION_S* tgtSession, char* uHostName, char* extendHostName, uint32_t maxNameLen)
+{
+	DRV_LINK_PRIV_U* linkPriv = NULL;
+    if (DRV_TYPE_ISCSITGT == tgtSession->drvType)
+    {
+	    linkPriv = (DRV_LINK_PRIV_U *)tgtSession->linkPriv;
+		if (NULL == linkPriv)
+		{
+			TGT_PRINT_ERROR(DBG_LOGID_BUTT,"TGT_ERR: Parameter linkPriv is NULL.");  
+			snprintf(extendHostName, maxNameLen, "%s", uHostName);
+			extendHostName[maxNameLen-1] = '\0';
+			return;
+		}
+		snprintf(extendHostName, maxNameLen, "%s_%s", uHostName, ((DRV_LINK_PRIV_U *)tgtSession->linkPriv)->iscsi.iniIQN);
+		extendHostName[maxNameLen-1] = '\0';
+    }
+	else
+	{
+		snprintf(extendHostName, maxNameLen, "%s_0x%llx", uHostName, tgtSession->initiatorWwn);
+		extendHostName[maxNameLen-1] = '\0';
+	}
+
+	return;
+}
+
+
