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