dracut/0079-95dasd_rules-fixup-rd.dasd-parsing.patch
Robert Milasan 5f3aadd9ae Accepting request 238799 from home:hreinecke:branches:Base:System
- 95dasd_rules: Fixup rd.dasd parsing
  * Add: 0079-95dasd_rules-fixup-rd.dasd-parsing.patch
- 95dasd_rules: Print out rd.dasd command-line
  * Add: 0080-95dasd_rules-print-out-rd.dasd-commandline.patch
- 95dasd_mod: do not set module parameter
  * Add: 0081-95dasd_mod-do-not-set-module-parameters-if-dasd_cio_.patch
- 00warpclock: Check for /sbin/hwclock (bnc#884513)
  * Add: 0082-00warpclock-check-for-sbin-hwclock.patch
- 95zfcp_rules: Fixup rd.zfcp parsing
  * Add: 0083-95zfcp_rules-Fixup-rd.zfcp-parsing.patch
- 95rootfs_block: terminate commandline parameter
  * Add: 0084-95rootfs-block-Correctly-terminate-commandline-param.patch
- 95zfcp_rules: Print out rd.zfcp command-line
  * Add: 0085-95zfcp_rules-print-out-rd.zfcp-commandline-parameter.patch
- 95zfcp_rules: Auto-generate ipl device rule
  * Add: 0086-95zfcp_rules-Auto-generate-udev-rule-for-ipl-device.patch
- 95dasd_rules: Auto-generate ipl device rule
  * Add: 0087-95dasd_rules-Auto-generate-udev-rule-for-ipl-device.patch

OBS-URL: https://build.opensuse.org/request/show/238799
OBS-URL: https://build.opensuse.org/package/show/Base:System/dracut?expand=0&rev=165
2014-06-27 07:31:06 +00:00

72 lines
2.6 KiB
Diff

From b302dd2a53864bdd4ff271275fa244f654cb92ca Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Thu, 26 Jun 2014 10:49:03 +0200
Subject: 95dasd_rules: fixup rd.dasd parsing
There were some errors when rd.dasd parsing, resulting in the
device never to be activated. And we should check for
cio_ignore even if a udev rules has been found.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
modules.d/95dasd_rules/parse-dasd.sh | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/modules.d/95dasd_rules/parse-dasd.sh b/modules.d/95dasd_rules/parse-dasd.sh
index 02b4aea..43ca87a 100755
--- a/modules.d/95dasd_rules/parse-dasd.sh
+++ b/modules.d/95dasd_rules/parse-dasd.sh
@@ -31,6 +31,10 @@ 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
@@ -38,9 +42,6 @@ ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="$ccw", IMPORT{program}="collect $ccw %
ACTION=="add", SUBSYSTEM=="drivers", KERNEL=="$_drv", IMPORT{program}="collect $ccw %k ${ccw} $_drv"
ACTION=="add", ENV{COLLECT_$ccw}=="0", ATTR{[ccw/$ccw]online}="1"
EOF
- if [ -x /sbin/cio_ignore ] && ! cio_ignore -i $ccw > /dev/null ; then
- cio_ignore -r $ccw
- fi
}
for dasd_arg in $(getargs root=) $(getargs resume=); do
@@ -48,7 +49,7 @@ for dasd_arg in $(getargs root=) $(getargs resume=); do
case $dasd_arg in
/dev/disk/by-path/ccw-*)
ccw_arg=${dasd_arg##*/}
- break;
+ ;;
esac
if [ -n "$ccw_arg" ] ; then
OLDIFS="$IFS"
@@ -79,8 +80,8 @@ for dasd_arg in $(getargs rd.dasd=); do
end=${1#0.0.}
shift
IFS="$OLDIFS"
- for dev in $(seq $(( 10#$start )) $(( 10#$end )) ) ; do
- create_udev_rule $(printf "0.0.%04d" "$dev")
+ for dev in $(seq $(( 16#$start )) $(( 16#$end )) ) ; do
+ create_udev_rule $(printf "0.0.%04x" "$dev")
done
;;
*)
@@ -89,7 +90,7 @@ for dasd_arg in $(getargs rd.dasd=); do
ro=1
fi
dev=${dev#0.0.}
- create_udev_rule $(printf "0.0.%04d" $(( 10#$dev )) )
+ create_udev_rule $(printf "0.0.%04x" $(( 16#$dev )) )
shift
;;
esac
--
1.8.4.5