From b523995f47b71476df2914c06b8500cfb9879b2dd46eebc497f5540d769b9135 Mon Sep 17 00:00:00 2001 From: Shawn Dunn Date: Wed, 25 Jun 2014 15:13:52 +0000 Subject: [PATCH] Accepting request 238369 from home:hreinecke:branches:Base:System - 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 - 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 OBS-URL: https://build.opensuse.org/request/show/238369 OBS-URL: https://build.opensuse.org/package/show/Base:System/dracut?expand=0&rev=164 --- ...n-export-of-journal-dev-boot-options.patch | 32 +++ ...-boot-param-for-hostonly-cmdline-cas.patch | 50 ++++ ...s-of-empty-cmdline-files-for-hostonl.patch | 96 ++++++++ 0074-More-empty-cmdline-fixes.patch | 80 ++++++ ...ble-parsing-of-rd.dasd-commandline-p.patch | 61 +++++ ...et-cio_ignore-for-dynamic-s390-rules.patch | 46 ++++ ...h-add-missing-11-dm-mpath.rules-file.patch | 31 +++ 0078-Restore-original-IFS-value.patch | 227 ++++++++++++++++++ dracut.changes | 24 ++ dracut.spec | 16 ++ 10 files changed, 663 insertions(+) create mode 100644 0071-Fix-non-export-of-journal-dev-boot-options.patch create mode 100644 0072-Also-export-root-boot-param-for-hostonly-cmdline-cas.patch create mode 100644 0073-Don-t-create-lots-of-empty-cmdline-files-for-hostonl.patch create mode 100644 0074-More-empty-cmdline-fixes.patch create mode 100644 0075-95dasd_rules-enable-parsing-of-rd.dasd-commandline-p.patch create mode 100644 0076-Correctly-set-cio_ignore-for-dynamic-s390-rules.patch create mode 100644 0077-90multipath-add-missing-11-dm-mpath.rules-file.patch create mode 100644 0078-Restore-original-IFS-value.patch diff --git a/0071-Fix-non-export-of-journal-dev-boot-options.patch b/0071-Fix-non-export-of-journal-dev-boot-options.patch new file mode 100644 index 0000000..ad0bf4a --- /dev/null +++ b/0071-Fix-non-export-of-journal-dev-boot-options.patch @@ -0,0 +1,32 @@ +From f483c78483992a7778751f9a01bbf09feb2b5bbe Mon Sep 17 00:00:00 2001 +From: Thorsten Behrens +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 +--- + 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 + diff --git a/0072-Also-export-root-boot-param-for-hostonly-cmdline-cas.patch b/0072-Also-export-root-boot-param-for-hostonly-cmdline-cas.patch new file mode 100644 index 0000000..f0927bb --- /dev/null +++ b/0072-Also-export-root-boot-param-for-hostonly-cmdline-cas.patch @@ -0,0 +1,50 @@ +From df582ab4c05fc417ce9b6b8a8bed4e259041013b Mon Sep 17 00:00:00 2001 +From: Thorsten Behrens +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 +--- + 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 + diff --git a/0073-Don-t-create-lots-of-empty-cmdline-files-for-hostonl.patch b/0073-Don-t-create-lots-of-empty-cmdline-files-for-hostonl.patch new file mode 100644 index 0000000..6f09d07 --- /dev/null +++ b/0073-Don-t-create-lots-of-empty-cmdline-files-for-hostonl.patch @@ -0,0 +1,96 @@ +From 706f28a7bc193455fcd0656f70adaee442f12ff8 Mon Sep 17 00:00:00 2001 +From: Thorsten Behrens +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 +--- + 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 + + # > "${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 + diff --git a/0074-More-empty-cmdline-fixes.patch b/0074-More-empty-cmdline-fixes.patch new file mode 100644 index 0000000..d9050c1 --- /dev/null +++ b/0074-More-empty-cmdline-fixes.patch @@ -0,0 +1,80 @@ +From c323ff844931d7b9d171d3c11f8c3152c346a62a Mon Sep 17 00:00:00 2001 +From: Hannes Reinecke +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 +--- + 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 + diff --git a/0075-95dasd_rules-enable-parsing-of-rd.dasd-commandline-p.patch b/0075-95dasd_rules-enable-parsing-of-rd.dasd-commandline-p.patch new file mode 100644 index 0000000..7e0bf4c --- /dev/null +++ b/0075-95dasd_rules-enable-parsing-of-rd.dasd-commandline-p.patch @@ -0,0 +1,61 @@ +From 1ab0a485f8e3a3b0ba62ea2f920fd3457039e7f1 Mon Sep 17 00:00:00 2001 +From: Hannes Reinecke +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 +--- + 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 + diff --git a/0076-Correctly-set-cio_ignore-for-dynamic-s390-rules.patch b/0076-Correctly-set-cio_ignore-for-dynamic-s390-rules.patch new file mode 100644 index 0000000..5b8beda --- /dev/null +++ b/0076-Correctly-set-cio_ignore-for-dynamic-s390-rules.patch @@ -0,0 +1,46 @@ +From 7a725ea4a1cb606edd3f060f46818250f2a82a1a Mon Sep 17 00:00:00 2001 +From: Hannes Reinecke +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 +--- + 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 + diff --git a/0077-90multipath-add-missing-11-dm-mpath.rules-file.patch b/0077-90multipath-add-missing-11-dm-mpath.rules-file.patch new file mode 100644 index 0000000..11711bf --- /dev/null +++ b/0077-90multipath-add-missing-11-dm-mpath.rules-file.patch @@ -0,0 +1,31 @@ +From 3d4030e354b12686cb91d41a1ec8bc00df37ea5f Mon Sep 17 00:00:00 2001 +From: Hannes Reinecke +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 +--- + 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 + diff --git a/0078-Restore-original-IFS-value.patch b/0078-Restore-original-IFS-value.patch new file mode 100644 index 0000000..747a073 --- /dev/null +++ b/0078-Restore-original-IFS-value.patch @@ -0,0 +1,227 @@ +From 3ad963984b30a990c1ac94c81deb410322daafb6 Mon Sep 17 00:00:00 2001 +From: Hannes Reinecke +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 +--- + 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 + diff --git a/dracut.changes b/dracut.changes index 6d60573..0c0ebb0 100644 --- a/dracut.changes +++ b/dracut.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +Mon Jun 23 14:13:53 CEST 2014 - hare@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 - tbehrens@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 + ------------------------------------------------------------------- Tue Jun 17 16:58:03 CEST 2014 - hare@suse.de diff --git a/dracut.spec b/dracut.spec index b019357..90b63ba 100644 --- a/dracut.spec +++ b/dracut.spec @@ -91,6 +91,14 @@ Patch67: 0067-95fcoe-check-always-returns-255.patch 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 BuildRequires: asciidoc BuildRequires: bash @@ -202,6 +210,14 @@ and its cryptography during startup. %patch68 -p1 %patch69 -p1 %patch70 -p1 +%patch71 -p1 +%patch72 -p1 +%patch73 -p1 +%patch74 -p1 +%patch75 -p1 +%patch76 -p1 +%patch77 -p1 +%patch78 -p1 %build %configure\