Hello community,

here is the log from the commit of package dracut for openSUSE:Factory checked 
in at 2014-06-25 10:48:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-18 
07:52:34.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.dracut.new/dracut.changes       2014-06-25 
10:49:00.000000000 +0200
@@ -1,0 +2,15 @@
+Tue Jun 17 16:58:03 CEST 2014 - h...@suse.de
+
+- 81cio_ignore: rewrite module to not mount any filesystem
+  (bnc#882685)
+  * Add: 0070-81cio_ignore-rewrite-module.patch
+
+-------------------------------------------------------------------
+Tue Jun 17 11:14:07 CEST 2014 - h...@suse.de
+
+- 81cio_ignore: ignore module if cio_ignore is not specified
+  (bnc#882685)
+  * Add:
+    0069-81cio_ignore-skip-module-if-cio_ignore-is-not-active.patch
+
+-------------------------------------------------------------------

New:
----
  0069-81cio_ignore-skip-module-if-cio_ignore-is-not-active.patch
  0070-81cio_ignore-rewrite-module.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ dracut.spec ++++++
--- /var/tmp/diff_new_pack.OsPT6z/_old  2014-06-25 10:49:01.000000000 +0200
+++ /var/tmp/diff_new_pack.OsPT6z/_new  2014-06-25 10:49:01.000000000 +0200
@@ -89,6 +89,8 @@
 Patch66:        0066-40network-always-start-netroot-in-ifup.sh.patch
 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
 
 BuildRequires:  asciidoc
 BuildRequires:  bash
@@ -198,6 +200,8 @@
 %patch66 -p1
 %patch67 -p1
 %patch68 -p1
+%patch69 -p1
+%patch70 -p1
 
 %build
 %configure\

++++++ 0069-81cio_ignore-skip-module-if-cio_ignore-is-not-active.patch ++++++
>From d5bbccaaff904eb0dbbd2e5407278e69436e559b Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <h...@suse.de>
Date: Tue, 17 Jun 2014 11:09:59 +0200
Subject: 81cio_ignore: skip module if cio_ignore is not active

When cio_ignore is not active we should skip the entire module
during boot; otherwise it'll lead to adverse effects.

References: bnc#882685

Signed-off-by: Hannes Reinecke <h...@suse.de>
---
 modules.d/81cio_ignore/module-setup.sh | 45 ++++++++++++++++++++--------------
 modules.d/81cio_ignore/parse-zipl.sh   | 11 ++++++---
 2 files changed, 34 insertions(+), 22 deletions(-)

diff --git a/modules.d/81cio_ignore/module-setup.sh 
b/modules.d/81cio_ignore/module-setup.sh
index a812649..52cb188 100644
--- a/modules.d/81cio_ignore/module-setup.sh
+++ b/modules.d/81cio_ignore/module-setup.sh
@@ -5,35 +5,44 @@
 # called by dracut
 check() {
 # do not add this module by default
-       local arch=$(uname -m)
-       [ "$arch" = "s390" -o "$arch" = "s390x" ] || return 1
-       return 0
+    local arch=$(uname -m)
+    [ "$arch" = "s390" -o "$arch" = "s390x" ] || return 1
+    return 0
 }
 
 find_mount() {
-       local dev mnt etc wanted_dev
-       wanted_dev="$(readlink -e -q $1)"
-       while read dev mnt etc; do
-               [ "$mnt" = "$wanted_dev" ] && echo "$dev" && return 0
-       done < /proc/mounts
-       return 1
+    local dev mnt etc wanted_dev zipl_dev
+    wanted_dev="$(readlink -e -q $1)"
+    while read dev mnt etc; do
+        [ "$mnt" = "$wanted_dev" ] && zipl_dev="$dev" && break
+    done < /etc/fstab
+    if [ -z "$zipl_dev" ] ; then
+        return 1
+    fi
+    if [ -e ${wanted_dev}/active_devices.txt ] ; then
+        echo "$zipl_dev"
+        return 0
+    fi
+    return 1
 }
 
 cmdline() {
-       local zipl_dasd
-       zipl_dasd=`find_mount /boot/zipl`
-       printf " rd.zipl_dasd=%s\n" "$zipl_dasd "
+    local zipl_dasd
+    zipl_dasd=`find_mount /boot/zipl`
+    if [ -n "$zipl_dasd" ] ; then
+       printf " rd.zipl_dasd=%s " $zipl_dasd
+    fi
 }
 
 # called by dracut
 install() {
-       if [[ $hostonly_cmdline == "yes" ]];then
-               echo $(cmdline) >"${initdir}/etc/cmdline.d/01zipl_dasd.conf"
-       fi
+    if [[ $hostonly_cmdline == "yes" ]];then
+       echo $(cmdline) >"${initdir}/etc/cmdline.d/01zipl_dasd.conf"
+    fi
 
-       inst_hook pre-mount 10 "$moddir/parse-zipl.sh"
-       inst_multiple cio_ignore mount umount mkdir
+    inst_hook pre-mount 10 "$moddir/parse-zipl.sh"
+    inst_multiple cio_ignore mount umount mkdir
 }
 installkernel() {
-       instmods ext4
+    instmods ext4
 }
diff --git a/modules.d/81cio_ignore/parse-zipl.sh 
b/modules.d/81cio_ignore/parse-zipl.sh
index 5f7aa58..9d68c52 100644
--- a/modules.d/81cio_ignore/parse-zipl.sh
+++ b/modules.d/81cio_ignore/parse-zipl.sh
@@ -2,17 +2,20 @@
 # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
 # ex: ts=8 sw=4 sts=4 et filetype=sh
 
-ZIPL_DEV="$(getarg rd.zipl_dasd)"
-ZIPL_DIR=/tmp/zipl
+ZIPL_DEV=$(getarg rd.zipl_dasd)
+ZIPL_DIR=/boot/zipl
 CIO_REMOVE_LIST=$ZIPL_DIR/active_devices.txt
 
-if [ -n $ZIPL_DEV ];then
+if ! getarg cio_ignore ; then
+    return
+fi
+if [ -n "$ZIPL_DEV" ];then
        info "Waiting for zipl device $ZIPL_DEV"
        wait_for_dev -n "$ZIPL_DEV"
 #
 #      mount device and read devices
 #
-       [ -d $ZIPL_DIR ] ||  mkdir $ZIPL_DIR
+       [ -d $ZIPL_DIR ] ||  mkdir -p $ZIPL_DIR
        mount -t ext2 -o ro $ZIPL_DEV $ZIPL_DIR
        if [ -f $CIO_REMOVE_LIST ] ; then
 #
-- 
1.8.4.5

++++++ 0070-81cio_ignore-rewrite-module.patch ++++++
>From 137090516e1c48ef134209c2ed4f625799691090 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <h...@suse.de>
Date: Tue, 17 Jun 2014 16:45:06 +0200
Subject: 81cio_ignore: rewrite module

Rewrite cio_ignore module to rely on the dracut commandline
parameter 'rd.cio_accept', which takes a comma-separated list
of CCW IDs. Each of those IDs are being removed from the
list of devices from cio_ignore.

The default values for rd.cio_accept are taken from
/boot/zipl/active_devices.txt.

References: bnc#882685

Signed-off-by: Hannes Reinecke <h...@suse.de>
---
 dracut.cmdline.7.asc                       | 15 +++++++++++
 modules.d/81cio_ignore/module-setup.sh     | 43 ++++++++++++------------------
 modules.d/81cio_ignore/parse-cio_accept.sh | 21 +++++++++++++++
 modules.d/81cio_ignore/parse-zipl.sh       | 32 ----------------------
 4 files changed, 53 insertions(+), 58 deletions(-)
 create mode 100644 modules.d/81cio_ignore/parse-cio_accept.sh
 delete mode 100644 modules.d/81cio_ignore/parse-zipl.sh

diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
index 985285b..bd8e4ce 100644
--- a/dracut.cmdline.7.asc
+++ b/dracut.cmdline.7.asc
@@ -711,6 +711,21 @@ 
rd.znet=qeth,0.0.0600,0.0.0601,0.0.0602,layer2=1,portname=foo
 rd.znet=ctc,0.0.0600,0.0.0601,protocol=bar
 --
 
+CIO_IGNORE
+~~~~~~~~~~
+**rd.cio_accept=**__<device-ids>__::
+    Remove the devices listed in <device-ids> from the default
+    cio_ignore kernel command-line settings.
+    <device-ids> is a list of comma-separated CCW device ids.
+    The default for this value is taken from the
+    _/boot/zipl/active_devices.txt_ file.
++
+[listing]
+.Example
+--
+rd.cio_accept=0.0.0180,0.0.0800,0.0.0801,0.0.0802
+--
+
 Plymouth Boot Splash
 ~~~~~~~~~~~~~~~~~~~~
 **plymouth.enable=0**::
diff --git a/modules.d/81cio_ignore/module-setup.sh 
b/modules.d/81cio_ignore/module-setup.sh
index 52cb188..42ae2f9 100644
--- a/modules.d/81cio_ignore/module-setup.sh
+++ b/modules.d/81cio_ignore/module-setup.sh
@@ -10,39 +10,30 @@ check() {
     return 0
 }
 
-find_mount() {
-    local dev mnt etc wanted_dev zipl_dev
-    wanted_dev="$(readlink -e -q $1)"
-    while read dev mnt etc; do
-        [ "$mnt" = "$wanted_dev" ] && zipl_dev="$dev" && break
-    done < /etc/fstab
-    if [ -z "$zipl_dev" ] ; then
-        return 1
-    fi
-    if [ -e ${wanted_dev}/active_devices.txt ] ; then
-        echo "$zipl_dev"
-        return 0
-    fi
-    return 1
-}
-
 cmdline() {
-    local zipl_dasd
-    zipl_dasd=`find_mount /boot/zipl`
-    if [ -n "$zipl_dasd" ] ; then
-       printf " rd.zipl_dasd=%s " $zipl_dasd
+    local cio_accept
+
+    if [ -e /boot/zipl/active_devices.txt ] ; then
+        while read dev etc ; do
+            [ "$dev" = "#" -o "$dev" = "" ] && continue;
+            if [ -z "$cio_accept" ] ; then
+                cio_accept="$dev"
+            else
+                cio_accept="${cio_accept},${dev}"
+            fi
+        done < /boot/zipl/active_devices.txt
+    fi
+    if [ -n "$cio_accept" ] ; then
+       echo "rd.cio_accept=${cio_accept}"
     fi
 }
 
 # called by dracut
 install() {
     if [[ $hostonly_cmdline == "yes" ]];then
-       echo $(cmdline) >"${initdir}/etc/cmdline.d/01zipl_dasd.conf"
+       cmdline >> "${initdir}/etc/cmdline.d/01cio_accept.conf"
     fi
 
-    inst_hook pre-mount 10 "$moddir/parse-zipl.sh"
-    inst_multiple cio_ignore mount umount mkdir
-}
-installkernel() {
-    instmods ext4
+    inst_hook cmdline 20 "$moddir/parse-cio_accept.sh"
+    inst_multiple cio_ignore
 }
diff --git a/modules.d/81cio_ignore/parse-cio_accept.sh 
b/modules.d/81cio_ignore/parse-cio_accept.sh
new file mode 100644
index 0000000..fec8a92
--- /dev/null
+++ b/modules.d/81cio_ignore/parse-cio_accept.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+CIO_IGNORE=$(getarg cio_ignore)
+CIO_ACCEPT=$(getarg rd.cio_accept)
+
+if [ -z $CIO_IGNORE ] ; then
+    info "cio_ignored disabled on commandline"
+    return
+fi
+if [ -n "$CIO_ACCEPT" ] ; then
+    IFS=,
+    set -- $CIO_ACCEPT
+    while (($# > 0)) ; do
+        info "Enabling device $1"
+        cio_ignore --remove $1
+        shift
+    done
+    unset IFS
+fi
diff --git a/modules.d/81cio_ignore/parse-zipl.sh 
b/modules.d/81cio_ignore/parse-zipl.sh
deleted file mode 100644
index 9d68c52..0000000
--- a/modules.d/81cio_ignore/parse-zipl.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
-# ex: ts=8 sw=4 sts=4 et filetype=sh
-
-ZIPL_DEV=$(getarg rd.zipl_dasd)
-ZIPL_DIR=/boot/zipl
-CIO_REMOVE_LIST=$ZIPL_DIR/active_devices.txt
-
-if ! getarg cio_ignore ; then
-    return
-fi
-if [ -n "$ZIPL_DEV" ];then
-       info "Waiting for zipl device $ZIPL_DEV"
-       wait_for_dev -n "$ZIPL_DEV"
-#
-#      mount device and read devices
-#
-       [ -d $ZIPL_DIR ] ||  mkdir -p $ZIPL_DIR
-       mount -t ext2 -o ro $ZIPL_DEV $ZIPL_DIR
-       if [ -f $CIO_REMOVE_LIST ] ; then
-#
-#      File exist
-#
-               while read dev etc; do
-                   [ "$dev" = "#" -o "$dev" = "" ] && continue
-                   cio_ignore --remove $dev
-               done < $CIO_REMOVE_LIST
-       fi
-       umount $ZIPL_DIR
-else
-       warn "No rd.zipl_dasd boot parameter found"
-fi
-- 
1.7.12.4

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to