File 0075-95dasd_rules-enable-parsing-of-rd.dasd-commandline-p.patch of Package dracut.16003

From 1ab0a485f8e3a3b0ba62ea2f920fd3457039e7f1 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Wed, 18 Jun 2014 15:10:46 +0200
Subject: 95dasd_rules: enable parsing of rd.dasd= commandline parameter

Dracut documents the 'rd.dasd=' parameter, so we should be
enabling the usage of this parameter, too.

Signed-off-by: Hannes Reinecke <hare@suse.de>
---
 modules.d/95dasd_rules/parse-dasd.sh | 37 ++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

Index: dracut-042/modules.d/95dasd_rules/parse-dasd.sh
===================================================================
--- dracut-042.orig/modules.d/95dasd_rules/parse-dasd.sh	2015-06-11 17:39:47.000000000 +0200
+++ dracut-042/modules.d/95dasd_rules/parse-dasd.sh	2015-06-24 18:02:09.969406631 +0200
@@ -52,3 +52,40 @@ for dasd_arg in $(getargs root=) $(getar
         fi
     )
 done
+
+for dasd_arg in $(getargs rd.dasd=); do
+    (
+        IFS=","
+        set -- $dasd_arg
+        unset IFS
+        while (($# > 0)); do
+            case $1 in
+                autodetect|probeonly)
+                    shift
+                    ;;
+                *-*)
+                    range=$1
+                    IFS="-"
+                    set -- $range
+                    start=${1#0.0.}
+                    shift
+                    end=${1#0.0.}
+                    shift
+                    unset IFS
+                    for dev in $(seq $(( 10#$start )) $(( 10#$end )) ) ; do
+                        create_udev_rule $(printf "0.0.%04d" "$dev")
+                    done
+                    ;;
+                *)
+                    dev=${1%(ro)}
+                    if [ "$dev" != "$1" ] ; then
+                        ro=1
+                    fi
+                    dev=${dev#0.0.}
+                    create_udev_rule $(printf "0.0.%04d" $(( 10#$dev )) )
+                    shift
+                    ;;
+            esac
+        done
+    )
+done