-#!/bin/sh -x
+#!/bin/sh -xe
. /usr/share/ganeti/extstorage/zfs/defaults.sh
set -x
-/sbin/lvm lvcreate $*
-
# gnt-instance move --node arh-hw bbb
# lvcreate -L5120m -ne4bf0e9d-2c6e-4e1c-8bc4-342ee94724a5.disk0 -i1 ffzgvg tmp500g/block
if echo $* | grep -q $EXTP_VG ; then
+ SNAP=0
while [ ! -z "$1" ] ; do
case $1 in
-L*) VOL_SIZE=`echo $1 | sed 's/-L//'` ;;
-n*) VOL_NAME=`echo $1 | sed 's/-n//'` ;;
+ -s) SNAP=1 ;;
+ /dev/$EXTP_VG/*) VOL_ORIGIN=`echo $1 | cut -d/ -f4`
esac
shift
done
-test -e /dev/zvol/$EXTP_ZFS/$VOL_NAME || \
-zfs create -V ${VOL_SIZE} $EXTP_CREATE $EXTP_ZFS/$VOL_NAME
+ if [ ! $SNAP ] ; then
+
+ test -e /dev/zvol/$EXTP_ZFS/$VOL_NAME || \
+ zfs create -V ${VOL_SIZE} $EXTP_CREATE $EXTP_ZFS/$VOL_NAME
+
+ else
+
+ zfs snap $EXTP_ZFS/$VOL_ORIGIN@snap
+ sleep 1
+ zfs clone $EXTP_ZFS/$VOL_ORIGIN@snap $EXTP_ZFS/$VOL_NAME
+ sleep 1
+
+ fi
+else
+ /sbin/lvm lvcreate $*
fi
-lvcreate -L5120m -ne4bf0e9d-2c6e-4e1c-8bc4-342ee94724a5.disk0 -i1 ffzgvg tmp500g/block
+#lvcreate -L5120m -ne4bf0e9d-2c6e-4e1c-8bc4-342ee94724a5.disk0 -i1 ffzgvg tmp500g/block
+lvcreate -L2048m -s -n3e6746a9-cb99-4584-a219-af7e4b5cb5f5.disk0_data.snap /dev/ffzgvg/3e6746a9-cb99-4584-a219-af7e4b5cb5f5.disk0_data