c743f202faf5b89baaba13ddec0646ccb9692160
[ganeti-extstorage-zfs] / sbin / lvcreate
1 #!/bin/sh -xe
2
3 . /usr/share/ganeti/extstorage/zfs/defaults.sh
4
5 set -x
6
7 # gnt-instance move --node arh-hw bbb
8 # lvcreate -L5120m -ne4bf0e9d-2c6e-4e1c-8bc4-342ee94724a5.disk0 -i1 ffzgvg tmp500g/block
9 if echo $* | grep -q $EXTP_VG ; then
10         SNAP=0
11         while [ ! -z "$1" ] ; do
12                 case $1 in 
13
14                 -L*) VOL_SIZE=`echo $1 | sed 's/-L//'` ;;
15                 -n*) VOL_NAME=`echo $1 | sed 's/-n//'` ;;
16                 -s)  SNAP=1 ;;
17                 /dev/$EXTP_VG/*) VOL_ORIGIN=`echo $1 | cut -d/ -f4`
18
19                 esac
20                 shift
21         done
22
23         if [ ! $SNAP ] ; then
24
25                 test -e /dev/zvol/$EXTP_ZFS/$VOL_NAME || \
26                 zfs create -V ${VOL_SIZE} $EXTP_CREATE $EXTP_ZFS/$VOL_NAME
27
28         else
29
30                 zfs snap $EXTP_ZFS/$VOL_ORIGIN@snap
31                 sleep 1
32                 zfs clone $EXTP_ZFS/$VOL_ORIGIN@snap $EXTP_ZFS/$VOL_NAME
33                 sleep 1
34                 ln -sfv `readlink -f /dev/zvol/$EXTP_ZFS/$VOL_NAME` /dev/$EXTP_VG/$VOL_NAME
35
36         fi
37
38 else
39         /sbin/lvm lvcreate $*
40 fi