remove zfs snapshot on clone removal
[ganeti-extstorage-zfs] / remove
diff --git a/remove b/remove
index 339fad9..2aadedf 100755 (executable)
--- a/remove
+++ b/remove
@@ -1,5 +1,17 @@
 #!/bin/sh
 
-. /usr/share/ganeti/extstorage/zfs/settings.sh
+. /usr/share/ganeti/extstorage/zfs/defaults.sh
 
-zfs destroy $block/$VOL_NAME
+test -e /dev/zvol/$EXTP_ZFS/$VOL_NAME || exit 0
+
+# remove snapshot flag on origin
+origin=$(zfs_get lv:origin)
+test ! -z "$origin" && zfs set lv:s='-' $EXTP_ZFS/$origin
+
+rm -f /dev/$EXTP_VG/$VOL_NAME
+zfs destroy $EXTP_DESTROY $EXTP_ZFS/$VOL_NAME
+
+snap=$(echo $VOL_NAME | sed 's/\.snap$/@snap/')
+if [ $snap != $VOL_NAME ] ; then
+       zfs destroy $EXTP_DESTROY $EXTP_ZFS/$snap
+fi