Hello community, here is the log from the commit of package dracut for openSUSE:Factory checked in at 2014-06-30 21:43:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dracut (Old) and /work/SRC/openSUSE:Factory/.dracut.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dracut" Changes: -------- --- /work/SRC/openSUSE:Factory/dracut/dracut.changes 2014-06-25 10:49:00.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.dracut.new/dracut.changes 2014-06-30 21:43:26.000000000 +0200 @@ -1,0 +2,46 @@ +Thu Jun 26 16:41:58 CEST 2014 - h...@suse.de + +- 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 + +------------------------------------------------------------------- +Mon Jun 23 14:13:53 CEST 2014 - h...@suse.de + +- More empty commandline fixes + * Add: 0074-More-empty-cmdline-fixes.patch +- 95dasd_rules: enable parsing of rd.dasd= commandline parameter + * Add: 0075-95dasd_rules-enable-parsing-of-rd.dasd-commandline-p.patch +- Correctly set cio_ignore for dynamic s390 rules + * Add: 0076-Correctly-set-cio_ignore-for-dynamic-s390-rules.patch +- 90multipath: add missing 11-dm-mpath.rules file (bnc#883149) + * Add: 0077-90multipath-add-missing-11-dm-mpath.rules-file.patch +- Restore original IFS value (bnc#883770) + * Add: 0078-Restore-original-IFS-value.patch + +------------------------------------------------------------------- +Wed Jun 18 02:00:28 CEST 2014 - tbehr...@suse.com + +- Fix non-export of journal dev boot options + * Add: 0071-Fix-non-export-of-journal-dev-boot-options.patch +- Also export root= boot param for hostonly-cmdline + * Add: 0072-Also-export-root-boot-param-for-hostonly-cmdline-cas.patch +- Don't create lots of empty cmdline files + * Add: 0073-Don-t-create-lots-of-empty-cmdline-files-for-hostonl.patch + +------------------------------------------------------------------- New: ---- 0071-Fix-non-export-of-journal-dev-boot-options.patch 0072-Also-export-root-boot-param-for-hostonly-cmdline-cas.patch 0073-Don-t-create-lots-of-empty-cmdline-files-for-hostonl.patch 0074-More-empty-cmdline-fixes.patch 0075-95dasd_rules-enable-parsing-of-rd.dasd-commandline-p.patch 0076-Correctly-set-cio_ignore-for-dynamic-s390-rules.patch 0077-90multipath-add-missing-11-dm-mpath.rules-file.patch 0078-Restore-original-IFS-value.patch 0079-95dasd_rules-fixup-rd.dasd-parsing.patch 0080-95dasd_rules-print-out-rd.dasd-commandline.patch 0081-95dasd_mod-do-not-set-module-parameters-if-dasd_cio_.patch 0082-00warpclock-check-for-sbin-hwclock.patch 0083-95zfcp_rules-Fixup-rd.zfcp-parsing.patch 0084-95rootfs-block-Correctly-terminate-commandline-param.patch 0085-95zfcp_rules-print-out-rd.zfcp-commandline-parameter.patch 0086-95zfcp_rules-Auto-generate-udev-rule-for-ipl-device.patch 0087-95dasd_rules-Auto-generate-udev-rule-for-ipl-device.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dracut.spec ++++++ --- /var/tmp/diff_new_pack.e1VV93/_old 2014-06-30 21:43:27.000000000 +0200 +++ /var/tmp/diff_new_pack.e1VV93/_new 2014-06-30 21:43:27.000000000 +0200 @@ -91,6 +91,23 @@ Patch68: 0068-95fcoe-uefi-Test-for-EFI-firmware.patch Patch69: 0069-81cio_ignore-skip-module-if-cio_ignore-is-not-active.patch Patch70: 0070-81cio_ignore-rewrite-module.patch +Patch71: 0071-Fix-non-export-of-journal-dev-boot-options.patch +Patch72: 0072-Also-export-root-boot-param-for-hostonly-cmdline-cas.patch +Patch73: 0073-Don-t-create-lots-of-empty-cmdline-files-for-hostonl.patch +Patch74: 0074-More-empty-cmdline-fixes.patch +Patch75: 0075-95dasd_rules-enable-parsing-of-rd.dasd-commandline-p.patch +Patch76: 0076-Correctly-set-cio_ignore-for-dynamic-s390-rules.patch +Patch77: 0077-90multipath-add-missing-11-dm-mpath.rules-file.patch +Patch78: 0078-Restore-original-IFS-value.patch +Patch79: 0079-95dasd_rules-fixup-rd.dasd-parsing.patch +Patch80: 0080-95dasd_rules-print-out-rd.dasd-commandline.patch +Patch81: 0081-95dasd_mod-do-not-set-module-parameters-if-dasd_cio_.patch +Patch82: 0082-00warpclock-check-for-sbin-hwclock.patch +Patch83: 0083-95zfcp_rules-Fixup-rd.zfcp-parsing.patch +Patch84: 0084-95rootfs-block-Correctly-terminate-commandline-param.patch +Patch85: 0085-95zfcp_rules-print-out-rd.zfcp-commandline-parameter.patch +Patch86: 0086-95zfcp_rules-Auto-generate-udev-rule-for-ipl-device.patch +Patch87: 0087-95dasd_rules-Auto-generate-udev-rule-for-ipl-device.patch BuildRequires: asciidoc BuildRequires: bash @@ -202,6 +219,23 @@ %patch68 -p1 %patch69 -p1 %patch70 -p1 +%patch71 -p1 +%patch72 -p1 +%patch73 -p1 +%patch74 -p1 +%patch75 -p1 +%patch76 -p1 +%patch77 -p1 +%patch78 -p1 +%patch79 -p1 +%patch80 -p1 +%patch81 -p1 +%patch82 -p1 +%patch83 -p1 +%patch84 -p1 +%patch85 -p1 +%patch86 -p1 +%patch87 -p1 %build %configure\ ++++++ 0071-Fix-non-export-of-journal-dev-boot-options.patch ++++++ >From f483c78483992a7778751f9a01bbf09feb2b5bbe Mon Sep 17 00:00:00 2001 From: Thorsten Behrens <tbehr...@suse.com> Date: Wed, 18 Jun 2014 01:57:29 +0200 Subject: Fix non-export of journal dev boot options. cmdline_journal does not contain linefeeds anymore, so read silently skipped it altogether. Signed-off-by: Thorsten Behrens <tbehr...@suse.com> --- modules.d/95rootfs-block/module-setup.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/modules.d/95rootfs-block/module-setup.sh b/modules.d/95rootfs-block/module-setup.sh index b209ab6..5f1b826 100755 --- a/modules.d/95rootfs-block/module-setup.sh +++ b/modules.d/95rootfs-block/module-setup.sh @@ -45,9 +45,8 @@ cmdline() { # called by dracut install() { if [[ $hostonly_cmdline == "yes" ]]; then - cmdline_journal | while read journaldev; do - [[ $journaldev ]] && printf "%s\n" "$journaldev" >> "${initdir}/etc/cmdline.d/95root-journaldev.conf" - done + local _journaldev=$(cmdline_journal) + [[ $_journaldev ]] && printf "%s\n" "$_journaldev" >> "${initdir}/etc/cmdline.d/95root-journaldev.conf" fi inst_multiple umount -- 1.8.4.5 ++++++ 0072-Also-export-root-boot-param-for-hostonly-cmdline-cas.patch ++++++ >From df582ab4c05fc417ce9b6b8a8bed4e259041013b Mon Sep 17 00:00:00 2001 From: Thorsten Behrens <tbehr...@suse.com> Date: Wed, 18 Jun 2014 02:00:28 +0200 Subject: Also export root= boot param for hostonly-cmdline case. If there's a root fallback, at least attempt to have it falling back to the last root filesystem this system ran off of. Signed-off-by: Thorsten Behrens <tbehr...@suse.com> --- modules.d/95rootfs-block/module-setup.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/modules.d/95rootfs-block/module-setup.sh b/modules.d/95rootfs-block/module-setup.sh index 5f1b826..b868d0b 100755 --- a/modules.d/95rootfs-block/module-setup.sh +++ b/modules.d/95rootfs-block/module-setup.sh @@ -31,14 +31,18 @@ cmdline_journal() { return 0 } -# called by dracut -cmdline() { +cmdline_rootfs() { local dev=/dev/block/$(find_root_block_device) if [ -e $dev ]; then printf " root=%s" "$(shorten_persistent_dev "$(get_persistent_dev "$dev")")" printf " rootflags=%s" "$(find_mp_fsopts /)" printf " rootfstype=%s" "$(find_mp_fstype /)" fi +} + +# called by dracut +cmdline() { + cmdline_rootfs cmdline_journal } @@ -47,6 +51,8 @@ install() { if [[ $hostonly_cmdline == "yes" ]]; then local _journaldev=$(cmdline_journal) [[ $_journaldev ]] && printf "%s\n" "$_journaldev" >> "${initdir}/etc/cmdline.d/95root-journaldev.conf" + local _rootdev=$(cmdline_rootfs) + [[ $_rootdev ]] && printf "%s\n" "$_rootdev" >> "${initdir}/etc/cmdline.d/95root-dev.conf" fi inst_multiple umount -- 1.8.4.5 ++++++ 0073-Don-t-create-lots-of-empty-cmdline-files-for-hostonl.patch ++++++ >From 706f28a7bc193455fcd0656f70adaee442f12ff8 Mon Sep 17 00:00:00 2001 From: Thorsten Behrens <tbehr...@suse.com> Date: Wed, 18 Jun 2014 02:09:38 +0200 Subject: Don't create lots of empty cmdline files for hostonly-cmdline case This aligns other places piping cmdline() output to cmdline.d files with the earlier fix for 95rootfs-block. Signed-off-by: Thorsten Behrens <tbehr...@suse.com> --- modules.d/90crypt/module-setup.sh | 4 ++-- modules.d/90dmraid/module-setup.sh | 4 ++-- modules.d/90lvm/module-setup.sh | 4 ++-- modules.d/90mdraid/module-setup.sh | 4 ++-- modules.d/95resume/module-setup.sh | 5 ++--- 5 files changed, 10 insertions(+), 11 deletions(-) diff --git a/modules.d/90crypt/module-setup.sh b/modules.d/90crypt/module-setup.sh index 5707404..e423a95 100755 --- a/modules.d/90crypt/module-setup.sh +++ b/modules.d/90crypt/module-setup.sh @@ -52,8 +52,8 @@ cmdline() { install() { if [[ $hostonly_cmdline == "yes" ]]; then - cmdline >> "${initdir}/etc/cmdline.d/90crypt.conf" - echo >> "${initdir}/etc/cmdline.d/90crypt.conf" + local _cryptconf=$(cmdline) + [[ $_cryptconf ]] && printf "%s\n" "$_cryptconf" >> "${initdir}/etc/cmdline.d/90crypt.conf" fi inst_multiple cryptsetup rmdir readlink umount diff --git a/modules.d/90dmraid/module-setup.sh b/modules.d/90dmraid/module-setup.sh index aebb28d..3769dd0 100755 --- a/modules.d/90dmraid/module-setup.sh +++ b/modules.d/90dmraid/module-setup.sh @@ -66,8 +66,8 @@ install() { local _i if [[ $hostonly_cmdline == "yes" ]]; then - cmdline >> "${initdir}/etc/cmdline.d/90dmraid.conf" - echo >> "${initdir}/etc/cmdline.d/90dmraid.conf" + local _raidconf=$(cmdline) + [[ $_raidconf ]] && printf "%s\n" "$_raidconf" >> "${initdir}/etc/cmdline.d/90dmraid.conf" fi inst_multiple dmraid diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh index 5b810b9..2a5b392 100755 --- a/modules.d/90lvm/module-setup.sh +++ b/modules.d/90lvm/module-setup.sh @@ -51,8 +51,8 @@ install() { inst lvm if [[ $hostonly_cmdline == "yes" ]]; then - cmdline >> "${initdir}/etc/cmdline.d/90lvm.conf" - echo >> "${initdir}/etc/cmdline.d/90lvm.conf" + local _lvmconf=$(cmdline) + [[ $_lvmconf ]] && printf "%s\n" "$_lvmconf" >> "${initdir}/etc/cmdline.d/90lvm.conf" fi inst_rules "$moddir/64-lvm.rules" diff --git a/modules.d/90mdraid/module-setup.sh b/modules.d/90mdraid/module-setup.sh index 4963537..da464b8 100755 --- a/modules.d/90mdraid/module-setup.sh +++ b/modules.d/90mdraid/module-setup.sh @@ -73,8 +73,8 @@ install() { inst $(command -v mdadm) /sbin/mdadm if [[ $hostonly_cmdline == "yes" ]]; then - cmdline >> "${initdir}/etc/cmdline.d/90mdraid.conf" - echo >> "${initdir}/etc/cmdline.d/90mdraid.conf" + local _raidconf=$(cmdline) + [[ $_raidconf ]] && printf "%s\n" "$_raidconf" >> "${initdir}/etc/cmdline.d/90mdraid.conf" fi # <mdadm-3.3 udev rule diff --git a/modules.d/95resume/module-setup.sh b/modules.d/95resume/module-setup.sh index 7f3cf24..b1044ed 100755 --- a/modules.d/95resume/module-setup.sh +++ b/modules.d/95resume/module-setup.sh @@ -33,9 +33,8 @@ cmdline() { # called by dracut install() { local _bin - - cmdline >> "${initdir}/etc/cmdline.d/95resume.conf" - echo >> "${initdir}/etc/cmdline.d/95resume.conf" + local _resumeconf=$(cmdline) + [[ $_resumeconf ]] && printf "%s\n" "$_resumeconf" >> "${initdir}/etc/cmdline.d/95resume.conf" # Optional uswsusp support for _bin in /usr/sbin/resume /usr/lib/suspend/resume /usr/lib/uswsusp/resume -- 1.8.4.5 ++++++ 0074-More-empty-cmdline-fixes.patch ++++++ >From c323ff844931d7b9d171d3c11f8c3152c346a62a Mon Sep 17 00:00:00 2001 From: Hannes Reinecke <h...@suse.de> Date: Wed, 18 Jun 2014 09:59:22 +0200 Subject: More empty cmdline fixes This fixes up some more modules which might print out empty commandline files. Signed-off-by: Hannes Reinecke <h...@suse.de> --- modules.d/81cio_ignore/module-setup.sh | 5 +++-- modules.d/95fcoe/module-setup.sh | 4 ++-- modules.d/95iscsi/module-setup.sh | 13 +++++++------ 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/modules.d/81cio_ignore/module-setup.sh b/modules.d/81cio_ignore/module-setup.sh index 42ae2f9..37b414b 100644 --- a/modules.d/81cio_ignore/module-setup.sh +++ b/modules.d/81cio_ignore/module-setup.sh @@ -30,8 +30,9 @@ cmdline() { # called by dracut install() { - if [[ $hostonly_cmdline == "yes" ]];then - cmdline >> "${initdir}/etc/cmdline.d/01cio_accept.conf" + if [[ $hostonly_cmdline == "yes" ]] ; then + local _cio_accept=$(cmdline) + [[ $_cio_accept ]] && printf "%s\n" "$_cio_accept" >> "${initdir}/etc/cmdline.d/01cio_accept.conf" fi inst_hook cmdline 20 "$moddir/parse-cio_accept.sh" diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh index 57d5c1e..9ca4c67 100755 --- a/modules.d/95fcoe/module-setup.sh +++ b/modules.d/95fcoe/module-setup.sh @@ -74,8 +74,8 @@ install() { mkdir -m 0755 -p "$initdir/var/lib/lldpad" if [[ $hostonly_cmdline == "yes" ]] ; then - cmdline >> "${initdir}/etc/cmdline.d/95fcoe.conf" - echo >> "${initdir}/etc/cmdline.d/95fcoe.conf" + local _fcoeconf=$(cmdline) + [[ $_fcoeconf ]] && printf "%s\n" "$_fcoeconf" >> "${initdir}/etc/cmdline.d/95fcoe.conf" fi inst "$moddir/fcoe-up.sh" "/sbin/fcoe-up" inst "$moddir/fcoe-edd.sh" "/sbin/fcoe-edd" diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh index e94e913..b90e298 100755 --- a/modules.d/95iscsi/module-setup.sh +++ b/modules.d/95iscsi/module-setup.sh @@ -78,12 +78,6 @@ depends() { installkernel() { local _arch=$(uname -m) - # Detect iBFT and perform mandatory steps - if [[ $hostonly_cmdline == "yes" ]] ; then - install_ibft > "${initdir}/etc/cmdline.d/95iscsi.conf" - echo >> "${initdir}/etc/cmdline.d/95iscsi.conf" - fi - instmods bnx2i qla4xxx cxgb3i cxgb4i be2iscsi hostonly="" instmods iscsi_tcp iscsi_ibft crc32c iscsi_boot_sysfs iscsi_module_filter() { @@ -133,6 +127,13 @@ install() { inst_multiple umount iscsistart hostname iscsi-iname inst_multiple -o iscsiuio inst_libdir_file 'libgcc_s.so*' + + # Detect iBFT and perform mandatory steps + if [[ $hostonly_cmdline == "yes" ]] ; then + local _ibftconf=$(install_ibft) + [[ $_ibftconf ]] && printf "%s\n" "$_ibftconf" >> "${initdir}/etc/cmdline.d/95iscsi.conf" + fi + inst_hook cmdline 90 "$moddir/parse-iscsiroot.sh" inst_hook cleanup 90 "$moddir/cleanup-iscsi.sh" inst "$moddir/iscsiroot.sh" "/sbin/iscsiroot" -- 1.8.4.5 ++++++ 0075-95dasd_rules-enable-parsing-of-rd.dasd-commandline-p.patch ++++++ >From 1ab0a485f8e3a3b0ba62ea2f920fd3457039e7f1 Mon Sep 17 00:00:00 2001 From: Hannes Reinecke <h...@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 <h...@suse.de> --- modules.d/95dasd_rules/parse-dasd.sh | 37 ++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/modules.d/95dasd_rules/parse-dasd.sh b/modules.d/95dasd_rules/parse-dasd.sh index 9389c44..a0ba1ff 100755 --- a/modules.d/95dasd_rules/parse-dasd.sh +++ b/modules.d/95dasd_rules/parse-dasd.sh @@ -54,3 +54,40 @@ for dasd_arg in $(getargs root=) $(getargs resume=); do 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 -- 1.8.4.5 ++++++ 0076-Correctly-set-cio_ignore-for-dynamic-s390-rules.patch ++++++ >From 7a725ea4a1cb606edd3f060f46818250f2a82a1a Mon Sep 17 00:00:00 2001 From: Hannes Reinecke <h...@suse.de> Date: Wed, 18 Jun 2014 15:17:21 +0200 Subject: Correctly set cio_ignore for dynamic s390 rules When converting 'rd.zfcp' and 'rd.dasd' into udev rules we need to make sure the enable those device ids via cio_ignore, otherwise the rules might never be called. Signed-off-by: Hannes Reinecke <h...@suse.de> --- modules.d/95dasd_rules/parse-dasd.sh | 3 +++ modules.d/95zfcp_rules/parse-zfcp.sh | 3 +++ 2 files changed, 6 insertions(+) diff --git a/modules.d/95dasd_rules/parse-dasd.sh b/modules.d/95dasd_rules/parse-dasd.sh index a0ba1ff..94a4b30 100755 --- a/modules.d/95dasd_rules/parse-dasd.sh +++ b/modules.d/95dasd_rules/parse-dasd.sh @@ -38,6 +38,9 @@ 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 diff --git a/modules.d/95zfcp_rules/parse-zfcp.sh b/modules.d/95zfcp_rules/parse-zfcp.sh index 24dbdd3..8538ae3 100755 --- a/modules.d/95zfcp_rules/parse-zfcp.sh +++ b/modules.d/95zfcp_rules/parse-zfcp.sh @@ -37,6 +37,9 @@ EOF ACTION=="add", KERNEL=="rport-*", ATTR{port_name}=="$wwpn", SUBSYSTEMS=="ccw", KERNELS=="$ccw", ATTR{[ccw/$ccw]$wwpn/unit_add}="$lun" EOF fi + if [ -x /sbin/cio_ignore ] && ! cio_ignore -i $ccw > /dev/null ; then + cio_ignore -r $ccw + fi } for zfcp_arg in $(getargs rd.zfcp); do -- 1.8.4.5 ++++++ 0077-90multipath-add-missing-11-dm-mpath.rules-file.patch ++++++ >From 3d4030e354b12686cb91d41a1ec8bc00df37ea5f Mon Sep 17 00:00:00 2001 From: Hannes Reinecke <h...@suse.de> Date: Wed, 18 Jun 2014 17:48:16 +0200 Subject: 90multipath: add missing 11-dm-mpath.rules file The 11-dm-mpath.rules file had been missing, causing blacklisting to not work properly. References: bnc#883149 Signed-off-by: Hannes Reinecke <h...@suse.de> --- modules.d/90multipath/module-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh index 7b20709..22ff580 100755 --- a/modules.d/90multipath/module-setup.sh +++ b/modules.d/90multipath/module-setup.sh @@ -102,7 +102,7 @@ install() { inst_hook cleanup 80 "$moddir/multipathd-needshutdown.sh" - inst_rules 56-multipath.rules \ + inst_rules 11-dm-mpath.rules 56-multipath.rules \ 66-kpartx.rules 67-kpartx-compat.rules } -- 1.8.4.5 ++++++ 0078-Restore-original-IFS-value.patch ++++++ >From 3ad963984b30a990c1ac94c81deb410322daafb6 Mon Sep 17 00:00:00 2001 From: Hannes Reinecke <h...@suse.de> Date: Mon, 23 Jun 2014 14:06:47 +0200 Subject: Restore original IFS value Whenever the IFS setting is modified it needs to be restored to its original value. Otherwise it'll lead to unexpected results. References: bnc#883770 Signed-off-by: Hannes Reinecke <h...@suse.de> --- modules.d/81cio_ignore/parse-cio_accept.sh | 3 ++- modules.d/90kernel-modules/insmodpost.sh | 2 +- modules.d/90kernel-modules/parse-kernel.sh | 4 ++++ modules.d/95dasd/parse-dasd.sh | 2 +- modules.d/95dasd_rules/parse-dasd.sh | 8 +++++--- modules.d/95iscsi/module-setup.sh | 6 ++++-- modules.d/95zfcp/parse-zfcp.sh | 2 +- modules.d/95zfcp_rules/parse-zfcp.sh | 4 +++- modules.d/98systemd/dracut-pre-udev.sh | 4 ++-- 9 files changed, 23 insertions(+), 12 deletions(-) diff --git a/modules.d/81cio_ignore/parse-cio_accept.sh b/modules.d/81cio_ignore/parse-cio_accept.sh index fec8a92..4f899d2 100644 --- a/modules.d/81cio_ignore/parse-cio_accept.sh +++ b/modules.d/81cio_ignore/parse-cio_accept.sh @@ -10,6 +10,7 @@ if [ -z $CIO_IGNORE ] ; then return fi if [ -n "$CIO_ACCEPT" ] ; then + OLDIFS="$IFS" IFS=, set -- $CIO_ACCEPT while (($# > 0)) ; do @@ -17,5 +18,5 @@ if [ -n "$CIO_ACCEPT" ] ; then cio_ignore --remove $1 shift done - unset IFS + IFS="$OLDIFS" fi diff --git a/modules.d/90kernel-modules/insmodpost.sh b/modules.d/90kernel-modules/insmodpost.sh index d2b8723..141f091 100755 --- a/modules.d/90kernel-modules/insmodpost.sh +++ b/modules.d/90kernel-modules/insmodpost.sh @@ -6,7 +6,7 @@ for modlist in $(getargs rd.driver.post -d rdinsmodpost=); do ( - IFS=, + local IFS=, for m in $modlist; do modprobe $m done diff --git a/modules.d/90kernel-modules/parse-kernel.sh b/modules.d/90kernel-modules/parse-kernel.sh index fa891bf..e012e52 100755 --- a/modules.d/90kernel-modules/parse-kernel.sh +++ b/modules.d/90kernel-modules/parse-kernel.sh @@ -13,10 +13,12 @@ fi for i in $(getargs rd.driver.pre -d rdloaddriver=); do ( + OLDIFS="$IFS" IFS=, for p in $i; do modprobe $p 2>&1 | vinfo done + IFS="$OLDIFS" ) done @@ -25,10 +27,12 @@ done for i in $(getargs rd.driver.blacklist -d rdblacklist=); do ( + OLDIFS="$IFS" IFS=, for p in $i; do echo "blacklist $p" >> $_modprobe_d/initramfsblacklist.conf done + IFS="$OLDIFS" ) done diff --git a/modules.d/95dasd/parse-dasd.sh b/modules.d/95dasd/parse-dasd.sh index 1aa1455..aba720b 100755 --- a/modules.d/95dasd/parse-dasd.sh +++ b/modules.d/95dasd/parse-dasd.sh @@ -3,7 +3,7 @@ # ex: ts=8 sw=4 sts=4 et filetype=sh for dasd_arg in $(getargs rd.dasd= -d rd_DASD= DASD=); do ( - IFS="," + local IFS="," set -- $dasd_arg echo "$@" | normalize_dasd_arg >> /etc/dasd.conf ) diff --git a/modules.d/95dasd_rules/parse-dasd.sh b/modules.d/95dasd_rules/parse-dasd.sh index 94a4b30..02b4aea 100755 --- a/modules.d/95dasd_rules/parse-dasd.sh +++ b/modules.d/95dasd_rules/parse-dasd.sh @@ -51,8 +51,10 @@ for dasd_arg in $(getargs root=) $(getargs resume=); do break; esac if [ -n "$ccw_arg" ] ; then + OLDIFS="$IFS" IFS="-" set -- $ccw_arg + IFS="$OLDIFS" create_udev_rule $2 fi ) @@ -60,9 +62,8 @@ done for dasd_arg in $(getargs rd.dasd=); do ( - IFS="," + local IFS="," set -- $dasd_arg - unset IFS while (($# > 0)); do case $1 in autodetect|probeonly) @@ -70,13 +71,14 @@ for dasd_arg in $(getargs rd.dasd=); do ;; *-*) range=$1 + OLDIFS="$IFS" IFS="-" set -- $range start=${1#0.0.} shift end=${1#0.0.} shift - unset IFS + IFS="$OLDIFS" for dev in $(seq $(( 10#$start )) $(( 10#$end )) ) ; do create_udev_rule $(printf "0.0.%04d" "$dev") done diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh index b90e298..cfa6f39 100755 --- a/modules.d/95iscsi/module-setup.sh +++ b/modules.d/95iscsi/module-setup.sh @@ -3,16 +3,18 @@ # ex: ts=8 sw=4 sts=4 et filetype=sh get_ibft_mod() { - local ibft_mac=$1 + local ibft_mac=$1 IFS # Return the iSCSI offload module for a given MAC address iscsiadm -m iface | while read iface_name iface_desc ; do + OLDIFS="$IFS" IFS=$',' set -- $iface_desc + IFS="$OLDIFS" if [ "$ibft_mac" = "$2" ] ; then echo $1 return 0 fi - unset IFS + done } diff --git a/modules.d/95zfcp/parse-zfcp.sh b/modules.d/95zfcp/parse-zfcp.sh index 9b22d93..1d21472 100755 --- a/modules.d/95zfcp/parse-zfcp.sh +++ b/modules.d/95zfcp/parse-zfcp.sh @@ -6,7 +6,7 @@ getargbool 1 rd.zfcp.conf -d -n rd_NO_ZFCPCONF || rm /etc/zfcp.conf for zfcp_arg in $(getargs rd.zfcp -d 'rd_ZFCP='); do ( - IFS="," + local IFS="," set $zfcp_arg echo "$@" >> /etc/zfcp.conf ) diff --git a/modules.d/95zfcp_rules/parse-zfcp.sh b/modules.d/95zfcp_rules/parse-zfcp.sh index 8538ae3..56152da 100755 --- a/modules.d/95zfcp_rules/parse-zfcp.sh +++ b/modules.d/95zfcp_rules/parse-zfcp.sh @@ -44,7 +44,7 @@ EOF for zfcp_arg in $(getargs rd.zfcp); do ( - IFS="," + local IFS="," set $zfcp_arg create_udev_rule $1 $2 $3 ) @@ -58,8 +58,10 @@ for zfcp_arg in $(getargs root=) $(getargs resume=); do break; esac if [ -n "$ccw_arg" ] ; then + OLDIFS="$IFS" IFS="-" set -- $ccw_arg + IFS="$OLDIFS" wwpn=${4%:*} lun=${4#*:} create_udev_rule $2 $wwpn $lun diff --git a/modules.d/98systemd/dracut-pre-udev.sh b/modules.d/98systemd/dracut-pre-udev.sh index 638da40..77977d2 100755 --- a/modules.d/98systemd/dracut-pre-udev.sh +++ b/modules.d/98systemd/dracut-pre-udev.sh @@ -26,7 +26,7 @@ fi for i in $(getargs rd.driver.pre -d rdloaddriver=); do ( - IFS=, + local IFS=, for p in $i; do modprobe $p 2>&1 | vinfo done @@ -38,7 +38,7 @@ done for i in $(getargs rd.driver.blacklist -d rdblacklist=); do ( - IFS=, + local IFS=, for p in $i; do echo "blacklist $p" >> $_modprobe_d/initramfsblacklist.conf done -- 1.8.4.5 ++++++ 0079-95dasd_rules-fixup-rd.dasd-parsing.patch ++++++ >From b302dd2a53864bdd4ff271275fa244f654cb92ca Mon Sep 17 00:00:00 2001 From: Hannes Reinecke <h...@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 <h...@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 ++++++ 0080-95dasd_rules-print-out-rd.dasd-commandline.patch ++++++ >From 3e2e526a74cdad48d40a1ec58dac9f709d8fef0e Mon Sep 17 00:00:00 2001 From: Hannes Reinecke <h...@suse.de> Date: Thu, 26 Jun 2014 10:50:43 +0200 Subject: 95dasd_rules: print out 'rd.dasd' commandline When a DASD is found to be required for the rootfs we should be printing out a 'rd.dasd' commandline parameter. This not only enables us to correctly enable the device with cio_ignore, we can also inspect the resulting initrd to figure out which devices are required to mount the rootfs. Signed-off-by: Hannes Reinecke <h...@suse.de> --- modules.d/95dasd_rules/module-setup.sh | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/modules.d/95dasd_rules/module-setup.sh b/modules.d/95dasd_rules/module-setup.sh index 451fc25..e4736a2 100755 --- a/modules.d/95dasd_rules/module-setup.sh +++ b/modules.d/95dasd_rules/module-setup.sh @@ -3,10 +3,39 @@ # ex: ts=8 sw=4 sts=4 et filetype=sh # called by dracut +cmdline() { + is_dasd() { + local _dev=$1 + local _devpath=$(cd -P /sys/dev/block/$_dev ; echo $PWD) + + [ "${_devpath#*/dasd}" == "$_devpath" ] && return 1 + _ccw="${_devpath%%/block/*}" + echo "rd.dasd=${_ccw##*/}" + return 0 + } + [[ $hostonly ]] || [[ $mount_needs ]] && { + for_each_host_dev_and_slaves is_dasd || return 255 + } +} + +# called by dracut check() { local _arch=$(uname -m) + local found=0 + local bdev [ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1 require_binaries /usr/lib/udev/collect || return 1 + + [[ $hostonly ]] || [[ $mount_needs ]] && { + for bdev in /sys/block/* ; do + case "${bdev##*/}" in + dasd*) + found=$(($found+1)); + break; + esac + done + [ $found -eq 0 ] && return 255 + } return 0 } @@ -19,6 +48,10 @@ depends() { # called by dracut install() { inst_hook cmdline 30 "$moddir/parse-dasd.sh" + if [[ $hostonly_cmdline == "yes" ]] ; then + local _dasd=$(cmdline) + [[ $_dasd ]] && printf "%s\n" "$_dasd" >> "${initdir}/etc/cmdline.d/95dasd.conf" + fi if [[ $hostonly ]] ; then inst_rules_wildcard 51-dasd-*.rules inst_rules_wildcard 41-s390x-dasd-*.rules -- 1.8.4.5 ++++++ 0081-95dasd_mod-do-not-set-module-parameters-if-dasd_cio_.patch ++++++ >From 95dc2742b9304029068a2b320e011bdfcc4087ea Mon Sep 17 00:00:00 2001 From: Hannes Reinecke <h...@suse.de> Date: Thu, 26 Jun 2014 10:53:01 +0200 Subject: 95dasd_mod: do not set module parameters if dasd_cio_free is not present We're now parsing the 'rd.dasd' parameter from 95dasd_rules, so setting the 'dasd_mod' module parameter should be dropped here. Signed-off-by: Hannes Reinecke <h...@suse.de> --- modules.d/95dasd_mod/parse-dasd-mod.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules.d/95dasd_mod/parse-dasd-mod.sh b/modules.d/95dasd_mod/parse-dasd-mod.sh index 0236d12..0b8adef 100755 --- a/modules.d/95dasd_mod/parse-dasd-mod.sh +++ b/modules.d/95dasd_mod/parse-dasd-mod.sh @@ -9,7 +9,7 @@ done mod_args="${mod_args#*,}" -if [ -n "$mod_args" ]; then +if [ -x /sbin/dasd_cio_free -a -n "$mod_args" ]; then [ -d /etc/modprobe.d ] || mkdir -m 0755 -p /etc/modprobe.d echo "options dasd_mod dasd=$mod_args" >> /etc/modprobe.d/dasd_mod.conf fi -- 1.8.4.5 ++++++ 0082-00warpclock-check-for-sbin-hwclock.patch ++++++ >From 354e32e863a19d3539c3bf1b6affc98630b0003d Mon Sep 17 00:00:00 2001 From: Hannes Reinecke <h...@suse.de> Date: Thu, 26 Jun 2014 10:44:42 +0200 Subject: 00warpclock: check for /sbin/hwclock We need to check if /sbin/hwclock exists to avoid error messages when running dracut. References: bnc#884513 Signed-off-by: Hannes Reinecke <h...@suse.de> --- modules.d/00warpclock/module-setup.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules.d/00warpclock/module-setup.sh b/modules.d/00warpclock/module-setup.sh index 4d18795..5aec4eb 100755 --- a/modules.d/00warpclock/module-setup.sh +++ b/modules.d/00warpclock/module-setup.sh @@ -4,7 +4,8 @@ # called by dracut check() { - [ -e /etc/localtime -a -e /etc/adjtime ] + [ -e /etc/localtime -a -e /etc/adjtime ] || return 1 + require_binaries /sbin/hwclock || return 1 } # called by dracut -- 1.8.4.5 ++++++ 0083-95zfcp_rules-Fixup-rd.zfcp-parsing.patch ++++++ >From 90b21dafd469ce4a8ac56944ce825f90c0782b16 Mon Sep 17 00:00:00 2001 From: Hannes Reinecke <h...@suse.de> Date: Thu, 26 Jun 2014 11:52:29 +0200 Subject: 95zfcp_rules: Fixup rd.zfcp parsing There were some errors when parsing rd.zfcp, causing the device never to be activated. Signed-off-by: Hannes Reinecke <h...@suse.de> --- modules.d/95zfcp_rules/parse-zfcp.sh | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/modules.d/95zfcp_rules/parse-zfcp.sh b/modules.d/95zfcp_rules/parse-zfcp.sh index 56152da..bb5cd3a 100755 --- a/modules.d/95zfcp_rules/parse-zfcp.sh +++ b/modules.d/95zfcp_rules/parse-zfcp.sh @@ -7,9 +7,7 @@ create_udev_rule() { local wwpn=$2 local lun=$3 local _rule=/etc/udev/rules.d/51-zfcp-${ccw}.rules - local _cu_type _dev_type - local _rule=/etc/udev/rules.d/51-zfcp-${ccw}.rules if [ -e /sys/bus/ccw/devices/${ccw} ] ; then read _cu_type < /sys/bus/ccw/devices/${ccw}/cutype @@ -22,6 +20,10 @@ create_udev_rule() { return 0; fi + if [ -x /sbin/cio_ignore ] && cio_ignore -i $ccw > /dev/null ; then + cio_ignore -r $ccw + fi + [ -e ${_rule} ] && return 0 if [ ! -f "$_rule" ] ; then @@ -37,9 +39,6 @@ EOF ACTION=="add", KERNEL=="rport-*", ATTR{port_name}=="$wwpn", SUBSYSTEMS=="ccw", KERNELS=="$ccw", ATTR{[ccw/$ccw]$wwpn/unit_add}="$lun" EOF fi - if [ -x /sbin/cio_ignore ] && ! cio_ignore -i $ccw > /dev/null ; then - cio_ignore -r $ccw - fi } for zfcp_arg in $(getargs rd.zfcp); do @@ -55,7 +54,7 @@ for zfcp_arg in $(getargs root=) $(getargs resume=); do case $zfcp_arg in /dev/disk/by-path/ccw-*) ccw_arg=${zfcp_arg##*/} - break; + ;; esac if [ -n "$ccw_arg" ] ; then OLDIFS="$IFS" -- 1.8.4.5 ++++++ 0084-95rootfs-block-Correctly-terminate-commandline-param.patch ++++++ >From 21e4cbee5d852108880cedc9edc619cdd9b296a5 Mon Sep 17 00:00:00 2001 From: Hannes Reinecke <h...@suse.de> Date: Thu, 26 Jun 2014 13:41:56 +0200 Subject: 95rootfs-block: Correctly terminate commandline parameter 95rootfs-block would not terminate the commandline parameter with a space or newline, instead it'll rely on the main routine from dracut.sh to do this. Which will cause unexpected problems for any modules called after this. So terminate the commandline parameters correctly here and remove the newline from dracut.sh. Signed-off-by: Hannes Reinecke <h...@suse.de> --- dracut.sh | 1 - modules.d/95rootfs-block/module-setup.sh | 8 ++++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/dracut.sh b/dracut.sh index a58e134..40006e7 100755 --- a/dracut.sh +++ b/dracut.sh @@ -1166,7 +1166,6 @@ if [[ $print_cmdline ]]; then module_cmdline "$_d_mod" done unset moddir - printf "\n" exit 0 fi diff --git a/modules.d/95rootfs-block/module-setup.sh b/modules.d/95rootfs-block/module-setup.sh index b868d0b..a620786 100755 --- a/modules.d/95rootfs-block/module-setup.sh +++ b/modules.d/95rootfs-block/module-setup.sh @@ -24,7 +24,7 @@ cmdline_journal() { fi if [ -n "$journaldev" ]; then - printf " root.journaldev=%s" "$journaldev" + echo "root.journaldev=${journaldev}" fi done fi @@ -34,9 +34,9 @@ cmdline_journal() { cmdline_rootfs() { local dev=/dev/block/$(find_root_block_device) if [ -e $dev ]; then - printf " root=%s" "$(shorten_persistent_dev "$(get_persistent_dev "$dev")")" - printf " rootflags=%s" "$(find_mp_fsopts /)" - printf " rootfstype=%s" "$(find_mp_fstype /)" + printf "root=%s" "$(shorten_persistent_dev "$(get_persistent_dev "$dev")")" + printf "rootflags=%s" "$(find_mp_fsopts /)" + printf "rootfstype=%s\n" "$(find_mp_fstype /)" fi } -- 1.8.4.5 ++++++ 0085-95zfcp_rules-print-out-rd.zfcp-commandline-parameter.patch ++++++ >From 3d918eb5be673f243dc75b358a35e1ed307f0ea5 Mon Sep 17 00:00:00 2001 From: Hannes Reinecke <h...@suse.de> Date: Thu, 26 Jun 2014 13:44:05 +0200 Subject: 95zfcp_rules: print out rd.zfcp commandline parameter When called with '--hostonly-cmdline' the module should print out the configuration. Signed-off-by: Hannes Reinecke <h...@suse.de> --- modules.d/95zfcp_rules/module-setup.sh | 39 +++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/modules.d/95zfcp_rules/module-setup.sh b/modules.d/95zfcp_rules/module-setup.sh index 849645c..3f80754 100755 --- a/modules.d/95zfcp_rules/module-setup.sh +++ b/modules.d/95zfcp_rules/module-setup.sh @@ -3,10 +3,40 @@ # ex: ts=8 sw=4 sts=4 et filetype=sh # called by dracut +cmdline() { + is_zfcp() { + local _dev=$1 + local _devpath=$(cd -P /sys/dev/block/$_dev ; echo $PWD) + local _sdev _lun _wwpn _ccw + + [ "${_devpath#*/sd}" == "$_devpath" ] && return 1 + _sdev="${_devpath%%/block/*}" + [ -e ${_sdev}/fcp_lun ] || return 1 + _lun=$(cat ${_sdev}/fcp_lun) + _wwpn=$(cat ${_sdev}/wwpn) + _ccw=$(cat ${_sdev}/hba_id) + echo "rd.zfcp=${_ccw},${_wwpn},${_lun}" + return 1 + } + [[ $hostonly ]] || [[ $mount_needs ]] && { + for_each_host_dev_and_slaves is_zfcp + } +} + +# called by dracut check() { local _arch=$(uname -m) + local _ccw [ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1 - require_binaries zfcp_disk_configure /usr/lib/udev/collect || return 1 + require_binaries /usr/lib/udev/collect || return 1 + + [[ $hostonly ]] || [[ $mount_needs ]] && { + for _ccw in /sys/bus/ccw/devices/*/host* ; do + [ -d "$_ccw" ] || continue + found=$(($found+1)); + done + [ $found -eq 0 ] && return 255 + } return 0 } @@ -19,6 +49,13 @@ depends() { install() { inst_multiple /usr/lib/udev/collect inst_hook cmdline 30 "$moddir/parse-zfcp.sh" + if [[ $hostonly_cmdline == "yes" ]] ; then + local _zfcp + + for _zfcp in $(cmdline) ; do + printf "%s\n" "$zfcp" >> "${initdir}/etc/cmdline.d/94zfcp.conf" + done + fi if [[ $hostonly ]] ; then inst_rules_wildcard 51-zfcp-*.rules inst_rules_wildcard 41-s390x-zfcp-*.rules -- 1.8.4.5 ++++++ 0086-95zfcp_rules-Auto-generate-udev-rule-for-ipl-device.patch ++++++ >From 754bda4bcf9698837802b31bd74061702edf6c8c Mon Sep 17 00:00:00 2001 From: Hannes Reinecke <h...@suse.de> Date: Thu, 26 Jun 2014 14:01:33 +0200 Subject: 95zfcp_rules: Auto-generate udev rule for ipl device We should auto-generate an udev rule for the ipl device; it'll be enabled anyway. Signed-off-by: Hannes Reinecke <h...@suse.de> --- modules.d/95zfcp_rules/parse-zfcp.sh | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/modules.d/95zfcp_rules/parse-zfcp.sh b/modules.d/95zfcp_rules/parse-zfcp.sh index bb5cd3a..05c1ed0 100755 --- a/modules.d/95zfcp_rules/parse-zfcp.sh +++ b/modules.d/95zfcp_rules/parse-zfcp.sh @@ -41,6 +41,17 @@ EOF fi } +if [[ -f /sys/firmware/ipl/ipl_type && + $(</sys/firmare/ipl/ipl_type) = "fcp" ]] ; then + ( + local _wwpn=$(cat /sys/firmware/ipl/wwpn) + local _lun=$(cat /sys/firmware/ipl/lun) + local _ccw=$(cat /sys/firmware/ipl/device) + + create_udev_rule $_ccw $_wwpn $_lun + ) +fi + for zfcp_arg in $(getargs rd.zfcp); do ( local IFS="," @@ -51,6 +62,9 @@ done for zfcp_arg in $(getargs root=) $(getargs resume=); do ( + local _wwpn + local _lun + case $zfcp_arg in /dev/disk/by-path/ccw-*) ccw_arg=${zfcp_arg##*/} @@ -61,8 +75,8 @@ for zfcp_arg in $(getargs root=) $(getargs resume=); do IFS="-" set -- $ccw_arg IFS="$OLDIFS" - wwpn=${4%:*} - lun=${4#*:} + _wwpn=${4%:*} + _lun=${4#*:} create_udev_rule $2 $wwpn $lun fi ) -- 1.8.4.5 ++++++ 0087-95dasd_rules-Auto-generate-udev-rule-for-ipl-device.patch ++++++ >From 96af5adcdc4ec9bdbaff4dc053f415060eee301a Mon Sep 17 00:00:00 2001 From: Hannes Reinecke <h...@suse.de> Date: Thu, 26 Jun 2014 14:04:19 +0200 Subject: 95dasd_rules: Auto-generate udev rule for ipl device We should be generating a udev rule for the ipl device; it'll be enabled anyway. Signed-off-by: Hannes Reinecke <h...@suse.de> --- modules.d/95dasd_rules/parse-dasd.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules.d/95dasd_rules/parse-dasd.sh b/modules.d/95dasd_rules/parse-dasd.sh index 43ca87a..7b6a3d2 100755 --- a/modules.d/95dasd_rules/parse-dasd.sh +++ b/modules.d/95dasd_rules/parse-dasd.sh @@ -44,6 +44,15 @@ ACTION=="add", ENV{COLLECT_$ccw}=="0", ATTR{[ccw/$ccw]online}="1" EOF } +if [[ -f /sys/firmware/ipl/ipl_type && + $(</sys/firmare/ipl/ipl_type) = "ccw" ]] ; then + ( + local _ccw=$(cat /sys/firmware/ipl/device) + + create_udev_rule $_ccw + ) +fi + for dasd_arg in $(getargs root=) $(getargs resume=); do ( case $dasd_arg in -- 1.8.4.5 -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org