From 4f376db3ca0e05ad28ece80249fb87bd1ab24961f4b2c28c6f245d16fd2ff8ee Mon Sep 17 00:00:00 2001 From: Thomas Renninger Date: Fri, 14 Mar 2014 15:16:25 +0000 Subject: [PATCH] Accepting request 225985 from home:trenn:branches:Base:System - CRITICAL: Fix add-drivers passing from mkinitrd to dracut bnc#868397 - Add s390 dcssblk driver and introduce rd.dcssblk= to pass mounts that should get activated at initrd stage fate#308263 Add: s390-dcssblk.patch OBS-URL: https://build.opensuse.org/request/show/225985 OBS-URL: https://build.opensuse.org/package/show/Base:System/dracut?expand=0&rev=113 --- dracut-fix-whitespace-add-drivers_call.patch | 4 +- dracut.changes | 12 +++++ dracut.spec | 3 ++ s390-dcssblk.patch | 47 ++++++++++++++++++++ 4 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 s390-dcssblk.patch diff --git a/dracut-fix-whitespace-add-drivers_call.patch b/dracut-fix-whitespace-add-drivers_call.patch index 0bb4b10..42afdd7 100644 --- a/dracut-fix-whitespace-add-drivers_call.patch +++ b/dracut-fix-whitespace-add-drivers_call.patch @@ -57,7 +57,7 @@ Index: dracut-036/mkinitrd-suse.sh + # -> dracut bug workarounded ugly, because of complex whitespace + # expansion magics + if [ -n "${modules_all}" ];then -+ $dracut_cmd $dracut_args --add-drivers \"${modules_all}\" "$target" "$kernel" &>/dev/null ++ $dracut_cmd $dracut_args --add-drivers "${modules_all}" "$target" "$kernel" &>/dev/null + else $dracut_cmd $dracut_args "$target" "$kernel" &>/dev/null - fi @@ -71,7 +71,7 @@ Index: dracut-036/mkinitrd-suse.sh - "$kernel" - else + if [ -n "${modules_all}" ];then -+ $dracut_cmd $dracut_args --add-drivers \"${modules_all}\" "$target" "$kernel" ++ $dracut_cmd $dracut_args --add-drivers "${modules_all}" "$target" "$kernel" + else $dracut_cmd $dracut_args "$target" "$kernel" - fi diff --git a/dracut.changes b/dracut.changes index 474d397..c6c50da 100644 --- a/dracut.changes +++ b/dracut.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Fri Mar 14 15:09:37 UTC 2014 - trenn@suse.de + +- CRITICAL: Fix add-drivers passing from mkinitrd to dracut bnc#868397 + +------------------------------------------------------------------- +Wed Mar 12 14:50:50 UTC 2014 - trenn@suse.de + +- Add s390 dcssblk driver and introduce rd.dcssblk= to pass mounts that should + get activated at initrd stage fate#308263 + Add: s390-dcssblk.patch + ------------------------------------------------------------------- Fri Mar 7 13:14:39 UTC 2014 - trenn@suse.de diff --git a/dracut.spec b/dracut.spec index 57dfcda..ee7ab61 100644 --- a/dracut.spec +++ b/dracut.spec @@ -47,6 +47,7 @@ Patch19: change_write_ifcfg_to_suse.patch Patch20: dracut-fix-whitespace-add-drivers_call.patch Patch21: wait_for_network_race_condition_fix.patch Patch22: dracut-warpclock_module.patch +Patch23: s390-dcssblk.patch BuildRequires: asciidoc BuildRequires: bash BuildRequires: docbook-xsl-stylesheets @@ -98,6 +99,7 @@ NFS, iSCSI, NBD, FCoE with the dracut-network package. %patch20 -p1 %patch21 -p1 %patch22 -p1 +%patch23 -p1 %build %configure\ @@ -264,6 +266,7 @@ ln -s %{dracutlibdir}/modules.d/45ifcfg/write-ifcfg-redhat.sh %{buildroot}/%{dra %{dracutlibdir}/modules.d/95debug %{dracutlibdir}/modules.d/95resume %{dracutlibdir}/modules.d/95rootfs-block +%{dracutlibdir}/modules.d/95dcssblk %{dracutlibdir}/modules.d/95dasd %{dracutlibdir}/modules.d/95dasd_mod %{dracutlibdir}/modules.d/95dasd_rules diff --git a/s390-dcssblk.patch b/s390-dcssblk.patch new file mode 100644 index 0000000..7237945 --- /dev/null +++ b/s390-dcssblk.patch @@ -0,0 +1,47 @@ +Index: dracut-036/modules.d/95dcssblk/module-setup.sh +=================================================================== +--- /dev/null ++++ dracut-036/modules.d/95dcssblk/module-setup.sh +@@ -0,0 +1,29 @@ ++#!/bin/bash ++# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- ++# ex: ts=8 sw=4 sts=4 et filetype=sh ++ ++# called by dracut ++check() { ++ local _arch=$(uname -m) ++ [ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1 ++ return 0 ++} ++ ++# called by dracut ++installkernel() { ++ if [ -e /sys/devices/dcssblk/*/block/dcssblk* ];then ++ hostonly='' instmods dcssblk ++ fi ++} ++ ++# called by dracut ++install() { ++ inst_hook cmdline 30 "$moddir/parse-dcssblk.sh" ++ # If there is a config file which contains avail (best only of root device) ++ # disks to activate add it and use it during boot -> then we do not need ++ # a kernel param anymore ++ #if [[ $hostonly ]]; then ++ # inst /etc/dcssblk.conf ++ #fi ++} ++ +Index: dracut-036/modules.d/95dcssblk/parse-dcssblk.sh +=================================================================== +--- /dev/null ++++ dracut-036/modules.d/95dcssblk/parse-dcssblk.sh +@@ -0,0 +1,8 @@ ++#!/bin/sh ++# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- ++# ex: ts=8 sw=4 sts=4 et filetype=sh ++dcssblk_arg=$(getarg rd.dcssblk=) ++if [ $? == 0 ];then ++ info "Loading dcssblk segments=$dcssblk_arg" ++ modprobe dcssblk segments=$dcssblk_arg ++fi