From b43bfd7eed3ce7ca6779f6fbb5c5929318f6787f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Wed, 31 May 2023 12:44:16 +0000 Subject: [PATCH] - rebased to 2.27.0 --- s390utils-2.26.0-fedora.patch | 115 ---------------------------------- s390utils-2.27.0-fedora.patch | 108 +++++++++++++++++++++++++++++++ s390utils.spec | 8 ++- sources | 2 +- 4 files changed, 115 insertions(+), 118 deletions(-) delete mode 100644 s390utils-2.26.0-fedora.patch create mode 100644 s390utils-2.27.0-fedora.patch diff --git a/s390utils-2.26.0-fedora.patch b/s390utils-2.26.0-fedora.patch deleted file mode 100644 index 9a8b060..0000000 --- a/s390utils-2.26.0-fedora.patch +++ /dev/null @@ -1,115 +0,0 @@ -From a12dfc9ee92722c3fdf9f9fbd358023bef7a6ed9 Mon Sep 17 00:00:00 2001 -From: Steffen Eiden -Date: Fri, 17 Feb 2023 15:12:46 +0100 -Subject: [PATCH] Make -Werror optional -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Enforcing `-Werror` can cause problems when compiling with newer -compilers that have additional warnings on by default. - -By default `-Werror` is turned off and can be turned on via -`ENABLE_WERROR=1`. - -Fixes: https://github.com/ibm-s390-linux/s390-tools/issues/148 -Signed-off-by: Steffen Eiden -Reviewed-by: Jan Höppner -Signed-off-by: Jan Höppner -(cherry picked from commit d3a3b26d16efdc4e9f896e616b5c8b7cac1b1a63) ---- - common.mak | 17 +++++++++++------ - genprotimg/boot/Makefile | 2 +- - genprotimg/src/Makefile | 2 +- - libpv/Makefile | 1 - - pvattest/src/Makefile | 1 - - 5 files changed, 13 insertions(+), 10 deletions(-) - -diff --git a/common.mak b/common.mak -index dbd1ebb..1d5e1a2 100644 ---- a/common.mak -+++ b/common.mak -@@ -101,6 +101,10 @@ else - DEFAULT_CFLAGS += -O3 - endif - -+ifeq ("${ENABLE_WERROR}", "1") -+ DEFAULT_CFLAGS += -Werror -+endif -+ - DEFAULT_CPPFLAGS = -D_GNU_SOURCE - DEFAULT_LDFLAGS = -rdynamic - -@@ -302,12 +306,13 @@ help: - @echo ' clean Delete all generated files' - @echo '' - @echo 'OPTIONS' -- @echo ' D=1 Build with debugging option "-Og"' -- @echo ' C=1 Build with check tool defined with "CHECK=" (default=sparse)' -- @echo ' G=1 Build with gcov to collect code coverage data' -- @echo ' V=1 Generate verbose build output' -- @echo ' W=1 Build with higher warning level' -- @echo ' ASAN=1 Build with address sanitizer' -+ @echo ' D=1 Build with debugging option "-Og"' -+ @echo ' C=1 Build with check tool defined with "CHECK=" (default=sparse)' -+ @echo ' G=1 Build with gcov to collect code coverage data' -+ @echo ' V=1 Generate verbose build output' -+ @echo ' W=1 Build with higher warning level' -+ @echo ' ASAN=1 Build with address sanitizer' -+ @echo ' ENABLE_WERROR=1 Build with -Werror' - @echo '' - @echo 'EXAMPLES' - @echo ' # make clean all D=1 W=1 -j' -diff --git a/genprotimg/boot/Makefile b/genprotimg/boot/Makefile -index b1b1421..6f3ae5c 100644 ---- a/genprotimg/boot/Makefile -+++ b/genprotimg/boot/Makefile -@@ -15,7 +15,7 @@ ALL_CFLAGS := $(NO_PIE_CFLAGS) -Os -g \ - -fno-delete-null-pointer-checks -fno-stack-protector \ - -fexec-charset=IBM1047 -m64 -mpacked-stack \ - -mstack-size=4096 -mstack-guard=128 -msoft-float \ -- -Wall -Wformat-security -Wextra -Werror \ -+ -Wall -Wformat-security -Wextra \ - -Wno-array-bounds - - FILES := stage3a.bin stage3b.bin stage3b_reloc.bin -diff --git a/genprotimg/src/Makefile b/genprotimg/src/Makefile -index 0e811d6..6c80ed2 100644 ---- a/genprotimg/src/Makefile -+++ b/genprotimg/src/Makefile -@@ -17,7 +17,7 @@ WARNINGS := -Wall -Wextra -Wshadow \ - -Wcast-align -Wwrite-strings -Wmissing-prototypes \ - -Wmissing-declarations -Wredundant-decls -Wnested-externs \ - -Wno-long-long -Wuninitialized -Wconversion -Wstrict-prototypes \ -- -Wpointer-arith -Werror -Wno-error=inline \ -+ -Wpointer-arith -Wno-error=inline \ - $(NULL) - - $(bin_PROGRAM)_SRCS := $(bin_PROGRAM).c pv/pv_stage3.c pv/pv_image.c \ -diff --git a/libpv/Makefile b/libpv/Makefile -index d9a1cff..5b518c7 100644 ---- a/libpv/Makefile -+++ b/libpv/Makefile -@@ -28,7 +28,6 @@ WARNINGS := -Wall -Wextra -Wshadow \ - -Wno-long-long -Wuninitialized -Wconversion -Wstrict-prototypes \ - -Wpointer-arith -Wno-error=inline \ - -Wno-unused-function -Wno-unused-parameter -Wno-unused-variable \ -- -Werror \ - $(NULL) - - ALL_CFLAGS += -std=gnu11 \ -diff --git a/pvattest/src/Makefile b/pvattest/src/Makefile -index a1f0e1a..cd56af0 100644 ---- a/pvattest/src/Makefile -+++ b/pvattest/src/Makefile -@@ -17,7 +17,6 @@ WARNINGS := -Wall -Wextra -Wshadow \ - -Wno-long-long -Wuninitialized -Wconversion -Wstrict-prototypes \ - -Wpointer-arith -Wno-error=inline \ - -Wno-unused-function -Wno-unused-parameter -Wno-unused-variable \ -- -Werror \ - $(NULL) - - PVATTEST_SRCS := $(wildcard *.c) \ --- -2.39.2 - diff --git a/s390utils-2.27.0-fedora.patch b/s390utils-2.27.0-fedora.patch new file mode 100644 index 0000000..d73d4ec --- /dev/null +++ b/s390utils-2.27.0-fedora.patch @@ -0,0 +1,108 @@ +From 493af760ed47454f5719f05a6e6316f43a3be98a Mon Sep 17 00:00:00 2001 +From: Stefan Haberland +Date: Mon, 8 May 2023 14:52:54 +0200 +Subject: [PATCH] zdev: add support for autoquiesce related sysfs attributes + +Autoquiesce is a mechanism that tells Linux to stop issuing I/Os to a +specific DASD after certain events. + +Add support for configuring related DASD device attributes +that govern the following aspects of autoquiesce: + +aq_mask - Configure which events lead to autoquiesce. +aq_requeue - Configure if autoquiesce will requeue all I/O to blocklayer. +aq_timeouts - Configure the number of timeouts before autoquiesce. + +Signed-off-by: Stefan Haberland +Reviewed-by: Peter Oberparleiter +Signed-off-by: Steffen Eiden +--- + zdev/src/dasd.c | 65 +++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 65 insertions(+) + +diff --git a/zdev/src/dasd.c b/zdev/src/dasd.c +index f9fd231..4330229 100644 +--- a/zdev/src/dasd.c ++++ b/zdev/src/dasd.c +@@ -344,6 +344,68 @@ static struct attrib dasd_attr_fc_security = { + .readonly = 1, + }; + ++static struct attrib dasd_attr_aq_mask = { ++ .name = "aq_mask", ++ .title = "Specify autoquiesce triggers", ++ .desc = ++ "Use the aq_mask attribute to automatically quiesce a device and block\n" ++ "new I/O after certain events.\n" ++ "\n" ++ "The value is a bitmask in decimal or hexadecimal format where each set bit\n" ++ "indicates that the associated event shown in the table below triggers an\n" ++ "autoquiesce.\n" ++ " Bit 0 is not used.\n" ++ " 1 - 0x02 - A terminal I/O error occurred\n" ++ " 2 - 0x04 - No active channel paths remain for the device\n" ++ " 3 - 0x08 - A state change interrupt occurred\n" ++ " 4 - 0x10 - The device is PPRC suspended\n" ++ " 5 - 0x20 - No space is left on an ESE device\n" ++ " 6 - 0x40 – The number of timeouts specified in aq_timeouts is reached\n" ++ " 7 - 0x80 - I/O was not started because of an error in the start function\n" ++ "\n" ++ "For example bits 1,3 and 5 set (0010 1010) lead to an integer value of 42\n" ++ "or 0x2A.\n" ++ "An integer value of 0 turns off the autoquiesce function.\n", ++ .order_cmp = ccw_online_only_order_cmp, ++ .check = ccw_online_only_check, ++ .defval = "0", ++ /* ++ * Currently only 8 bits are defined and the max value is 255. ++ * This needs to be adjusted if more bits are defined. ++ */ ++ .accept = ACCEPT_ARRAY(ACCEPT_RANGE(0, 255)), ++}; ++ ++static struct attrib dasd_attr_aq_requeue = { ++ .name = "aq_requeue", ++ .title = "Control I/O requeing during autoquiesce", ++ .desc = ++ "Use the aq_requeue attribute to control whether outstanding I/O\n" ++ "operations to the blocklayer should be automatically requeued after\n" ++ "an autoquiesce event.\n" ++ "Valid values are 1 for requeuing, or 0 for no requeueing.\n" ++ "Requeing the I/O requests to the blocklayer might benefit I/O\n" ++ "in case of a copy_pair swap operation.\n", ++ .order_cmp = ccw_online_only_order_cmp, ++ .check = ccw_online_only_check, ++ .defval = "0", ++ .accept = ACCEPT_ARRAY(ACCEPT_RANGE(0, 1)), ++}; ++ ++static struct attrib dasd_attr_aq_timeouts = { ++ .name = "aq_timeouts", ++ .title = "Specify timeout retry threshold", ++ .desc = ++ "Specify the number of sequential timeout events for an I/O operation\n" ++ "before an autoquiesce is triggered on a device.\n" ++ "This requires that the corresponding trigger bit 6 is set\n" ++ "in the aq_mask attribute.\n", ++ .order_cmp = ccw_online_only_order_cmp, ++ .check = ccw_online_only_check, ++ .defval = "32768", ++ .accept = ACCEPT_ARRAY(ACCEPT_RANGE(0, 32768)), ++}; ++ + /* + * DASD subtype methods. + */ +@@ -725,6 +787,9 @@ struct subtype dasd_subtype_eckd = { + &dasd_attr_safe_offline, + &dasd_attr_fc_security, + &dasd_attr_copy_pair, ++ &dasd_attr_aq_mask, ++ &dasd_attr_aq_requeue, ++ &dasd_attr_aq_timeouts, + &internal_attr_early, + ), + .unknown_dev_attribs = 1, +-- +2.39.2 + diff --git a/s390utils.spec b/s390utils.spec index ffdc483..9d73508 100644 --- a/s390utils.spec +++ b/s390utils.spec @@ -9,8 +9,8 @@ Name: s390utils Summary: Utilities and daemons for IBM z Systems -Version: 2.26.0 -Release: 2%{?dist} +Version: 2.27.0 +Release: 1%{?dist} Epoch: 2 License: MIT ExclusiveArch: s390 s390x @@ -212,6 +212,7 @@ This package provides minimal set of tools needed to system to boot. %{_unitdir}/cpi.service %config(noreplace) %{_sysconfdir}/sysconfig/cpi /usr/lib/dracut/modules.d/95zdev/ +/usr/lib/dracut/modules.d/95zdev-kdump/ %{_mandir}/man5/zipl.conf.5* %{_mandir}/man8/chreipl.8* %{_mandir}/man8/chzdev.8* @@ -897,6 +898,9 @@ User-space development files for the s390/s390x architecture. %changelog +* Wed May 31 2023 Dan Horák - 2:2.27.0-1 +- rebased to 2.27.0 + * Fri May 19 2023 Petr Pisar - 2:2.26.0-2 - Rebuild against rpm-4.19 (https://fedoraproject.org/wiki/Changes/RPM-4.19) diff --git a/sources b/sources index 7bbbf61..95bf181 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (s390-tools-2.26.0.tar.gz) = 83cd717553f5bb7b9faac8beadfe9d88b211b2e86942c763778825ef840ed398201e1fe4e085f8eafdc3dc6ab0e231b22cb51277aae23106a964e5a14f2997fc +SHA512 (s390-tools-2.27.0.tar.gz) = 8ec83718639d17fe7b1990f4e492f1e1bdd11e814b7838c921733eeccb212f417141042118eadf1e8db498e3ff2ce0c8d404189e436cefe17d9a3dacea22429f