From 29842334b19f9404536111200c0c84b25b333668 Mon Sep 17 00:00:00 2001 From: Andrew Cady Date: Thu, 28 Apr 2016 01:53:17 -0400 Subject: samizdat-eject --- old-school/mdadm-dup.sh | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'old-school/mdadm-dup.sh') diff --git a/old-school/mdadm-dup.sh b/old-school/mdadm-dup.sh index c13a325..70163a5 100644 --- a/old-school/mdadm-dup.sh +++ b/old-school/mdadm-dup.sh @@ -48,13 +48,20 @@ dm_snapshot_teardown() case "$dev" in /dev/dm-*) dmsetup table "$dev" | ( - read _ _ snapshot ro_dev rw_dev _ _ - [ "$snapshot" = snapshot ] || exit 1 - dmsetup remove "$dev" || exit 1 - # errors ignored because the loop dev can be configured to be - # automatically removed upon disuse - losetup -d /dev/block/"$rw_dev" || true - eject /dev/block/"$ro_dev" || true + read _ _ snapshot ro_dev rw_dev _ crypt_dev _ + case "$snapshot" in + snapshot) + dmsetup remove "$dev" || exit 1 + # errors ignored because the loop dev can be configured to be + # automatically removed upon disuse + losetup -d /dev/block/"$rw_dev" || true + eject /dev/block/"$ro_dev" || true + ;; + crypt) + cryptsetup remove "$dev" || exit 1 + losetup -d /dev/block/"$crypt_dev" || true + ;; + esac ) || return ;; *) return 1 ;; @@ -129,7 +136,7 @@ cryptsetup_temp() printf %s "$secret" | cryptsetup --key-file - luksOpen "$cleartext_dev" "$cryptname" || return unset secret - set $parms + set "$parms" wait_for_dm_device /dev/mapper/"$cryptname" rm "$temp_file" -- cgit v1.2.3