#!/bin/sh
# usage:
# 쐬
#  # mngstorage create disk1 100M
#  # mngstorage delete disk1
#  # mngstorage snap   disk1 disk2
#
#
STORAGE_PATH=/storage/lv
iqn=iqn.2008-09.com.example
vgname=vg


case $1 in
    create)
        MESURE=`echo $3|sed -e 's/\([0-9]\+\)\(.\)$/\2/'`
        SIZE=`echo $3|sed -e 's/\([0-9]\+\)\(.\)$/\1/'`

        dd of=$STORAGE_PATH/$2.img bs=1$MESURE seek=$SIZE count=0
echo "<target ${iqn}:${vgname}.$2>
    backing-store ${STORAGE_PATH}/$2.raw
</target>
" >> /etc/tgt/conf.d/${vgname}_$2.conf
        service tgt reload
    ;;

    snap)
        cp --reflink $STORAGE_PATH/$2.raw $STORAGE_PATH/$3.raw
echo "<target ${iqn}:${vgname}.$3>
    backing-store ${STORAGE_PATH}/$3.raw
</target>
" >> /etc/tgt/conf.d/${vgname}_$3.conf
        service tgt reload
    ;;

    delete)
        rm /etc/tgt/conf.d/${vgname}_${2}.conf
        rm $STORAGE_PATH/$2.raw
        service tgt reload
    ;;

    *)
        echo "error"
    ;;

esac
