From 4070db2e6a6c6e43bf27efb9540b7d954e610934 Mon Sep 17 00:00:00 2001 From: Andrew Cady Date: Wed, 27 Apr 2016 11:54:14 -0400 Subject: samizdat-eject improvements --- samizdat-eject.sh | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/samizdat-eject.sh b/samizdat-eject.sh index ac2ebc3..e9e71e5 100755 --- a/samizdat-eject.sh +++ b/samizdat-eject.sh @@ -1,4 +1,15 @@ #!/bin/sh +die() +{ + printf '%s\n' "$*" >&2 + exit 1 +} + +target=$1 + +[ "$target" ] || die "Usage: $0 " +[ ! -e "$target" ] || die "Error: file exists: $target" + . mdadm-dup.sh || exit 1 @@ -10,10 +21,6 @@ btrfs_subdevices() devices=$(btrfs_subdevices /) || exit 1 -target=$1 - -[ -e "$target" ] && exit 1 - set -- seen= for dev in $devices; do @@ -23,7 +30,7 @@ for dev in $devices; do /dev/mapper/samizdatcrypt) seen=y ;; esac done -[ "$seen" ] || exit 1 +[ "$seen" ] || set -- # avoid messing up someone's btrfs! copy() { @@ -34,6 +41,8 @@ remove() { for dev; do (set -x; btrfs device remove "$dev" /) + dmsetup remove "$dev" + losetup -D done } -- cgit v1.2.3