SVN: geninitrd/trunk/mod-luks.sh

jajcus jajcus at pld-linux.org
Mon Dec 5 20:52:18 CET 2011


Author: jajcus
Date: Mon Dec  5 20:52:18 2011
New Revision: 12443

Modified:
   geninitrd/trunk/mod-luks.sh
Log:
- look-up crypttab in is_luks() too, active LUKS device is not examined any
  more (the underlaying device is still checked with 'cryptsetup isLuks')


Modified: geninitrd/trunk/mod-luks.sh
==============================================================================
--- geninitrd/trunk/mod-luks.sh	(original)
+++ geninitrd/trunk/mod-luks.sh	Mon Dec  5 20:52:18 2011
@@ -32,31 +32,18 @@
 		return 1
 	fi
 
-	if [ ! -e "$node" ]; then
-		warn "is_luks(): node $node doesn't exist!"
-		return 1
-	fi
-
-	local dev dm_status dm_name=${node#/dev/mapper/}
+	local dev dm_name=${node#/dev/mapper/}
 	if [ "$node" = "$dm_name" ]; then
 		debug "is_luks: $node is not device mapper name"
 		return 1
 	fi
-
-	dev=$(/sbin/cryptsetup status $dm_name 2>/dev/null | awk '/device:/{print $2}')
+	
+	dev=$(awk '$1 == "'"$dm_name"'" { print $2 }' /etc/crypttab)
 	if [ "$dev" ]; then
 		/sbin/cryptsetup isLuks $dev
 		rc=$?
 	else
-		# 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
+		rc=1
 	fi
 
 	if [ $rc = 0 ]; then


More information about the pld-cvs-commit mailing list