summaryrefslogtreecommitdiff
path: root/modules/losetup/files/dismantle-loop-device
diff options
context:
space:
mode:
Diffstat (limited to 'modules/losetup/files/dismantle-loop-device')
-rw-r--r--modules/losetup/files/dismantle-loop-device15
1 files changed, 15 insertions, 0 deletions
diff --git a/modules/losetup/files/dismantle-loop-device b/modules/losetup/files/dismantle-loop-device
new file mode 100644
index 0000000..be3f3a0
--- /dev/null
+++ b/modules/losetup/files/dismantle-loop-device
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+target_file="$1"
+safe_name="$(systemd-escape "$target_file")"
+
+set +x
+
+loop_device=$(readlink "/dev/loop-by-name/${safe_name}")
+rm "/dev/loop-by-name/${safe_name}"
+
+for part in "/dev/loop-by-name/${safe_name}"-p*; do
+ rm "$part"
+done
+
+losetup -d $loop_device