SVN: geninitrd/trunk/mod-luks.sh

arekm arekm at pld-linux.org
Mon Dec 5 09:25:54 CET 2011


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


More information about the pld-cvs-commit mailing list