Accepting request 416594 from home:trenn:branches:Base:System

- Fix DASD SSID handling (bsc#989313)
* Add 0501-dasd_fix_ssid_bigger_zero.patch

- Advise user of fs recovery options when we fail to mount (fate#320443)
 * Add 0404-dracut-emergency-optionally-print-fs-help.patch

OBS-URL: https://build.opensuse.org/request/show/416594
OBS-URL: https://build.opensuse.org/package/show/Base:System/dracut?expand=0&rev=262
This commit is contained in:
Thomas Renninger 2016-08-02 16:36:01 +00:00 committed by Git OBS Bridge
parent c94c2ea988
commit e7df022c61
4 changed files with 123 additions and 1 deletions

View File

@ -0,0 +1,55 @@
From 7114191b77be2e979bc7d7a93ba040b91a72b5a9 Mon Sep 17 00:00:00 2001
From: Mark Fasheh <mfasheh@suse.de>
Date: Fri, 24 Jun 2016 15:11:17 -0700
Subject: [PATCH] dracut-emergency: optionally print fs help
Allow filesystem modules to install a fs-specific text file with
instructions on what to do when mount fails. This is printed when we go into
an emergency shell.
Signed-off-by: Mark Fasheh <mfasheh@suse.de>
---
dracut-init.sh | 6 ++++++
modules.d/98dracut-systemd/dracut-emergency.sh | 2 ++
2 files changed, 8 insertions(+)
diff --git a/dracut-init.sh b/dracut-init.sh
index fc35d7b..ae6352b 100644
--- a/dracut-init.sh
+++ b/dracut-init.sh
@@ -240,6 +240,12 @@ inst_script() {
(($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@" || :
}
+inst_fsck_help() {
+ local _helper="/usr/share/fsck/fsck_help_$1.txt"
+ $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$2" $_helper
+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$2" $_helper || :
+}
+
mark_hostonly() {
for i in "$@"; do
echo "$i" >> "$initdir/lib/dracut/hostonly-files"
diff --git a/modules.d/98dracut-systemd/dracut-emergency.sh b/modules.d/98dracut-systemd/dracut-emergency.sh
index 26be291..2d9ecd7 100755
--- a/modules.d/98dracut-systemd/dracut-emergency.sh
+++ b/modules.d/98dracut-systemd/dracut-emergency.sh
@@ -16,6 +16,7 @@ source_hook "$hook"
if getargbool 1 rd.shell -d -y rdshell || getarg rd.break -d rdbreak; then
+ FSTXT="/usr/share/fsck/fsck_help_$fstype.txt"
echo
rdsosreport
echo
@@ -26,6 +27,7 @@ if getargbool 1 rd.shell -d -y rdshell || getarg rd.break -d rdbreak; then
echo 'after mounting them and attach it to a bug report.'
echo
echo
+ [ -f $FSTXT ] && cat $FSTXT
[ -f /etc/profile ] && . /etc/profile
[ -z "$PS1" ] && export PS1="$_name:\${PWD}# "
exec sh -i -l
--
2.1.4

View File

@ -0,0 +1,51 @@
From: Hannes Reinecke <hare@suse.com>
Fix DASD with SSID greater than 0
bsc#989313
Signed-off-by: Thomas Renninger <trenn@suse.com>
---
modules.d/95dasd_rules/parse-dasd.sh | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
--- a/modules.d/95dasd_rules/parse-dasd.sh
+++ a/modules.d/95dasd_rules/parse-dasd.sh
@@ -84,13 +84,14 @@ for dasd_arg in $(getargs rd.dasd=); do
OLDIFS="$IFS"
IFS="-"
set -- $range
- start=${1#0.0.}
+ prefix=${1%.*}
+ start=${1##*.}
shift
- end=${1#0.0.}
+ end=${1##.}
shift
IFS="$OLDIFS"
for dev in $(seq $(( 16#$start )) $(( 16#$end )) ) ; do
- create_udev_rule $(printf "0.0.%04x" "$dev")
+ create_udev_rule $(printf "%s.%04x" "$prefix" "$dev")
done
;;
*)
@@ -98,8 +99,16 @@ for dasd_arg in $(getargs rd.dasd=); do
if [ "$dev" != "$1" ] ; then
ro=1
fi
- dev=${dev#0.0.}
- create_udev_rule $(printf "0.0.%04x" $(( 16#$dev )) )
+ OLDIFS="$IFS"
+ IFS="."
+ set -- $dev
+ sid=$1
+ shift
+ ssid=$1
+ shift
+ chan=$1
+ IFS="$OLDIFS"
+ create_udev_rule $(printf "%01x.%01x.%04x" $(( 16#$sid )) $(( 16#$ssid )) $(( 16#$chan )) )
shift
;;
esac
--

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Tue Aug 2 14:19:00 UTC 2016 - trenn@suse.de
- Fix DASD SSID handling (bsc#989313)
* Add 0501-dasd_fix_ssid_bigger_zero.patch
-------------------------------------------------------------------
Tue Aug 2 14:18:00 UTC 2016 - mfasheh@suse.com
- Advise user of fs recovery options when we fail to mount (fate#320443)
* Add 0404-dracut-emergency-optionally-print-fs-help.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Jul 4 12:19:43 UTC 2016 - agraf@suse.com Mon Jul 4 12:19:43 UTC 2016 - agraf@suse.com

View File

@ -1,7 +1,7 @@
# #
# spec file for package dracut # spec file for package dracut
# #
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2016 SUSE LINUX Products GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -144,9 +144,11 @@ Patch211: 0211-fix_multipath_check_hostonly.patch
# New features/improvements # New features/improvements
Patch402: 0402-driver-fail-summary.patch Patch402: 0402-driver-fail-summary.patch
Patch403: 0403-95lunmask-Add-module-to-handle-LUN-masking.patch Patch403: 0403-95lunmask-Add-module-to-handle-LUN-masking.patch
Patch404: 0404-dracut-emergency-optionally-print-fs-help.patch
# On top patches/fixes which have to be applied late # On top patches/fixes which have to be applied late
Patch500: 0500-Reset-IFS-variable.patch Patch500: 0500-Reset-IFS-variable.patch
Patch501: 0501-dasd_fix_ssid_bigger_zero.patch
BuildRequires: asciidoc BuildRequires: asciidoc
BuildRequires: bash BuildRequires: bash
@ -317,8 +319,10 @@ chmod a+x modules.d/91zipl/install_zipl_cmdline.sh
%patch402 -p1 %patch402 -p1
%patch403 -p1 %patch403 -p1
%patch404 -p1
%patch500 -p1 %patch500 -p1
%patch501 -p1
%build %build
%configure\ %configure\