#!/bin/sh
set +x

CurInspectNum="331"
CurInspectFun="CheckStripeCfg"
LOG_FILE="/var/log/inspect.log"

function LOG
{
   local time=$(date)
   echo [${time}][$$][${CurInspectFun}]$@ >> ${LOG_FILE}
}

# V3版本：海量小文件32K，其他都是512K
function CheckStripeCfg()
{
    local isPass=0
    local productVersion=$(grep ProductVersion /opt/huawei/deploy/package/version |awk -F= '{print $2}')
    local stripeSize="---"
    local share_path=""
    #获取节点业务类型、存储类型
    local serviceType=$(cat /opt/huawei/snas/etc/snas.ini  | grep "^serviceType=" | awk -F'=' '{print $2}')
    if [ "${serviceType}" = "other" ];then
        serviceType="default"
    fi
    local node_service_type=$(cat /opt/huawei/snas/etc/snas.ini | grep "^node_service_type=" | awk -F'=' '{print $2}')
    if [ "${node_service_type}" != "1" ];then
        share_path="node_service_type=${node_service_type}. Does not involve"
        LOG "servicetype : ${serviceType}.node_service_type=${node_service_type}.Does not involve"
    elif [ "${serviceType}" = "surveillance" ] || [ "${serviceType}" = "media" ] || [ "${serviceType}" = "archive" ] || [ "${serviceType}" = "default" ];then
        checkDir="/mnt/fs/share/"
        tmpdir="/tmp/CheckStripeCfg"
        [ -d ${tmpdir} ] && rm -rf ${tmpdir}
        mkdir -p ${tmpdir}
        nas="${tmpdir}/nas.sh"
        echo "#!/bin/bash" > $nas
        echo "\$*" >> $nas
        echo " " >> $nas
        chmod +x $nas
        tmp_path="$($nas find ${checkDir} -maxdepth 1 -type d -print | grep -v ".fs_sysoplog" | awk -F"/" '{print $NF}' | tr "\n" " " 2>&1)"
        for path in ${tmp_path};do
            stripeSize=$(/usr/local/bin/MmlBatch 988 "show attr /share/$path" | grep -w "StripSize" |awk -F"|" '{print $2}'|sed -e 's/\x1B\[0;[3-4][0-9]m//g' -e 's/\x0D//g' -e 's/\x00//g'| sed 's/^ *//g'| sed 's/ *$//g')
            stripeSize=$[${stripeSize} / 1024]
            if [ "X${serviceType}" == "Xarchive" ];then
                if [ "X${stripeSize}" != "X32" ];then
                    echo "[ERR]sharePath:/${path}||servicetype:${serviceType}||StripSize:${stripeSize}K||Default_Value:32K"
                fi
            else
                if [ "X${stripeSize}" != "X512" ];then
                    echo "[ERR]sharePath:/${path}||servicetype:${serviceType}||StripSize:${stripeSize}K||Default_Value:512K"
                fi
            fi
            share_path="/${path} ${share_path}"
        done
        rm -rf ${tmpdir}
    else
        share_path="Does not involve"
    fi
    echo "servicetype:${serviceType}||sharePath:${share_path:---}"
}

CheckStripeCfg
exit 0
