remove zfs snapshot on clone removal
[ganeti-extstorage-zfs] / remove
diff --git a/remove b/remove
index d02293b..2aadedf 100755 (executable)
--- a/remove
+++ b/remove
@@ -2,5 +2,16 @@
 
 . /usr/share/ganeti/extstorage/zfs/defaults.sh
 
+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 || true
+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