]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
crypt: loop until all non-busy crypt devs closed
authorHarald Hoyer <harald@redhat.com>
Mon, 2 Aug 2010 07:40:55 +0000 (09:40 +0200)
committerHarald Hoyer <harald@redhat.com>
Mon, 2 Aug 2010 07:59:10 +0000 (09:59 +0200)
modules.d/90crypt/crypt-cleanup.sh
modules.d/90crypt/install

index a9c976a7b833bb034184e6ef62b2eee9e6bb292c..1242b1cad191699eb341e5625e283735aec470ae 100755 (executable)
@@ -2,6 +2,10 @@
 # close everything which is not busy
 rm -f /etc/udev/rules.d/70-luks.rules >/dev/null 2>&1
 
-for i in /dev/mapper/luks-*; do
-    cryptsetup luksClose $i >/dev/null 2>&1
+while true; do
+       local do_break="y"
+       for i in /dev/mapper/luks-*; do
+           cryptsetup luksClose $i >/dev/null 2>&1 && do_break=n
+       done
+       [ "$do_break" = "y" ] && break
 done
index 7a7418d579cb723c7e9f38e26f36cd7f1ac99bbd..0a1a8e06654878d4eff05aba53b67e9937272f2a 100755 (executable)
@@ -3,5 +3,4 @@ inst cryptsetup
 inst "$moddir"/cryptroot-ask.sh /sbin/cryptroot-ask
 inst_hook cmdline 30 "$moddir/parse-crypt.sh"
 inst_hook pre-pivot 30 "$moddir/crypt-cleanup.sh"
-inst_hook pre-pivot 31 "$moddir/crypt-cleanup.sh"
 inst /etc/crypttab