- rebased to 2.27.0

This commit is contained in:
Dan Horák 2023-05-31 12:44:16 +00:00
parent a6e30a308a
commit b43bfd7eed
4 changed files with 115 additions and 118 deletions

View File

@ -1,115 +0,0 @@
From a12dfc9ee92722c3fdf9f9fbd358023bef7a6ed9 Mon Sep 17 00:00:00 2001
From: Steffen Eiden <seiden@linux.ibm.com>
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 <seiden@linux.ibm.com>
Reviewed-by: Jan Höppner <hoeppner@linux.ibm.com>
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
(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

View File

@ -0,0 +1,108 @@
From 493af760ed47454f5719f05a6e6316f43a3be98a Mon Sep 17 00:00:00 2001
From: Stefan Haberland <sth@linux.ibm.com>
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 <sth@linux.ibm.com>
Reviewed-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Signed-off-by: Steffen Eiden <seiden@linux.ibm.com>
---
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

View File

@ -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 <dan[at]danny.cz> - 2:2.27.0-1
- rebased to 2.27.0
* Fri May 19 2023 Petr Pisar <ppisar@redhat.com> - 2:2.26.0-2
- Rebuild against rpm-4.19 (https://fedoraproject.org/wiki/Changes/RPM-4.19)

View File

@ -1 +1 @@
SHA512 (s390-tools-2.26.0.tar.gz) = 83cd717553f5bb7b9faac8beadfe9d88b211b2e86942c763778825ef840ed398201e1fe4e085f8eafdc3dc6ab0e231b22cb51277aae23106a964e5a14f2997fc
SHA512 (s390-tools-2.27.0.tar.gz) = 8ec83718639d17fe7b1990f4e492f1e1bdd11e814b7838c921733eeccb212f417141042118eadf1e8db498e3ff2ce0c8d404189e436cefe17d9a3dacea22429f