Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/archiso/archiso_shutdown
diff options
context:
space:
mode:
Diffstat (limited to 'archiso/archiso_shutdown')
-rw-r--r--archiso/archiso_shutdown13
1 files changed, 5 insertions, 8 deletions
diff --git a/archiso/archiso_shutdown b/archiso/archiso_shutdown
index 26220a6..c430014 100644
--- a/archiso/archiso_shutdown
+++ b/archiso/archiso_shutdown
@@ -10,10 +10,8 @@ umount $(mount | awk '$3 ~/^\/oldroot/ {print $3}' | sort -r)
# Remove all dm-snapshot devices.
dmsetup remove_all
-# Remove all loopback devices made for dm-snapshots devices
-# other misc loops like used for pure squashfs images
-# and unmount/detach *.fs.sfs images.
-for _lup in $(ls -r /dev/loop[1-9][0-9][0-9]); do
+# Remove all loopback devices.
+for _lup in $(grep ^/dev/loop /oldrun/archiso/used_block_devices | tac); do
if ! losetup -d ${_lup} 2> /dev/null; then
umount -d ${_lup}
fi
@@ -24,11 +22,10 @@ umount /oldrun/archiso/cowspace
# Unmount boot device if needed (no copytoram=y used)
if [[ ! -d /oldrun/archiso/copytoram ]]; then
- umount /oldrun/archiso/bootmnt
- # Detach img_loop= and unmount img_dev= (archiso_loop_mnt hook)
- if [[ -f /oldrun/archiso/img_dev_loop ]]; then
- losetup -d $(cat /oldrun/archiso/img_dev_loop)
+ if [[ -d /oldrun/archiso/img_dev ]]; then
umount /oldrun/archiso/img_dev
+ else
+ umount /oldrun/archiso/bootmnt
fi
if [[ -f /oldrun/archiso/nbd_client.pid ]]; then
nbd-client -d /dev/nbd0