projects
/
ganeti-extstorage-zfs
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
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
. /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
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