#!/bin/bash

. /etc/profile >/dev/null
. /etc/tos/scripts/scripts

script_get_lock > /dev/null
[ $? -ne 0 ] && exit 1

mountopt(){
    local uuid=$1
    local volume_conf=/etc/volume/volume.conf
    local level=`iniparse -c -f "${volume_conf}" -s "${uuid}" -k compression`
    if [ $TOS_KERNEL = "4.0.0" ]; then
        MNTOPT_BTRFS="acl,nospace_cache,metadata_ratio=50"
    else
        if [ $level == 0 -o "X$level" = "X" ]; then
            MNTOPT_BTRFS="acl,noatime,datasum,datacow,barrier,space_cache=v2,noautodefrag"
        else
            MNTOPT_BTRFS="acl,noatime,datasum,datacow,barrier,space_cache=v2,noautodefrag,compress=zlib:${level}"
        fi
    fi
    echo $MNTOPT_BTRFS
}

lv_path="$1"
MNTPOINT=$(getmntpoint "$lv_path")
# UUID=$(blkid -o value -s UUID "${lv_path}")
UUID=$(GetDeviceUUID "${lv_path}")
if [ ! -z "$MNTPOINT" ]; then
    check_main_raid "$MNTPOINT"
    if [ $? -eq 0 ]; then
        main_service_stop
    fi
    # disabled service
    service_stop
    fuser -k $MNTPOINT
    umountAll "$MNTPOINT"
    sleep 1
    mountopt_btrfs=$(mountopt "$UUID")
    mount -t btrfs -o $mountopt_btrfs $lv_path $MNTPOINT
    if [ $? -ne 0 ]; then
        script_put_lock > /dev/null
        exit 1
    fi
	#mount home
    df-json | grep /home >/dev/null
    [ $? -ne 0 ] && /etc/init.d/nas/mkbase >/dev/null 2>&1
fi

# enable service
ter_service all start >/dev/null &

script_put_lock > /dev/null
exit 0
