#!/bin/bash
set +x

source /opt/huawei/snas/script/inspect_mml/CommonFunc.sh
G_REMOTE_TMP_FILE="/tmp/tmpfileCheckNCQStatus"
LOG_FILE="/var/log/inspect.log"
. /opt/node_type_recognize.sh

function LOG
{
    echo [`date`][$$]$@ >> $LOG_FILE
}

#检查T3000NCQ
function CheckT3000NCQ()
{
    /usr/local/bin/MmlBatch 4016 "cm LocalNodeDiskType show" |grep Node_ID >> ${G_REMOTE_TMP_FILE} 2>&1
    if [ $? -ne 0 ];then
        echo "[ERR]get information fail." >> ${G_REMOTE_TMP_FILE}
        LOG "[$FUNCNAME][$LINENO] get information fail."
        return
    fi

    sed -i -e 's/\x1B\[0;[3-4][0-9]m//g' -e 's/\x0D//g' -e 's/\x00//g' ${G_REMOTE_TMP_FILE} >/dev/null 2>&1

    sleep 3
    /opt/driver/lsisas-driver/lsiutil >> ${G_REMOTE_TMP_FILE} 2>&1 <<USERINPUT
1
68
0
0
0
USERINPUT
}

#检查NCQ
function checkNCQ()
{
    local isC72=0
    local isRH=0
    local isARM=0

    IsC72Node
    isC72=$?
    >${G_REMOTE_TMP_FILE}
    if [ ${isC72} -eq 0 ];then
        echo "isC72=0" >>${G_REMOTE_TMP_FILE}
        LOG "[$FUNCNAME][$LINENO] C72 ,no involve."
        return 0
    fi

    IsTSNode
    isARM=$?
    if [ ${isARM} -eq 0 ];then
        echo "isTS=0" >>${G_REMOTE_TMP_FILE}
        LOG "[$FUNCNAME][$LINENO] TS no need to check it."
        return 0
    fi
    IsRHNode
    isRH=$?
    if [ "${isRH}" -eq 0 ];then
        echo "isRH=0" >>${G_REMOTE_TMP_FILE}
        LOG "[$FUNCNAME][$LINENO] RH no need to check it."
        return 0
    fi

    CheckT3000NCQ
}

checkNCQ
exit 0