File 0117-95dasd_rules-Enable-the-device-before-checking-devic.patch of Package dracut

From 22c039c79eb496af10fbc811854e07822b063616 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Mon, 14 Jul 2014 10:13:53 +0200
Subject: 95dasd_rules: Enable the device before checking device type

For creating dynamic udev rules parse-dasd.sh look for the device
type in sysfs, which of course does not exist if cio_ignore is
active. So first enable the device before checking.

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

diff --git a/modules.d/95dasd_rules/parse-dasd.sh b/modules.d/95dasd_rules/parse-dasd.sh
index bafd053..0c297e5 100755
--- a/modules.d/95dasd_rules/parse-dasd.sh
+++ b/modules.d/95dasd_rules/parse-dasd.sh
@@ -7,6 +7,10 @@ create_udev_rule() {
     local _drv _cu_type _dev_type
     local _rule=/etc/udev/rules.d/51-dasd-${ccw}.rules
 
+    if [ -x /sbin/cio_ignore ] && cio_ignore -i $ccw > /dev/null ; then
+        cio_ignore -r $ccw
+    fi
+
     if [ -e /sys/bus/ccw/devices/${ccw} ] ; then
         read _cu_type < /sys/bus/ccw/devices/${ccw}/cutype
         read _dev_type < /sys/bus/ccw/devices/${ccw}/devtype
@@ -31,10 +35,6 @@ create_udev_rule() {
     esac
     [ -z "${_drv}" ] && return 0
 
-    if [ -x /sbin/cio_ignore ] && cio_ignore -i $ccw > /dev/null ; then
-        cio_ignore -r $ccw
-    fi
-
     [ -e ${_rule} ] && return 0
 
     cat > $_rule <<EOF
@@ -72,8 +72,10 @@ done
 
 for dasd_arg in $(getargs rd.dasd=); do
     (
+        local OLDIFS="$IFS"
         local IFS=","
         set -- $dasd_arg
+        IFS="$OLDIFS"
         while (($# > 0)); do
             case $1 in
                 autodetect|probeonly)
-- 
1.8.4.5

openSUSE Build Service is sponsored by