diff options
author | Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> | 2012-02-22 23:52:06 -0300 |
---|---|---|
committer | Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> | 2012-02-23 00:01:17 -0300 |
commit | 354a202bcc3c3ddc90fd2a9331ebfda8ba14cc36 (patch) | |
tree | 43d717589b87a6aef425d5fc39a1a6588af2dee5 /archiso/archiso_shutdown | |
parent | 60aa7a18575f539ab7f47cf2eff2c7c39beb8e3f (diff) |
[archiso] Update archiso_shutdown hook
* Add libraries from /usr/lib and /sbin/losetup.
* Use used_block_devices to detach loop devices.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
Diffstat (limited to 'archiso/archiso_shutdown')
-rw-r--r-- | archiso/archiso_shutdown | 13 |
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 |