Close unused LUKS devices in all cases.
authorTails developers <amnesia@boum.org>
Sat, 11 Feb 2012 20:35:35 +0000 (21:35 +0100)
committerDaniel Baumann <daniel@debian.org>
Sun, 1 Apr 2012 20:13:47 +0000 (22:13 +0200)
Previously LUKS partitions whose fs had the incorrect partition label
would be left open when using persistent-storage=partition.

scripts/live-helpers

index 43485ed..db1eb9f 100644 (file)
@@ -409,11 +409,11 @@ find_persistent_media ()
                        done
                fi
 
+               overlay_on_dev=""
+               snapshot_on_dev=""
                if echo ${PERSISTENT_STORAGE} | grep -qe "\<file\>"
                then
                        devfstype="$(get_fstype ${dev})"
-                       overlay_on_dev=""
-                       snapshot_on_dev=""
                        backing="${persistent_backing}/$(basename ${dev})"
                        mkdir -p "${backing}"
                        if is_supported_fs ${devfstype} && try_mount "${dev}" "${backing}" "rw" "${devfstype}"
@@ -441,15 +441,17 @@ find_persistent_media ()
                                        done
                                done
                        fi
-                       if [ -z "${overlay_on_dev}" ]
+                       if [ -z "${overlay_on_dev}" ] && [ -z "${snapshot_on_dev}" ]
                        then
                                umount ${backing} > /dev/null 2>&1 || true
-                               if [ -z "${snapshot_on_dev}" ] && [ -n "${luks_device}" ] && /sbin/cryptsetup status "${luks_device}" 1> /dev/null
-                               then
-                                       /sbin/cryptsetup luksClose "${luks_device}"
-                               fi
                        fi
                fi
+               if [ -z "${overlay_on_dev}" ] && [ -z "${snapshot_on_dev}" ] && \
+                  [ -n "${luks_device}" ] && \
+                  /sbin/cryptsetup status "${luks_device}" 1> /dev/null 2>&1
+               then
+                       /sbin/cryptsetup luksClose "${luks_device}"
+               fi
        done
 }