From 34393d9d7742abd7b79315301a2ceb19e324879c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Mon, 3 Nov 2025 11:26:39 +0100 Subject: [PATCH] - dasdfmt: Change mode default (RHEL-121638) - Resolves: RHEL-121638 --- s390utils-2.29.0-rhel.patch | 210 +++++++++++++++++++++++++++++------- s390utils.spec | 6 +- 2 files changed, 175 insertions(+), 41 deletions(-) diff --git a/s390utils-2.29.0-rhel.patch b/s390utils-2.29.0-rhel.patch index bfc789e..d403dad 100644 --- a/s390utils-2.29.0-rhel.patch +++ b/s390utils-2.29.0-rhel.patch @@ -1,7 +1,7 @@ From a32824922cb273703bacd44e6a29cbc33ae48cf5 Mon Sep 17 00:00:00 2001 From: Ingo Franzki Date: Fri, 21 Jul 2023 14:06:18 +0200 -Subject: [PATCH 01/20] zkey: Support EP11 AES keys with prepended header to +Subject: [PATCH 01/21] zkey: Support EP11 AES keys with prepended header to retain EP11 session (RHEL-11440) The pkey kernel module supports two key blob formats for EP11 AES keys. @@ -730,13 +730,13 @@ index 3000290..843e554 100644 "secure AES key"); } -- -2.51.0 +2.51.1 From df0819ca69dbef1f99321f51cd9c4d33c6374992 Mon Sep 17 00:00:00 2001 From: Steffen Eiden Date: Mon, 7 Aug 2023 16:56:54 +0200 -Subject: [PATCH 02/20] rust/Makefile: Fix use of Cargoflags for 'make clean' +Subject: [PATCH 02/21] rust/Makefile: Fix use of Cargoflags for 'make clean' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -763,13 +763,13 @@ index cf2fda7..420bafd 100644 rust-test: .check-cargo .no-cross-compile -- -2.51.0 +2.51.1 From b6ce8c7fc10c225c0b1d59af32edd323f5817ab7 Mon Sep 17 00:00:00 2001 From: Steffen Eiden Date: Mon, 7 Aug 2023 16:56:55 +0200 -Subject: [PATCH 03/20] rust/README.md: Fix some typos +Subject: [PATCH 03/21] rust/README.md: Fix some typos MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -833,13 +833,13 @@ index 2622bba..61b0af8 100644 } ``` -- -2.51.0 +2.51.1 From 883d28afea6ea18b1001ebf9e3d921d86be9c593 Mon Sep 17 00:00:00 2001 From: Marc Hartmayer Date: Mon, 4 Sep 2023 14:18:50 +0200 -Subject: [PATCH 04/20] rust/**/*.rs: fix `cargo clippy` findings +Subject: [PATCH 04/21] rust/**/*.rs: fix `cargo clippy` findings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1205,13 +1205,13 @@ index 2b3e861..bf491c6 100644 let exp = get_test_asset!("exp/asrcb/null_none_default_cuid_seven"); -- -2.51.0 +2.51.1 From 4c8072cebe9add441c42e62663d4089d14d32389 Mon Sep 17 00:00:00 2001 From: Steffen Eiden Date: Wed, 25 Oct 2023 15:26:14 +0200 -Subject: [PATCH 05/20] rust/pv: fix Invalid write of size 1 +Subject: [PATCH 05/21] rust/pv: fix Invalid write of size 1 Fix a valgrind finding. Fix an invalid read/write of one byte after the actual struct to clear. Not fixing this may result in a illegal write or @@ -1240,13 +1240,13 @@ index cdef9ef..88287c8 100644 } std::sync::atomic::compiler_fence(std::sync::atomic::Ordering::SeqCst); -- -2.51.0 +2.51.1 From 49eabe2d13ea3909f4c522fefaf8db998c7ab888 Mon Sep 17 00:00:00 2001 From: Steffen Eiden Date: Wed, 4 Oct 2023 10:59:34 +0200 -Subject: [PATCH 06/20] rust: Create workspace +Subject: [PATCH 06/21] rust: Create workspace A workspaces simplifies the build and packaging process significantly. All build artifacts and binaries are now built in a single location @@ -1492,13 +1492,13 @@ index 30bbbc8..215381b 100644 +edition.workspace = true +license.workspace = true -- -2.51.0 +2.51.1 From be47ce72f4ee7dc7ed2dafb9b89079b0c2b154fa Mon Sep 17 00:00:00 2001 From: Steffen Eiden Date: Wed, 4 Oct 2023 11:08:20 +0200 -Subject: [PATCH 07/20] rust: Update dependency files +Subject: [PATCH 07/21] rust: Update dependency files With the last patch introducing the rust workspace the location of Cargo.lock has changed. Therefore, remove all crate level lock-files and @@ -1912,13 +1912,13 @@ index 1db32c2..f7d1cf0 100644 name = "winapi" version = "0.3.9" -- -2.51.0 +2.51.1 From c25115c0d605c9c79efd8e17d4917a35603c0766 Mon Sep 17 00:00:00 2001 From: Steffen Eiden Date: Tue, 21 Nov 2023 13:27:21 +0100 -Subject: [PATCH 08/20] rust: Sanitize minimal dependencies +Subject: [PATCH 08/21] rust: Sanitize minimal dependencies The crate dependencies were a bit to slack. Due to the rust dependency resolver's strategy of always selecting the latest version this never @@ -2009,13 +2009,13 @@ index d1e75b1..e236c00 100644 pv = { path = "../pv", features = ["uvsecret", "request"] } -- -2.51.0 +2.51.1 From b6009c80b112ad85ca2aa649126b913af5af253c Mon Sep 17 00:00:00 2001 From: Steffen Eiden Date: Wed, 29 Nov 2023 17:06:50 +0100 -Subject: [PATCH 09/20] rust: Use default panic behaviour +Subject: [PATCH 09/21] rust: Use default panic behaviour Reviewed-by: Marc Hartmayer Signed-off-by: Steffen Eiden @@ -2034,13 +2034,13 @@ index 65a70a9..7ba1faa 100644 lto = true -panic = "abort" -- -2.51.0 +2.51.1 From c4e48d060b7d92d7c6cd150728ecb55b301afa62 Mon Sep 17 00:00:00 2001 From: Steffen Eiden Date: Thu, 30 Nov 2023 16:02:16 +0100 -Subject: [PATCH 10/20] rust/pv: Update mockito to version 1 +Subject: [PATCH 10/21] rust/pv: Update mockito to version 1 Signed-off-by: Steffen Eiden (cherry picked from commit 21662d38e68b58bad033cdb1fca99987dd07cf78) @@ -2732,13 +2732,13 @@ index 1c0d2b5..5ca2e71 100644 .with_body_from_file(res_path) .create() -- -2.51.0 +2.51.1 From 66783f1901dcaca6f567ad13b05acc7dbe412ff0 Mon Sep 17 00:00:00 2001 From: Steffen Eiden Date: Wed, 20 Dec 2023 13:31:18 +0100 -Subject: [PATCH 11/20] rust/Makefile: Fix CC/AR variables for TEST_TARGETS +Subject: [PATCH 11/21] rust/Makefile: Fix CC/AR variables for TEST_TARGETS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -2766,13 +2766,13 @@ index e4e9885..fa3cf04 100644 $(PV_TARGETS): .check-dep-pvtools $(PV_TARGETS) $(CARGO_TARGETS): .check-cargo .no-cross-compile -- -2.51.0 +2.51.1 From d54a8aa4d7b77338fd5511d895eadbb074b6024a Mon Sep 17 00:00:00 2001 From: Steffen Eiden Date: Fri, 15 Dec 2023 11:30:14 +0100 -Subject: [PATCH 12/20] rust/pv: Provide access for SecretList members +Subject: [PATCH 12/21] rust/pv: Provide access for SecretList members MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -3044,13 +3044,13 @@ index 6943bd3..72a05b2 100644 fn dump_secret_entry() { const EXP: &[u8] = &[ -- -2.51.0 +2.51.1 From e75bbd754e5912d34c0aedfe35ccedd54ca850be Mon Sep 17 00:00:00 2001 From: Harald Freudenberger Date: Fri, 1 Dec 2023 12:10:20 +0100 -Subject: [PATCH 13/20] rust/pvapconfig: Introduce new tool pvapconfig +Subject: [PATCH 13/21] rust/pvapconfig: Introduce new tool pvapconfig MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -5715,13 +5715,13 @@ index 0000000..2f98bd5 + } +} -- -2.51.0 +2.51.1 From 6b69de3c519971a88c5953075586b322e1efdc3e Mon Sep 17 00:00:00 2001 From: Joern Siglen Date: Wed, 25 Oct 2023 15:01:11 +0200 -Subject: [PATCH 14/20] dbginfo.sh: enhance ethtool collection for ROCE +Subject: [PATCH 14/21] dbginfo.sh: enhance ethtool collection for ROCE (RHEL-24110) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -5752,13 +5752,13 @@ index 9226a8b..f70cf6e 100755 else pr_skip "ethtool: no devices" -- -2.51.0 +2.51.1 From 90943f11e0feef6bc6cde3bf0b80ad0a21c55d72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Wed, 10 Apr 2024 11:27:58 +0200 -Subject: [PATCH 15/20] rust/pv: Support `Armonk` in IBM signing key subject +Subject: [PATCH 15/21] rust/pv: Support `Armonk` in IBM signing key subject (RHEL-30398) New IBM signing keys will have Armonk as locality in the subject. @@ -6064,13 +6064,13 @@ index 5ca2e71..e4c60c5 100644 verifier.verify(&hkd_exp), Err(Error::HkdVerify(AfterValidity)) -- -2.51.0 +2.51.1 From e1423607a66ee37f8ae581fbf5fa013f5ab80ae8 Mon Sep 17 00:00:00 2001 From: Marc Hartmayer Date: Thu, 14 Mar 2024 16:05:09 +0000 -Subject: [PATCH 16/20] genprotimg: support `Armonk` in IBM signing key subject +Subject: [PATCH 16/21] genprotimg: support `Armonk` in IBM signing key subject (RHEL-30398) New IBM signing certificates will have 'Armonk' as locality in the @@ -6396,13 +6396,13 @@ index fdf66de..e45e57d 100644 WRAPPED_G_DEFINE_AUTOPTR_CLEANUP_FUNC(BIO, BIO_free_all) WRAPPED_G_DEFINE_AUTOPTR_CLEANUP_FUNC(BN_CTX, BN_CTX_free) -- -2.51.0 +2.51.1 From 1605e9c0033e245f8a6690e2ce95a27e383722df Mon Sep 17 00:00:00 2001 From: Steffen Eiden Date: Tue, 12 Mar 2024 10:14:43 +0100 -Subject: [PATCH 17/20] libpv: Support `Armonk` in IBM signing key subject +Subject: [PATCH 17/21] libpv: Support `Armonk` in IBM signing key subject (RHEL-30398) New IBM signing keys will have Armonk as locality in the subject. @@ -6645,13 +6645,13 @@ index c8bb8cc..f4774fc 100644 for (int i = 0; i < sk_X509_CRL_num(ret); i++) { X509_CRL *crl = sk_X509_CRL_value(ret, i); -- -2.51.0 +2.51.1 From 3bd5cce64692d4b630b313cf465a55595971bed4 Mon Sep 17 00:00:00 2001 From: Steffen Eiden Date: Wed, 20 Mar 2024 15:36:52 +0100 -Subject: [PATCH 18/20] pvattest: Fix root-ca parsing (RHEL-30398) +Subject: [PATCH 18/21] pvattest: Fix root-ca parsing (RHEL-30398) The parser setup falsely set the argument type as filename array, but code expected a single filename. Fixed by setting up the parser @@ -6691,13 +6691,13 @@ index fe5662f..5924ddc 100644 /* NOTE REQUIRED */ -- -2.51.0 +2.51.1 From a1b83b44def87915acaf0d9668bdf96824d0e781 Mon Sep 17 00:00:00 2001 From: Ingo Franzki Date: Thu, 3 Apr 2025 11:26:47 +0200 -Subject: [PATCH 19/20] zkey: Adjust CCA host library version detection for +Subject: [PATCH 19/21] zkey: Adjust CCA host library version detection for newer CCA versions (RHEL-105487) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -6748,13 +6748,13 @@ index 71c08ad..9d79c4b 100644 warnx("CCA formware version is invalid: %s", version_data); return -EINVAL; -- -2.51.0 +2.51.1 From 8b98ad7e7e273b2327ad50bdf31935d4a439a618 Mon Sep 17 00:00:00 2001 From: Ingo Franzki Date: Thu, 11 Sep 2025 08:37:38 +0200 -Subject: [PATCH 20/20] libekmfweb: Fix generation of certificate or CSR with +Subject: [PATCH 20/21] libekmfweb: Fix generation of certificate or CSR with RSA-PSS instead of RSA (RHEL-114130) Currently a certificate or certificate signing request generated by the @@ -6816,5 +6816,135 @@ index ee25fc0..3a822e7 100644 if (rc != 0) { pr_verbose(verbose, "SK_OPENSSL_generate_ss_cert failed " -- -2.51.0 +2.51.1 + + +From ad8dcda916c7c7ec4294fff11e1858e3cbd9ec2f Mon Sep 17 00:00:00 2001 +From: Eduard Shishkin +Date: Mon, 19 Feb 2024 17:25:04 +0100 +Subject: [PATCH 21/21] dasdfmt: Change mode default (RHEL-121638) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When formatting an ESE (thin-provisioned) ECKD DASD, dasdfmt(8) +defaults to the quick-format mode instead of full-format for normal +DASDs. This results in a significant performance impact during first +sequential write to each track, which may be unexpected for users. + +To address this, change the default for dasdfmt to always use +full-format mode. Customers that require thin provisioning(*) still +override the default by specifying quick format explicitly using the +"-M" option. + +Get rid of the related fallbacks; In case of unsuccessful space +release always fail. The customers that still require quick format can +proceed by specifying "--no-discard" option. + +(*) Thin provisioning: while providing a large amount of logical + space, zero amount of actual space is provisioned and then + allocated on an on-demand basis. + +Signed-off-by: Eduard Shishkin +Reviewed-by: Jan Höppner +Signed-off-by: Jan Höppner +(cherry picked from commit 998b61e5f3c9285cc84759a4347102d2ee6a0ff6) +--- + dasdfmt/dasdfmt.8 | 18 +++++++++--------- + dasdfmt/dasdfmt.c | 25 ++++++------------------- + 2 files changed, 15 insertions(+), 28 deletions(-) + +diff --git a/dasdfmt/dasdfmt.8 b/dasdfmt/dasdfmt.8 +index bef5c09..b531e15 100644 +--- a/dasdfmt/dasdfmt.8 ++++ b/dasdfmt/dasdfmt.8 +@@ -118,16 +118,16 @@ Specify the \fImode\fR to be used to format the device. Valid modes are: + .IP full + Format the entire disk with the specified blocksize. (default) + .IP quick +-Format the first two tracks and write label and partition information. Use this +-option only if you are sure that the target DASD already contains a regular +-format with the specified blocksize. A blocksize can optionally be specified +-using \fB-b\fR (\fB--blocksize\fR). ++Format the first two tracks and write label and partition information. ++.br ++Use this option for DASD ESE volumes to take the benefits of thin provisioning. ++In this case, a full space release precedes the formatting step. If this space ++release fails, then the formatting also fails. Specify the \fB--no-discard\fR ++option to omit the space release. + .br +-For thin-provisioned DASD ESE volumes, quick is the default mode. A full space +-release then precedes the formatting step. If this space release fails, dasdfmt +-falls back to a full-format mode. Formatting stops if the space release fails +-and quick mode was specified explicitly using \fB-M\fR. Specify the +-\fB--no-discard\fR option to omit the space release. ++For non-ESE volumes use this option only if you are sure that the target DASD ++already contains a regular format with the specified blocksize. A blocksize can ++optionally be specified using \fB-b\fR (\fB--blocksize\fR). + + .IP expand + Format all unformatted tracks at the end of the target DASD. This mode assumes +diff --git a/dasdfmt/dasdfmt.c b/dasdfmt/dasdfmt.c +index 2065e12..a49e41c 100644 +--- a/dasdfmt/dasdfmt.c ++++ b/dasdfmt/dasdfmt.c +@@ -1230,7 +1230,7 @@ static void dasdfmt_find_start(unsigned int cylinders, unsigned int heads, + format_params->start_unit = first; + } + +-static int dasdfmt_release_space(void) ++static void dasdfmt_release_space(void) + { + format_data_t r = { + .start_unit = 0, +@@ -1240,21 +1240,12 @@ static int dasdfmt_release_space(void) + int err = 0; + + if (!g.ese || g.no_discard) +- return 0; ++ return; + + printf("Releasing space for the entire device...\n"); + err = dasd_release_space(g.dev_node, &r); +- /* +- * Warn or Error on failing RAS depending on QUICK mode set explicitly or automatically +- */ +- if (err && !g.mode_specified) { +- warnx("Could not release space. Falling back to full format."); +- return 1; +- } else if (err && g.mode_specified) { ++ if (err) + error("Could not release space: %s", strerror(err)); +- } +- +- return 0; + } + + static void dasdfmt_prepare_and_format(unsigned int cylinders, unsigned int heads, +@@ -1454,12 +1445,8 @@ static void do_format_dasd(volume_label_t *vlabel, format_data_t *p, + dasdfmt_prepare_and_format(cylinders, heads, p); + break; + case QUICK: +- if (dasdfmt_release_space()) { +- p->stop_unit = (cylinders * heads) - 1; +- dasdfmt_prepare_and_format(cylinders, heads, p); +- } else { +- dasdfmt_quick_format(cylinders, heads, p); +- } ++ dasdfmt_release_space(); ++ dasdfmt_quick_format(cylinders, heads, p); + break; + case EXPAND: + dasdfmt_expand_format(cylinders, heads, p); +@@ -1491,7 +1478,7 @@ static void eval_format_mode(void) + } + + if (!g.mode_specified) +- mode = g.ese ? QUICK : FULL; ++ mode = FULL; + } + + /* +-- +2.51.1 diff --git a/s390utils.spec b/s390utils.spec index 85d2ca5..481f348 100644 --- a/s390utils.spec +++ b/s390utils.spec @@ -18,7 +18,7 @@ Name: s390utils Summary: Utilities and daemons for IBM z Systems Version: 2.29.0 -Release: 3%{?dist}.3 +Release: 3%{?dist}.4 Epoch: 2 License: MIT #URL: http://www.ibm.com/developerworks/linux/linux390/s390-tools.html @@ -1174,6 +1174,10 @@ User-space development files for the s390/s390x architecture. %changelog +* Mon Nov 03 2025 Dan Horák - 2:2.29.0-3.4 +- dasdfmt: Change mode default (RHEL-121638) +- Resolves: RHEL-121638 + * Mon Sep 15 2025 Dan Horák - 2:2.29.0-3.3 - libekmfweb: Fix generation of certificate or CSR with RSA-PSS instead of RSA (RHEL-114130) - Resolves: RHEL-114130