forked from pool/s390-tools
Accepting request 555141 from home:markkp:branches:Base:System
- Added the following two patches (bsc#1071166): s390-tools-sles15-zdev-Enable-running-chzdev-from-unknown-root-devices.patch s390-tools-sles15-zdev-Fix-zdev-dracut-module-aborting-on-unknown-root.patch OBS-URL: https://build.opensuse.org/request/show/555141 OBS-URL: https://build.opensuse.org/package/show/Base:System/s390-tools?expand=0&rev=41
This commit is contained in:
parent
d3b5067da2
commit
b12140c3aa
@ -0,0 +1,53 @@
|
||||
From 2a6a28023bdfe127be68ac605f9a026a82884c80 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
|
||||
Date: Tue, 5 Dec 2017 15:40:23 +0100
|
||||
Subject: [PATCH 1/4] zdev: Enable running chzdev from unknown root devices
|
||||
|
||||
When a persistent device configuration is changed, chzdev tries to
|
||||
find out if it needs to perform additional steps to make this change
|
||||
persistent. If this check fails, for example because the root device
|
||||
is located on a RAM-disk, or on a device type not managed by chzdev,
|
||||
the tool reports an error and exits with non-zero exit code:
|
||||
|
||||
chzdev: Could not determine device that provides /
|
||||
|
||||
or
|
||||
|
||||
chzdev: Could not determine device that provides loop0
|
||||
|
||||
This behavior unnecessarily restricts chzdev from being used in
|
||||
scripted environments like an installation initial RAM-disk.
|
||||
|
||||
Fix this by removing the non-zero exit code and moving the message to
|
||||
verbose output mode only.
|
||||
|
||||
Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
|
||||
Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
|
||||
---
|
||||
zdev/src/root.c | 9 +++++++--
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/zdev/src/root.c b/zdev/src/root.c
|
||||
index 7f0d39f..668bdbd 100644
|
||||
--- a/zdev/src/root.c
|
||||
+++ b/zdev/src/root.c
|
||||
@@ -35,9 +35,14 @@ exit_code_t root_check(void)
|
||||
/* Get list of devices that provide the root device. */
|
||||
selected = selected_dev_list_new();
|
||||
rc = select_by_path(NULL, selected, config_active, scope_mandatory,
|
||||
- NULL, NULL, PATH_ROOT, err_print);
|
||||
- if (rc)
|
||||
+ NULL, NULL, PATH_ROOT, err_ignore);
|
||||
+ if (rc) {
|
||||
+ /* Running from an unknown root device is not an error. */
|
||||
+ verb("Note: Could not determine if root device configuration "
|
||||
+ "needs to be updated\n");
|
||||
+ rc = 0;
|
||||
goto out;
|
||||
+ }
|
||||
|
||||
/* Determine if any of the devices or device types has been modified. */
|
||||
mod = strlist_new();
|
||||
--
|
||||
2.13.6
|
||||
|
@ -0,0 +1,54 @@
|
||||
From 0348a8443e5f15636f86ef2533a7d6e8fa5d936d Mon Sep 17 00:00:00 2001
|
||||
From: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
|
||||
Date: Thu, 7 Dec 2017 17:21:11 +0100
|
||||
Subject: [PATCH 4/4] zdev: Fix zdev dracut module aborting on unknown root
|
||||
device
|
||||
|
||||
Running dracut when the root device is not known to zdev (for example
|
||||
because it is located on a virtio block device) will cause the zdev
|
||||
dracut module to incorrectly return an error in the installkernel()
|
||||
function. As a result dracut aborts with an error.
|
||||
|
||||
Fix this by ensuring that the non-zero exit code resulting from lszdev
|
||||
not being able to determine the root device is not passed on to the
|
||||
calling function. Also remove unnecessary error output in this case
|
||||
by leaving the install() function early when the root device is not
|
||||
known to zdev.
|
||||
|
||||
Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
|
||||
Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
|
||||
---
|
||||
zdev/dracut/95zdev/module-setup.sh | 12 ++++++++++--
|
||||
1 file changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/zdev/dracut/95zdev/module-setup.sh b/zdev/dracut/95zdev/module-setup.sh
|
||||
index 7c67cd7..4c13a65 100644
|
||||
--- a/zdev/dracut/95zdev/module-setup.sh
|
||||
+++ b/zdev/dracut/95zdev/module-setup.sh
|
||||
@@ -29,13 +29,21 @@ depends() {
|
||||
}
|
||||
|
||||
installkernel() {
|
||||
- local _modules=$(lszdev --by-path / --columns MODULES --no-headings)
|
||||
+ local _modules=$(lszdev --by-path / --columns MODULES --no-headings 2>/dev/null)
|
||||
|
||||
+ [ -z "$_modules" ] && return 0
|
||||
[ ! -z "$_modules" ] && instmods $_modules
|
||||
}
|
||||
|
||||
install() {
|
||||
- local _tempfile=$(mktemp --tmpdir dracut-zdev.XXXXXX)
|
||||
+ local _tempfile
|
||||
+
|
||||
+ # Exit early if root device type is unknown
|
||||
+ if ! lszdev --by-path / >/dev/null 2>&1 ; then
|
||||
+ return 0
|
||||
+ fi
|
||||
+
|
||||
+ _tempfile=$(mktemp --tmpdir dracut-zdev.XXXXXX)
|
||||
|
||||
if chzdev --export - --persistent --by-path / >/dev/null 2>&1 ; then
|
||||
# Use persistent configuration
|
||||
--
|
||||
2.13.6
|
||||
|
@ -1,3 +1,10 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 7 23:08:31 UTC 2017 - mpost@suse.com
|
||||
|
||||
- Added the following two patches (bsc#1071166):
|
||||
s390-tools-sles15-zdev-Enable-running-chzdev-from-unknown-root-devices.patch
|
||||
s390-tools-sles15-zdev-Fix-zdev-dracut-module-aborting-on-unknown-root.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Dec 5 17:49:35 UTC 2017 - mpost@suse.com
|
||||
|
||||
|
@ -135,6 +135,8 @@ Patch27: s390-tools-sles15-lsluns-clarify-discovery-use-case-relation-to-
|
||||
Patch28: s390-tools-sles15-lsluns-point-out-IBM-Storwize-configuration-requirem.patch
|
||||
Patch29: s390-tools-sles15-lsluns-document-restriction-to-zfcp-only-systems.patch
|
||||
Patch30: s390-tools-sles15-lsluns-complement-alternative-tools-with-lszdev.patch
|
||||
Patch31: s390-tools-sles15-zdev-Enable-running-chzdev-from-unknown-root-devices.patch
|
||||
Patch32: s390-tools-sles15-zdev-Fix-zdev-dracut-module-aborting-on-unknown-root.patch
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
ExclusiveArch: s390 s390x
|
||||
@ -221,6 +223,8 @@ to list files and directories.
|
||||
%patch28 -p1
|
||||
%patch29 -p1
|
||||
%patch30 -p1
|
||||
%patch31 -p1
|
||||
%patch32 -p1
|
||||
|
||||
cp -vi %{S:22} CAUTION
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user