]> git.pld-linux.org Git - projects/geninitrd.git/commitdiff
Don't hardcode device name. Local variables.
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Mon, 5 Dec 2011 18:26:10 +0000 (18:26 +0000)
committerArkadiusz Miśkiewicz <arekm@maven.pl>
Mon, 5 Dec 2011 18:26:10 +0000 (18:26 +0000)
svn-id: @12440

mod-luks.sh

index 0f26016c0104737460dab3c125e0d32d4a6f89c2..3bc9872c37ea511a8c586fd2e16d18c540a0940f 100644 (file)
@@ -72,13 +72,13 @@ is_luks() {
 # @access      public
 find_modules_luks() {
        local devpath="$1"
-       local dev
+       local dev vars major minor
 
        local name=${devpath#/dev/mapper/}
        LUKSDEV=$(/sbin/cryptsetup status $name 2>/dev/null | awk '/device:/{print $2}')
        if [ -z "$LUKSDEV" ]; then
                # could be initialized by old cryptsetup, we need some magic
-               vars=$(dmsetup deps lolek_crypt | awk '/dependencies.*(.*)/ { left=index($0, "("); right=index($0, ")"); split(substr($0, left + 1, right - left - 1), A, " *, *") ; print "major=" A[1] "; minor=" A[2] }')
+               vars=$(dmsetup deps $name 2> /dev/null | awk '/dependencies.*(.*)/ { left=index($0, "("); right=index($0, ")"); split(substr($0, left + 1, right - left - 1), A, " *, *") ; print "major=" A[1] "; minor=" A[2] }')
                eval "$vars"
                if [ -n "$major" -a -n "$minor" ] ; then
                        LUKSDEV=$(awk "\$1 == $major && \$2 == $minor { print \"/dev/\" \$4 }" /proc/partitions)
@@ -86,7 +86,7 @@ find_modules_luks() {
 
        fi
        if [ -z "$LUKSDEV" ]; then
-               die "Lost cryptsetup device meanwhile?"
+               die "Can't find underlying device names for crypted device."
        fi
 
        find_module "dm-crypt"
This page took 0.071887 seconds and 4 git commands to generate.