Author: arekm
Date: Mon Dec  5 09:25:54 2011
New Revision: 12438

Modified:
   geninitrd/trunk/mod-luks.sh
Log:
Fallback detection if device is crypted.

Modified: geninitrd/trunk/mod-luks.sh
==============================================================================
--- geninitrd/trunk/mod-luks.sh (original)
+++ geninitrd/trunk/mod-luks.sh Mon Dec  5 09:25:54 2011
@@ -37,7 +37,7 @@
                return 1
        fi
 
-       local dev dm_name=${node#/dev/mapper/}
+       local dev dm_status dm_name=${node#/dev/mapper/}
        if [ "$node" = "$dm_name" ]; then
                debug "is_luks: $node is not device mapper name"
                return 1
@@ -48,7 +48,15 @@
                /sbin/cryptsetup isLuks $dev
                rc=$?
        else
-               rc=1
+               # If luks partition was activated using old cryptsetup (at 
initrd level)
+               # then "device:" report could be missing from cryptsetup status 
above.
+               # Fallback to dmsetup report in such case.
+               dm_status=$(/sbin/dmsetup status --target crypt $dm_name 
2>/dev/null)
+               if [ -n "$dm_status" ]; then
+                       rc=0
+               else
+                       rc=1
+               fi
        fi
 
        if [ $rc = 0 ]; then
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to