[pkg-cryptsetup-devel] Bug#792552: cryptsetup freezes shutdown procedure

Avatar avatarek at gmail.com
Thu Jul 16 08:07:26 UTC 2015


Package: cryptsetup
Version: 2:1.6.6-5


Description:
When shutting down Debian Stretch with full disk encryption, an error
message appears:

Stopping remaining crypto disks
sda2_crypt (busy)...

and the shutdown process hangs

it is a crypto testing setup, with /var & /home on separate encrypted
partitions(no LVM),
with their keys stored on root partition. During shutdown
/lib/cryptsetup/cryptdisks.functions
does one pass on parsing crypttab and it's done.

System:

Debian GNU/Linux stretch/sid
Kernel: 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1 (2015-05-24) x86_64
GNU/Linux
Libc:    Debian GLIBC 2.19-18


I made a patch, that works for me (feel free to improve on it)


diff  /lib/cryptsetup/cryptdisks.functions.orig
/lib/cryptsetup/cryptdisks.functions.new
675a676,677
>         elif [ "$INITSTATE" = "remaining" ]; then
>             return 2
770,774c772,790
<
<     egrep -v "^[[:space:]]*(#|$)" "$TABFILE" | while read dst src key
opts; do
<         handle_crypttab_line_stop "$dst" "$src" "$key" "$opts" <&3 ||
log_action_end_msg $?
<     done 3<&1
<
---
>     #BUGFIX
>     ITERATE=1
>     while [ "$ITERATE" = "1" ]; do
>         egrep -v "^[[:space:]]*(#|$)" "$TABFILE" | while read dst src key
opts; do
>         handle_crypttab_line_stop "$dst" "$src" "$key" "$opts" <&3
>         STATE=$?
>         if [ "$STATE" =  "0" ]; then
>             echo "stopped $dst"
>             ITERATE=0
>         elif [ "$STATE" = "1" ]; then
>             log_action_end_msg $?
>             ITERATE=0
>         elif [ "$STATE" = "2" ]; then
>             echo "$dst Busy. Retrying..."
>             sleep 1
>             ITERATE=1
>         fi
>         done 3<&1
>     done
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-cryptsetup-devel/attachments/20150716/e779531a/attachment.html>


More information about the pkg-cryptsetup-devel mailing list