Hello community, here is the log from the commit of package s390-tools for openSUSE:Factory checked in at 2020-12-10 15:56:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/s390-tools (Old) and /work/SRC/openSUSE:Factory/.s390-tools.new.2328 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "s390-tools" Thu Dec 10 15:56:57 2020 rev:34 rq:854129 version:2.15.1 Changes: -------- --- /work/SRC/openSUSE:Factory/s390-tools/s390-tools.changes 2020-09-18 14:33:36.199584818 +0200 +++ /work/SRC/openSUSE:Factory/.s390-tools.new.2328/s390-tools.changes 2020-12-10 15:56:59.802790071 +0100 @@ -1,0 +2,185 @@ +Mon Dec 7 17:53:46 UTC 2020 - Mark Post <[email protected]> + +- Upgraded to version 2.15.1. (bsc#1178250, jsc#SLE-13663) +- Added s390-tools-sles15sp3-dasdfmt-Fix-segfault-when-an-incorrect-option-is-spe.patch + (bsc#1178313). When specifying an incorrect program option, dasdfmt segfaults + as the format string for the corresponding error message has no parameter. +- Added s390-tools-sles15sp3-libutil-Compare-proc-entries-to-vfstype.patch + (bsc#1178315). The fdasd command was failing if sysfs was mounted this way: + mount -t sysfs none /sys + To make sure that the mount point of the sysfs is still found when mounted + with a device keyword specified other than 'sysfs', check for the filesystem + type instead, which is more specific. +- Added the following patches for bsc#1178427, and jsc#SLE-13768, + Log DASD info for endpoint security + * s390-tools-sles15sp3-01-zdev-Add-FC-Endpoint-Security-information-for-DASD-d.patch + * s390-tools-sles15sp3-02-lsdasd-Add-FC-Endpoint-Security-information.patch +- Added the following patch for bsc#1178628 and jsc#SLE-13765, Converged + HiperSockets/Ethernet Interface + * s390-tools-sles15sp3-hsci-Add-new-tool-to-control-HiperSockets-Converged-.patch +- Added the following patches for bsc#1178992 and jsc#SLE-13772, Add host-key + document verification support to genprotimg. + * s390-tools-sles15sp3-01-genprotimg-abort-if-one-of-the-recursive-targets-is-.patch + * s390-tools-sles15sp3-02-genprotimg-fix-two-memory-leaks.patch + * s390-tools-sles15sp3-03-genprotimg-require-argument-for-ramdisk-and-parmfile.patch + * s390-tools-sles15sp3-04-genprotimg-add-host-key-document-verification-suppor.patch +- Added the following patch for bsc#1178734. Running zcryptstats when many domains + are available per cryto card does not produce any output, and is hanging in a loop. + * s390-tools-sles15sp3-zcryptstats-Fix-handling-of-partial-results-with-man.patch +- Reworked and renamed the following patches to accommodate changes made by IBM + to the structure of the dasdfmt command. + * s390-tools-sles15-Allow-multiple-device-arguments.patch renamed to + s390-tools-sles15sp3-Allow-multiple-device-arguments.patch. + * s390-tools-sles15-Format-devices-in-parallel.patch renamed to + s390-tools-sles15sp3-Format-devices-in-parallel.patch + * dasdfmt-retry-BIODASDINFO-if-device-is-busy.patch renamed to + s390-tools-sles15sp3-dasdfmt-retry-BIODASDINFO-if-device-is-busy.patch + * s390-tools-sles15-Implement-f-for-backwards-compability.patch renamed to + s390-tools-sles15sp3-Implement-f-for-backwards-compability.patch renamed to + * s390-tools-sles15-Implement-Y-yast_mode.patch + s390-tools-sles15sp3-Implement-Y-yast_mode.patch + +------------------------------------------------------------------- +Tue Oct 27 23:06:45 UTC 2020 - Mark Post <[email protected]> + +- Upgraded to version 2.15.0 (jsc#SLE-13662, jsc#SLE-13663, + jsc#SLE-13667, jsc#SLE-13724, jsc#SLE-13728, jsc#SLE-13730, + jsc#SLE-13739, jsc#SLE-13744, jsc#SLE-13751, jsc#SLE-13755, + jsc#SLE-13765, jsc#SLE-13768, jsc#SLE-13777, jsc#SLE-13814, + jsc#SLE-13819, jsc#SLE-13820) +- Reworked s390-tools-sles12-sysconfig-compatible-dumpconf.patch to fit the + current version and renamed it to s390-tools-sles15-sysconfig-compatible-dumpconf.patch +- Removed the following obsolete patches: + * s390-tools-sles15sp2-01-zkey-Separate-and-rework-CCA-host-library-loading.patch + * s390-tools-sles15sp2-02-zkey-Move-utility-functions-into-separate-source-fil.patch + * s390-tools-sles15sp2-03-zkey-Add-utility-function-to-get-the-serial-number-o.patch + * s390-tools-sles15sp2-04-zkey-Add-utility-function-to-get-the-mkvp-of-a-crypt.patch + * s390-tools-sles15sp2-05-zkey-add-function-to-iterate-over-all-available-CCA-.patch + * s390-tools-sles15sp2-06-zkey-Add-function-to-print-the-MKVPs-of-APQNs.patch + * s390-tools-sles15sp2-07-zkey-Add-function-to-cross-check-APQNs-for-valid-mas.patch + * s390-tools-sles15sp2-08-zkey-Add-function-to-obtain-the-mkvp-of-a-secure-key.patch + * s390-tools-sles15sp2-09-zkey-Display-MKVP-when-validating-a-secure-key.patch + * s390-tools-sles15sp2-10-zkey-Cross-check-APQNs-when-generating-secure-keys.patch + * s390-tools-sles15sp2-11-zkey-Cross-check-APQNs-when-validating-secure-keys.patch + * s390-tools-sles15sp2-12-zkey-Cross-check-APQNs-when-importing-secure-keys.patch + * s390-tools-sles15sp2-13-zkey-Cross-check-APQNs-when-changing-APQN-associatio.patch + * s390-tools-sles15sp2-14-zkey-Add-function-to-select-a-specific-CCA-adapter.patch + * s390-tools-sles15sp2-15-zkey-Add-function-to-select-a-CCA-adapter-by-mkvp.patch + * s390-tools-sles15sp2-16-zkey-Select-CCA-adapter-when-re-enciphering.patch + * s390-tools-sles15sp2-17-zkey-cryptsetup-Add-to-new-and-from-old-options.patch + * s390-tools-sles15sp2-18-zkey-Display-key-type-with-list-and-validate-command.patch + * s390-tools-sles15sp2-19-zkey-Allow-to-filter-list-output-by-key-type.patch + * s390-tools-sles15sp2-20-zkey-Allow-to-specify-the-key-type-with-the-generate.patch + * s390-tools-sles15sp2-21-zkey-Preparations-for-introducing-a-new-key-type.patch + * s390-tools-sles15sp2-22-zkey-Introduce-the-CCA-AESCIPHER-key-type.patch + * s390-tools-sles15sp2-23-zkey-Add-wrappers-for-the-new-IOCTLs-with-fallback-t.patch + * s390-tools-sles15sp2-24-zkey-Add-helper-functions-to-build-lists-of-APQNs.patch + * s390-tools-sles15sp2-25-zkey-Add-support-for-generating-AES-CIPHER-keys.patch + * s390-tools-sles15sp2-26-zkey-Add-support-for-validating-AES-CIPHER-keys.patch + * s390-tools-sles15sp2-27-zkey-Add-support-for-re-enciphering-AES-CIPHER-keys.patch + * s390-tools-sles15sp2-28-zkey-Check-crypto-card-level-during-APQN-cross-check.patch + * s390-tools-sles15sp2-29-zkey-Add-helper-function-to-query-the-CCA-firmware-v.patch + * s390-tools-sles15sp2-30-zkey-Add-helper-function-to-convert-secure-keys-betw.patch + * s390-tools-sles15sp2-31-zkey-Add-helper-function-to-restrict-export-of-secur.patch + * s390-tools-sles15sp2-32-zkey-Add-helper-function-to-check-an-AES-CIPHER-key.patch + * s390-tools-sles15sp2-33-zkey-Add-key-checks-when-importing-a-CCA-AESCIPHER-k.patch + * s390-tools-sles15sp2-34-zkey-Add-convert-command-to-convert-keys-from-one-ty.patch + * s390-tools-sles15sp2-35-zkey-Allow-zkey-cryptsetup-setkey-to-set-different-k.patch + * s390-tools-sles15sp2-zcrypt-CEX7S-exploitation-support.patch + * s390-tools-sles15sp2-zcryptstats-Add-support-for-CEX7.patch + * s390-tools-sles15sp2-zkey-Fix-listing-of-keys-on-file-systems-reporting-D.patch + * s390-tools-sles15sp2-zkey-Fix-display-of-clear-key-size-for-XTS-keys.patch + * s390-tools-sles15sp2-zkey-Fix-display-of-XTS-attribute-for-validate-comma.patch + * s390-tools-sles15sp2-zkey-Fix-display-of-clear-key-size-for-CCA-AESCIPHER.patch + * s390-tools-sles15sp2-01-zipl-libc-Introduce-vsnprintf.patch + * s390-tools-sles15sp2-02-zipl-libc-Fix-potential-buffer-overflow-in-printf.patch + * s390-tools-sles15sp2-03-zipl-libc-Replace-sprintf-with-snprintf.patch + * s390-tools-sles15sp2-04-zipl-libc-Indicate-truncated-lines-in-printf-with.patch + * s390-tools-sles15sp2-01-zpcictl-Initiate-recover-after-reset.patch + * s390-tools-sles15sp2-02-zpcictl-Rename-misleading-sysfs_write_data.patch + * s390-tools-sles15sp2-03-zpcitctl-Exit-on-error-in-sysfs_report_error.patch + * s390-tools-sles15sp2-01-zipl-fix-Wdiscarded-qualifiers.patch + * s390-tools-sles15sp2-02-zipl-fix-Waddress-of-packed-member.patch + * s390-tools-sles15sp2-03-zipl-remove-some-useless-__packed___-attributes.patch + * s390-tools-sles15sp2-04-zipl-Fix-entry-point-for-stand-alone-kdump.patch + * s390-tools-sles15sp2-05-zipl-Fix-dependency-generation-in-zipl-boot.patch + * s390-tools-sles15sp2-06-zipl-Make-use-of-__packed-macro.patch + * s390-tools-sles15sp2-07-zipl-define-__section-macro-and-make-use-of-it.patch + * s390-tools-sles15sp2-08-zipl-Make-use-of-__noreturn-macro.patch + * s390-tools-sles15sp2-09-zipl-Define-__noinline-macro-and-make-use-of-it.patch + * s390-tools-sles15sp2-10-zipl-stage3-Mark-start_kernel-__noreturn.patch + * s390-tools-sles15sp2-11-zipl-sclp-Remove-duplicate-macros.patch + * s390-tools-sles15sp2-12-zipl-Make-address-size-mask-macros-UL.patch + * s390-tools-sles15sp2-13-zipl-libc-Use-stdint.h-instead-of-self-defined-macro.patch + * s390-tools-sles15sp2-14-zipl-Consolidate-IMAGE-macros.patch + * s390-tools-sles15sp2-15-zipl-Consolidate-STAGE-2-3-macros.patch + * s390-tools-sles15sp2-16-zipl-stfle-use-uint64_t-instead-of-u64.patch + * s390-tools-sles15sp2-17-zipl-boot-fix-comment-in-stage3.lds.patch + * s390-tools-sles15sp2-18-lib-zt_common-add-STATIC_ASSERT-macro.patch + * s390-tools-sles15sp2-19-zipl-use-STATIC_ASSERT-macro-for-no-padding-verifica.patch + * s390-tools-sles15sp2-20-Support-lib-zt_common.h-to-be-used-in-assembler-and-.patch + * s390-tools-sles15sp2-21-zipl-move-IPL-related-definitions-into-separate-head.patch + * s390-tools-sles15sp2-22-zipl-move-SIGP-related-functions-and-definitions-int.patch + * s390-tools-sles15sp2-23-zipl-add-SIGP_SET_ARCHITECTURE-to-sigp.h-and-use-it.patch + * s390-tools-sles15sp2-24-zipl-stage3-make-IPL_DEVICE-definition-consistent-wi.patch + * s390-tools-sles15sp2-25-zipl-move-Linux-layout-definitions-into-separate-hea.patch + * s390-tools-sles15sp2-26-zipl-tape0-use-constants-defined-in-linux_layout.h.patch + * s390-tools-sles15sp2-27-zipl-use-STAGE3_ENTRY-for-STAGE3_LOAD_ADDRESS.patch + * s390-tools-sles15sp2-28-zipl-move-loaders-layout-definitions-into-separate-h.patch + * s390-tools-sles15sp2-29-zipl-s390.h-rename-inline-macro-into-__always_inline.patch + * s390-tools-sles15sp2-30-zipl-move-__always_inline-barrier-__pa32-pa-to-zt_co.patch + * s390-tools-sles15sp2-31-zipl-make-BLK_PWRT-unsigned-int.patch + * s390-tools-sles15sp2-32-Consolidate-MIN-and-MAX-macros.patch + * s390-tools-sles15sp2-33-zipl-remove-libc.h-include-in-s390.h.patch + * s390-tools-sles15sp2-34-zipl-move-s390.h-to-include-boot-s390.h.patch + * s390-tools-sles15sp2-35-zipl-libc-include-s390.h.patch + * s390-tools-sles15sp2-36-include-boot-s390.h-move-panic-and-panic_notify-to-l.patch + * s390-tools-sles15sp2-37-include-boot-s390.h-fixes-for-Werror-sign-conversion.patch + * s390-tools-sles15sp2-38-zipl-refactor-all-EBCDIC-code-into-separate-files.patch + * s390-tools-sles15sp2-39-zipl-sclp-add-macros-for-the-control-program-masks.patch + * s390-tools-sles15sp2-40-zipl-sclp-add-sclp_print_ascii.patch + * s390-tools-sles15sp2-41-zipl-libc-printf-print-on-linemode-and-ASCII-console.patch + * s390-tools-sles15sp2-42-Consolidate-ALIGN-__ALIGN_MASK-ARRAY_SIZE-macros.patch + * s390-tools-sles15sp2-43-genprotimg-boot-initial-bootloader-support.patch + * s390-tools-sles15sp2-44-genprotimg-boot-use-C-pre-processor-for-linker-scrip.patch + * s390-tools-sles15sp2-45-genprotimg-add-relocator-for-stage3b.patch + * s390-tools-sles15sp2-46-README.md-remove-useless-empty-line.patch + * s390-tools-sles15sp2-47-include-boot-s390.h-add-guard-for-struct-__vector128.patch + * s390-tools-sles15sp2-48-genprotimg-introduce-new-tool-for-the-creation-of-PV.patch + * s390-tools-sles15sp2-01-zipl-Add-missing-options-to-help-output.patch + * s390-tools-sles15sp2-02-zipl-allow-stand-alone-secure-option-on-command-l.patch + * s390-tools-sles15sp2-03-zipl-correct-secure-boot-config-handling.patch + * s390-tools-sles15sp2-04-zipl-fix-zipl.conf-man-page-example-for-secure-boot.patch + * s390-tools-sles15sp2-01-cpumf-add-new-deflate-counters-for-z15.patch + * s390-tools-sles15sp2-vmcp-exit-code.patch + * s390-tools-sles15sp2-zipl-prevent-endless-loop-during-IPL.patch + * s390-tools-sles15sp2-zipl-check-for-valid-ipl-parmblock-lowcore-pointer.patch + * s390-tools-sles15sp2-01-zipl-libc-libc_stop-move-noreturn-to-declaration.patch + * s390-tools-sles15sp2-02-zipl-stage3-correctly-handle-diag308-response-code.patch + * s390-tools-sles15sp2-lsluns-try-harder-to-find-udevadm.patch + * s390-tools-sles15sp2-znetconf-introduce-better-ways-to-locate-udevadm.patch + * s390-tools-sles15sp2-mon_tools-update-udevadm-location.patch + * s390-tools-sles15sp2-lscpumf-change-dflt-ccerror-counter-name.patch + * s390-tools-sles15sp2-01-zdev-Introduce-read-only-attributes.patch + * s390-tools-sles15sp2-02-zdev-Handle-special-case-in-if-case.patch + * s390-tools-sles15sp2-03-zdev-Report-FC-Endpoint-Security-of-zfcp-devices.patch + * s390-tools-sles15sp2-04-zfcpdbf-print-HBA-FC-Endpoint-Security-trace-records.patch + * s390-tools-sles15sp1-zdev-Also-include-the-ctc-driver-in-the-initrd.patch not in spec file + * s390-tools-sles15sp2-Close-file-descriptor-when-checking-for-read-only.patch not in spec file + +------------------------------------------------------------------- +Thu Sep 17 20:16:08 UTC 2020 - Mark Post <[email protected]> + +- Added s390-tools-sles15sp2-lscpumf-change-dflt-ccerror-counter-name.patch + (bsc#1176508) + lscpumf displays counter number 265 as DFLT_CCERROR. This is wrong + and differs from the counter name as defined in the Linux kernel + version 5.8 and later. +- Added the following patches to implement the post-GA feature jsc#ECO-2636 + Log FCP link info for endpoint security (bsc#1175477) + * s390-tools-sles15sp2-01-zdev-Introduce-read-only-attributes.patch + * s390-tools-sles15sp2-02-zdev-Handle-special-case-in-if-case.patch + * s390-tools-sles15sp2-03-zdev-Report-FC-Endpoint-Security-of-zfcp-devices.patch + * s390-tools-sles15sp2-04-zfcpdbf-print-HBA-FC-Endpoint-Security-trace-records.patch + +------------------------------------------------------------------- @@ -17,12 +201,0 @@ - -------------------------------------------------------------------- -Thu Jul 23 19:28:25 UTC 2020 - Mark Post <[email protected]> - -- Added s390-tools-sles15sp2-zipl-prevent-endless-loop-during-IPL.patch - (bsc#1174309) zipl: prevent endless loop during secure IPL -- Added s390-tools-sles15sp2-zipl-check-for-valid-ipl-parmblock-lowcore-pointer.patch - (bsc#1174310) zipl: check for valid ipl parmblock lowcore pointer -- Added s390-tools-sles15sp2-01-zipl-libc-libc_stop-move-noreturn-to-declaration.patch - s390-tools-sles15sp2-02-zipl-stage3-correctly-handle-diag308-response-code.patch - (bsc1174311) zipl: Fix KVM IPL without bootindex ++++ 1 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/s390-tools/s390-tools.changes ++++ and /work/SRC/openSUSE:Factory/.s390-tools.new.2328/s390-tools.changes Old: ---- dasdfmt-retry-BIODASDINFO-if-device-is-busy.patch s390-tools-2.11.0.tar.gz s390-tools-sles12-sysconfig-compatible-dumpconf.patch s390-tools-sles15-Allow-multiple-device-arguments.patch s390-tools-sles15-Format-devices-in-parallel.patch s390-tools-sles15-Implement-Y-yast_mode.patch s390-tools-sles15-Implement-f-for-backwards-compability.patch s390-tools-sles15sp1-zdev-Also-include-the-ctc-driver-in-the-initrd.patch s390-tools-sles15sp2-01-cpumf-add-new-deflate-counters-for-z15.patch s390-tools-sles15sp2-01-zipl-Add-missing-options-to-help-output.patch s390-tools-sles15sp2-01-zipl-fix-Wdiscarded-qualifiers.patch s390-tools-sles15sp2-01-zipl-libc-Introduce-vsnprintf.patch s390-tools-sles15sp2-01-zipl-libc-libc_stop-move-noreturn-to-declaration.patch s390-tools-sles15sp2-01-zkey-Separate-and-rework-CCA-host-library-loading.patch s390-tools-sles15sp2-01-zpcictl-Initiate-recover-after-reset.patch s390-tools-sles15sp2-02-zipl-allow-stand-alone-secure-option-on-command-l.patch s390-tools-sles15sp2-02-zipl-fix-Waddress-of-packed-member.patch s390-tools-sles15sp2-02-zipl-libc-Fix-potential-buffer-overflow-in-printf.patch s390-tools-sles15sp2-02-zipl-stage3-correctly-handle-diag308-response-code.patch s390-tools-sles15sp2-02-zkey-Move-utility-functions-into-separate-source-fil.patch s390-tools-sles15sp2-02-zpcictl-Rename-misleading-sysfs_write_data.patch s390-tools-sles15sp2-03-zipl-correct-secure-boot-config-handling.patch s390-tools-sles15sp2-03-zipl-libc-Replace-sprintf-with-snprintf.patch s390-tools-sles15sp2-03-zipl-remove-some-useless-__packed___-attributes.patch s390-tools-sles15sp2-03-zkey-Add-utility-function-to-get-the-serial-number-o.patch s390-tools-sles15sp2-03-zpcitctl-Exit-on-error-in-sysfs_report_error.patch s390-tools-sles15sp2-04-zipl-Fix-entry-point-for-stand-alone-kdump.patch s390-tools-sles15sp2-04-zipl-fix-zipl.conf-man-page-example-for-secure-boot.patch s390-tools-sles15sp2-04-zipl-libc-Indicate-truncated-lines-in-printf-with.patch s390-tools-sles15sp2-04-zkey-Add-utility-function-to-get-the-mkvp-of-a-crypt.patch s390-tools-sles15sp2-05-zipl-Fix-dependency-generation-in-zipl-boot.patch s390-tools-sles15sp2-05-zkey-add-function-to-iterate-over-all-available-CCA-.patch s390-tools-sles15sp2-06-zipl-Make-use-of-__packed-macro.patch s390-tools-sles15sp2-06-zkey-Add-function-to-print-the-MKVPs-of-APQNs.patch s390-tools-sles15sp2-07-zipl-define-__section-macro-and-make-use-of-it.patch s390-tools-sles15sp2-07-zkey-Add-function-to-cross-check-APQNs-for-valid-mas.patch s390-tools-sles15sp2-08-zipl-Make-use-of-__noreturn-macro.patch s390-tools-sles15sp2-08-zkey-Add-function-to-obtain-the-mkvp-of-a-secure-key.patch s390-tools-sles15sp2-09-zipl-Define-__noinline-macro-and-make-use-of-it.patch s390-tools-sles15sp2-09-zkey-Display-MKVP-when-validating-a-secure-key.patch s390-tools-sles15sp2-10-zipl-stage3-Mark-start_kernel-__noreturn.patch s390-tools-sles15sp2-10-zkey-Cross-check-APQNs-when-generating-secure-keys.patch s390-tools-sles15sp2-11-zipl-sclp-Remove-duplicate-macros.patch s390-tools-sles15sp2-11-zkey-Cross-check-APQNs-when-validating-secure-keys.patch s390-tools-sles15sp2-12-zipl-Make-address-size-mask-macros-UL.patch s390-tools-sles15sp2-12-zkey-Cross-check-APQNs-when-importing-secure-keys.patch s390-tools-sles15sp2-13-zipl-libc-Use-stdint.h-instead-of-self-defined-macro.patch s390-tools-sles15sp2-13-zkey-Cross-check-APQNs-when-changing-APQN-associatio.patch s390-tools-sles15sp2-14-zipl-Consolidate-IMAGE-macros.patch s390-tools-sles15sp2-14-zkey-Add-function-to-select-a-specific-CCA-adapter.patch s390-tools-sles15sp2-15-zipl-Consolidate-STAGE-2-3-macros.patch s390-tools-sles15sp2-15-zkey-Add-function-to-select-a-CCA-adapter-by-mkvp.patch s390-tools-sles15sp2-16-zipl-stfle-use-uint64_t-instead-of-u64.patch s390-tools-sles15sp2-16-zkey-Select-CCA-adapter-when-re-enciphering.patch s390-tools-sles15sp2-17-zipl-boot-fix-comment-in-stage3.lds.patch s390-tools-sles15sp2-17-zkey-cryptsetup-Add-to-new-and-from-old-options.patch s390-tools-sles15sp2-18-lib-zt_common-add-STATIC_ASSERT-macro.patch s390-tools-sles15sp2-18-zkey-Display-key-type-with-list-and-validate-command.patch s390-tools-sles15sp2-19-zipl-use-STATIC_ASSERT-macro-for-no-padding-verifica.patch s390-tools-sles15sp2-19-zkey-Allow-to-filter-list-output-by-key-type.patch s390-tools-sles15sp2-20-Support-lib-zt_common.h-to-be-used-in-assembler-and-.patch s390-tools-sles15sp2-20-zkey-Allow-to-specify-the-key-type-with-the-generate.patch s390-tools-sles15sp2-21-zipl-move-IPL-related-definitions-into-separate-head.patch s390-tools-sles15sp2-21-zkey-Preparations-for-introducing-a-new-key-type.patch s390-tools-sles15sp2-22-zipl-move-SIGP-related-functions-and-definitions-int.patch s390-tools-sles15sp2-22-zkey-Introduce-the-CCA-AESCIPHER-key-type.patch s390-tools-sles15sp2-23-zipl-add-SIGP_SET_ARCHITECTURE-to-sigp.h-and-use-it.patch s390-tools-sles15sp2-23-zkey-Add-wrappers-for-the-new-IOCTLs-with-fallback-t.patch s390-tools-sles15sp2-24-zipl-stage3-make-IPL_DEVICE-definition-consistent-wi.patch s390-tools-sles15sp2-24-zkey-Add-helper-functions-to-build-lists-of-APQNs.patch s390-tools-sles15sp2-25-zipl-move-Linux-layout-definitions-into-separate-hea.patch s390-tools-sles15sp2-25-zkey-Add-support-for-generating-AES-CIPHER-keys.patch s390-tools-sles15sp2-26-zipl-tape0-use-constants-defined-in-linux_layout.h.patch s390-tools-sles15sp2-26-zkey-Add-support-for-validating-AES-CIPHER-keys.patch s390-tools-sles15sp2-27-zipl-use-STAGE3_ENTRY-for-STAGE3_LOAD_ADDRESS.patch s390-tools-sles15sp2-27-zkey-Add-support-for-re-enciphering-AES-CIPHER-keys.patch s390-tools-sles15sp2-28-zipl-move-loaders-layout-definitions-into-separate-h.patch s390-tools-sles15sp2-28-zkey-Check-crypto-card-level-during-APQN-cross-check.patch s390-tools-sles15sp2-29-zipl-s390.h-rename-inline-macro-into-__always_inline.patch s390-tools-sles15sp2-29-zkey-Add-helper-function-to-query-the-CCA-firmware-v.patch s390-tools-sles15sp2-30-zipl-move-__always_inline-barrier-__pa32-pa-to-zt_co.patch s390-tools-sles15sp2-30-zkey-Add-helper-function-to-convert-secure-keys-betw.patch s390-tools-sles15sp2-31-zipl-make-BLK_PWRT-unsigned-int.patch s390-tools-sles15sp2-31-zkey-Add-helper-function-to-restrict-export-of-secur.patch s390-tools-sles15sp2-32-Consolidate-MIN-and-MAX-macros.patch s390-tools-sles15sp2-32-zkey-Add-helper-function-to-check-an-AES-CIPHER-key.patch s390-tools-sles15sp2-33-zipl-remove-libc.h-include-in-s390.h.patch s390-tools-sles15sp2-33-zkey-Add-key-checks-when-importing-a-CCA-AESCIPHER-k.patch s390-tools-sles15sp2-34-zipl-move-s390.h-to-include-boot-s390.h.patch s390-tools-sles15sp2-34-zkey-Add-convert-command-to-convert-keys-from-one-ty.patch s390-tools-sles15sp2-35-zipl-libc-include-s390.h.patch s390-tools-sles15sp2-35-zkey-Allow-zkey-cryptsetup-setkey-to-set-different-k.patch s390-tools-sles15sp2-36-include-boot-s390.h-move-panic-and-panic_notify-to-l.patch s390-tools-sles15sp2-37-include-boot-s390.h-fixes-for-Werror-sign-conversion.patch s390-tools-sles15sp2-38-zipl-refactor-all-EBCDIC-code-into-separate-files.patch s390-tools-sles15sp2-39-zipl-sclp-add-macros-for-the-control-program-masks.patch s390-tools-sles15sp2-40-zipl-sclp-add-sclp_print_ascii.patch s390-tools-sles15sp2-41-zipl-libc-printf-print-on-linemode-and-ASCII-console.patch s390-tools-sles15sp2-42-Consolidate-ALIGN-__ALIGN_MASK-ARRAY_SIZE-macros.patch s390-tools-sles15sp2-43-genprotimg-boot-initial-bootloader-support.patch s390-tools-sles15sp2-44-genprotimg-boot-use-C-pre-processor-for-linker-scrip.patch s390-tools-sles15sp2-45-genprotimg-add-relocator-for-stage3b.patch s390-tools-sles15sp2-46-README.md-remove-useless-empty-line.patch s390-tools-sles15sp2-47-include-boot-s390.h-add-guard-for-struct-__vector128.patch s390-tools-sles15sp2-48-genprotimg-introduce-new-tool-for-the-creation-of-PV.patch s390-tools-sles15sp2-Close-file-descriptor-when-checking-for-read-only.patch s390-tools-sles15sp2-lsluns-try-harder-to-find-udevadm.patch s390-tools-sles15sp2-mon_tools-update-udevadm-location.patch s390-tools-sles15sp2-vmcp-exit-code.patch s390-tools-sles15sp2-zcrypt-CEX7S-exploitation-support.patch s390-tools-sles15sp2-zcryptstats-Add-support-for-CEX7.patch s390-tools-sles15sp2-zipl-check-for-valid-ipl-parmblock-lowcore-pointer.patch s390-tools-sles15sp2-zipl-prevent-endless-loop-during-IPL.patch s390-tools-sles15sp2-zkey-Fix-display-of-XTS-attribute-for-validate-comma.patch s390-tools-sles15sp2-zkey-Fix-display-of-clear-key-size-for-CCA-AESCIPHER.patch s390-tools-sles15sp2-zkey-Fix-display-of-clear-key-size-for-XTS-keys.patch s390-tools-sles15sp2-zkey-Fix-listing-of-keys-on-file-systems-reporting-D.patch s390-tools-sles15sp2-znetconf-introduce-better-ways-to-locate-udevadm.patch New: ---- s390-tools-2.15.1.tar.gz s390-tools-sles15-sysconfig-compatible-dumpconf.patch s390-tools-sles15sp3-01-genprotimg-abort-if-one-of-the-recursive-targets-is-.patch s390-tools-sles15sp3-01-zdev-Add-FC-Endpoint-Security-information-for-DASD-d.patch s390-tools-sles15sp3-02-genprotimg-fix-two-memory-leaks.patch s390-tools-sles15sp3-02-lsdasd-Add-FC-Endpoint-Security-information.patch s390-tools-sles15sp3-03-genprotimg-require-argument-for-ramdisk-and-parmfile.patch s390-tools-sles15sp3-04-genprotimg-add-host-key-document-verification-suppor.patch s390-tools-sles15sp3-Allow-multiple-device-arguments.patch s390-tools-sles15sp3-Format-devices-in-parallel.patch s390-tools-sles15sp3-Implement-Y-yast_mode.patch s390-tools-sles15sp3-Implement-f-for-backwards-compability.patch s390-tools-sles15sp3-dasdfmt-Fix-segfault-when-an-incorrect-option-is-spe.patch s390-tools-sles15sp3-dasdfmt-retry-BIODASDINFO-if-device-is-busy.patch s390-tools-sles15sp3-hsci-Add-new-tool-to-control-HiperSockets-Converged-.patch s390-tools-sles15sp3-libutil-Compare-proc-entries-to-vfstype.patch s390-tools-sles15sp3-zcryptstats-Fix-handling-of-partial-results-with-man.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ s390-tools.spec ++++++ --- /var/tmp/diff_new_pack.yQN9By/_old 2020-12-10 15:57:01.554791718 +0100 +++ /var/tmp/diff_new_pack.yQN9By/_new 2020-12-10 15:57:01.558791722 +0100 @@ -1,7 +1,7 @@ # # spec file for package s390-tools # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2001-2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -23,7 +23,7 @@ %endif Name: s390-tools -Version: 2.11.0 +Version: 2.15.1 Release: 0 Summary: S/390 tools like zipl and dasdfmt License: MIT @@ -87,132 +87,32 @@ Source99: zfcp_host_configure.8 ### -Patch1: s390-tools-sles15sp2-01-zkey-Separate-and-rework-CCA-host-library-loading.patch -Patch2: s390-tools-sles15sp2-02-zkey-Move-utility-functions-into-separate-source-fil.patch -Patch3: s390-tools-sles15sp2-03-zkey-Add-utility-function-to-get-the-serial-number-o.patch -Patch4: s390-tools-sles15sp2-04-zkey-Add-utility-function-to-get-the-mkvp-of-a-crypt.patch -Patch5: s390-tools-sles15sp2-05-zkey-add-function-to-iterate-over-all-available-CCA-.patch -Patch6: s390-tools-sles15sp2-06-zkey-Add-function-to-print-the-MKVPs-of-APQNs.patch -Patch7: s390-tools-sles15sp2-07-zkey-Add-function-to-cross-check-APQNs-for-valid-mas.patch -Patch8: s390-tools-sles15sp2-08-zkey-Add-function-to-obtain-the-mkvp-of-a-secure-key.patch -Patch9: s390-tools-sles15sp2-09-zkey-Display-MKVP-when-validating-a-secure-key.patch -Patch10: s390-tools-sles15sp2-10-zkey-Cross-check-APQNs-when-generating-secure-keys.patch -Patch11: s390-tools-sles15sp2-11-zkey-Cross-check-APQNs-when-validating-secure-keys.patch -Patch12: s390-tools-sles15sp2-12-zkey-Cross-check-APQNs-when-importing-secure-keys.patch -Patch13: s390-tools-sles15sp2-13-zkey-Cross-check-APQNs-when-changing-APQN-associatio.patch -Patch14: s390-tools-sles15sp2-14-zkey-Add-function-to-select-a-specific-CCA-adapter.patch -Patch15: s390-tools-sles15sp2-15-zkey-Add-function-to-select-a-CCA-adapter-by-mkvp.patch -Patch16: s390-tools-sles15sp2-16-zkey-Select-CCA-adapter-when-re-enciphering.patch -Patch17: s390-tools-sles15sp2-17-zkey-cryptsetup-Add-to-new-and-from-old-options.patch -Patch18: s390-tools-sles15sp2-18-zkey-Display-key-type-with-list-and-validate-command.patch -Patch19: s390-tools-sles15sp2-19-zkey-Allow-to-filter-list-output-by-key-type.patch -Patch20: s390-tools-sles15sp2-20-zkey-Allow-to-specify-the-key-type-with-the-generate.patch -Patch21: s390-tools-sles15sp2-21-zkey-Preparations-for-introducing-a-new-key-type.patch -Patch22: s390-tools-sles15sp2-22-zkey-Introduce-the-CCA-AESCIPHER-key-type.patch -Patch23: s390-tools-sles15sp2-23-zkey-Add-wrappers-for-the-new-IOCTLs-with-fallback-t.patch -Patch24: s390-tools-sles15sp2-24-zkey-Add-helper-functions-to-build-lists-of-APQNs.patch -Patch25: s390-tools-sles15sp2-25-zkey-Add-support-for-generating-AES-CIPHER-keys.patch -Patch26: s390-tools-sles15sp2-26-zkey-Add-support-for-validating-AES-CIPHER-keys.patch -Patch27: s390-tools-sles15sp2-27-zkey-Add-support-for-re-enciphering-AES-CIPHER-keys.patch -Patch28: s390-tools-sles15sp2-28-zkey-Check-crypto-card-level-during-APQN-cross-check.patch -Patch29: s390-tools-sles15sp2-29-zkey-Add-helper-function-to-query-the-CCA-firmware-v.patch -Patch30: s390-tools-sles15sp2-30-zkey-Add-helper-function-to-convert-secure-keys-betw.patch -Patch31: s390-tools-sles15sp2-31-zkey-Add-helper-function-to-restrict-export-of-secur.patch -Patch32: s390-tools-sles15sp2-32-zkey-Add-helper-function-to-check-an-AES-CIPHER-key.patch -Patch33: s390-tools-sles15sp2-33-zkey-Add-key-checks-when-importing-a-CCA-AESCIPHER-k.patch -Patch34: s390-tools-sles15sp2-34-zkey-Add-convert-command-to-convert-keys-from-one-ty.patch -Patch35: s390-tools-sles15sp2-35-zkey-Allow-zkey-cryptsetup-setkey-to-set-different-k.patch -Patch36: s390-tools-sles15sp2-zcrypt-CEX7S-exploitation-support.patch -Patch37: s390-tools-sles15sp2-zcryptstats-Add-support-for-CEX7.patch -Patch38: s390-tools-sles15sp2-zkey-Fix-listing-of-keys-on-file-systems-reporting-D.patch -Patch39: s390-tools-sles15sp2-zkey-Fix-display-of-clear-key-size-for-XTS-keys.patch -Patch40: s390-tools-sles15sp2-zkey-Fix-display-of-XTS-attribute-for-validate-comma.patch -Patch41: s390-tools-sles15sp2-zkey-Fix-display-of-clear-key-size-for-CCA-AESCIPHER.patch -Patch42: s390-tools-sles15sp2-01-zipl-libc-Introduce-vsnprintf.patch -Patch43: s390-tools-sles15sp2-02-zipl-libc-Fix-potential-buffer-overflow-in-printf.patch -Patch44: s390-tools-sles15sp2-03-zipl-libc-Replace-sprintf-with-snprintf.patch -Patch45: s390-tools-sles15sp2-04-zipl-libc-Indicate-truncated-lines-in-printf-with.patch -Patch46: s390-tools-sles15sp2-01-zpcictl-Initiate-recover-after-reset.patch -Patch47: s390-tools-sles15sp2-02-zpcictl-Rename-misleading-sysfs_write_data.patch -Patch48: s390-tools-sles15sp2-03-zpcitctl-Exit-on-error-in-sysfs_report_error.patch -Patch49: s390-tools-sles15sp2-01-zipl-fix-Wdiscarded-qualifiers.patch -Patch50: s390-tools-sles15sp2-02-zipl-fix-Waddress-of-packed-member.patch -Patch51: s390-tools-sles15sp2-03-zipl-remove-some-useless-__packed___-attributes.patch -Patch52: s390-tools-sles15sp2-04-zipl-Fix-entry-point-for-stand-alone-kdump.patch -Patch53: s390-tools-sles15sp2-05-zipl-Fix-dependency-generation-in-zipl-boot.patch -Patch54: s390-tools-sles15sp2-06-zipl-Make-use-of-__packed-macro.patch -Patch55: s390-tools-sles15sp2-07-zipl-define-__section-macro-and-make-use-of-it.patch -Patch56: s390-tools-sles15sp2-08-zipl-Make-use-of-__noreturn-macro.patch -Patch57: s390-tools-sles15sp2-09-zipl-Define-__noinline-macro-and-make-use-of-it.patch -Patch58: s390-tools-sles15sp2-10-zipl-stage3-Mark-start_kernel-__noreturn.patch -Patch59: s390-tools-sles15sp2-11-zipl-sclp-Remove-duplicate-macros.patch -Patch60: s390-tools-sles15sp2-12-zipl-Make-address-size-mask-macros-UL.patch -Patch61: s390-tools-sles15sp2-13-zipl-libc-Use-stdint.h-instead-of-self-defined-macro.patch -Patch62: s390-tools-sles15sp2-14-zipl-Consolidate-IMAGE-macros.patch -Patch63: s390-tools-sles15sp2-15-zipl-Consolidate-STAGE-2-3-macros.patch -Patch64: s390-tools-sles15sp2-16-zipl-stfle-use-uint64_t-instead-of-u64.patch -Patch65: s390-tools-sles15sp2-17-zipl-boot-fix-comment-in-stage3.lds.patch -Patch66: s390-tools-sles15sp2-18-lib-zt_common-add-STATIC_ASSERT-macro.patch -Patch67: s390-tools-sles15sp2-19-zipl-use-STATIC_ASSERT-macro-for-no-padding-verifica.patch -Patch68: s390-tools-sles15sp2-20-Support-lib-zt_common.h-to-be-used-in-assembler-and-.patch -Patch69: s390-tools-sles15sp2-21-zipl-move-IPL-related-definitions-into-separate-head.patch -Patch70: s390-tools-sles15sp2-22-zipl-move-SIGP-related-functions-and-definitions-int.patch -Patch71: s390-tools-sles15sp2-23-zipl-add-SIGP_SET_ARCHITECTURE-to-sigp.h-and-use-it.patch -Patch72: s390-tools-sles15sp2-24-zipl-stage3-make-IPL_DEVICE-definition-consistent-wi.patch -Patch73: s390-tools-sles15sp2-25-zipl-move-Linux-layout-definitions-into-separate-hea.patch -Patch74: s390-tools-sles15sp2-26-zipl-tape0-use-constants-defined-in-linux_layout.h.patch -Patch75: s390-tools-sles15sp2-27-zipl-use-STAGE3_ENTRY-for-STAGE3_LOAD_ADDRESS.patch -Patch76: s390-tools-sles15sp2-28-zipl-move-loaders-layout-definitions-into-separate-h.patch -Patch77: s390-tools-sles15sp2-29-zipl-s390.h-rename-inline-macro-into-__always_inline.patch -Patch78: s390-tools-sles15sp2-30-zipl-move-__always_inline-barrier-__pa32-pa-to-zt_co.patch -Patch79: s390-tools-sles15sp2-31-zipl-make-BLK_PWRT-unsigned-int.patch -Patch80: s390-tools-sles15sp2-32-Consolidate-MIN-and-MAX-macros.patch -Patch81: s390-tools-sles15sp2-33-zipl-remove-libc.h-include-in-s390.h.patch -Patch82: s390-tools-sles15sp2-34-zipl-move-s390.h-to-include-boot-s390.h.patch -Patch83: s390-tools-sles15sp2-35-zipl-libc-include-s390.h.patch -Patch84: s390-tools-sles15sp2-36-include-boot-s390.h-move-panic-and-panic_notify-to-l.patch -Patch85: s390-tools-sles15sp2-37-include-boot-s390.h-fixes-for-Werror-sign-conversion.patch -Patch86: s390-tools-sles15sp2-38-zipl-refactor-all-EBCDIC-code-into-separate-files.patch -Patch87: s390-tools-sles15sp2-39-zipl-sclp-add-macros-for-the-control-program-masks.patch -Patch88: s390-tools-sles15sp2-40-zipl-sclp-add-sclp_print_ascii.patch -Patch89: s390-tools-sles15sp2-41-zipl-libc-printf-print-on-linemode-and-ASCII-console.patch -Patch90: s390-tools-sles15sp2-42-Consolidate-ALIGN-__ALIGN_MASK-ARRAY_SIZE-macros.patch -Patch91: s390-tools-sles15sp2-43-genprotimg-boot-initial-bootloader-support.patch -Patch92: s390-tools-sles15sp2-44-genprotimg-boot-use-C-pre-processor-for-linker-scrip.patch -Patch93: s390-tools-sles15sp2-45-genprotimg-add-relocator-for-stage3b.patch -Patch94: s390-tools-sles15sp2-46-README.md-remove-useless-empty-line.patch -Patch95: s390-tools-sles15sp2-47-include-boot-s390.h-add-guard-for-struct-__vector128.patch -Patch96: s390-tools-sles15sp2-48-genprotimg-introduce-new-tool-for-the-creation-of-PV.patch -Patch97: s390-tools-sles15sp2-01-zipl-Add-missing-options-to-help-output.patch -Patch98: s390-tools-sles15sp2-02-zipl-allow-stand-alone-secure-option-on-command-l.patch -Patch99: s390-tools-sles15sp2-03-zipl-correct-secure-boot-config-handling.patch -Patch100: s390-tools-sles15sp2-04-zipl-fix-zipl.conf-man-page-example-for-secure-boot.patch -Patch101: s390-tools-sles15sp2-01-cpumf-add-new-deflate-counters-for-z15.patch -Patch102: s390-tools-sles15sp2-vmcp-exit-code.patch -Patch103: s390-tools-sles15sp2-zipl-prevent-endless-loop-during-IPL.patch -Patch104: s390-tools-sles15sp2-zipl-check-for-valid-ipl-parmblock-lowcore-pointer.patch -Patch105: s390-tools-sles15sp2-01-zipl-libc-libc_stop-move-noreturn-to-declaration.patch -Patch106: s390-tools-sles15sp2-02-zipl-stage3-correctly-handle-diag308-response-code.patch -Patch107: s390-tools-sles15sp2-lsluns-try-harder-to-find-udevadm.patch -Patch108: s390-tools-sles15sp2-znetconf-introduce-better-ways-to-locate-udevadm.patch -Patch109: s390-tools-sles15sp2-mon_tools-update-udevadm-location.patch +Patch1: s390-tools-sles15sp3-dasdfmt-Fix-segfault-when-an-incorrect-option-is-spe.patch +Patch2: s390-tools-sles15sp3-libutil-Compare-proc-entries-to-vfstype.patch +Patch3: s390-tools-sles15sp3-01-zdev-Add-FC-Endpoint-Security-information-for-DASD-d.patch +Patch4: s390-tools-sles15sp3-02-lsdasd-Add-FC-Endpoint-Security-information.patch +Patch5: s390-tools-sles15sp3-hsci-Add-new-tool-to-control-HiperSockets-Converged-.patch +Patch6: s390-tools-sles15sp3-zcryptstats-Fix-handling-of-partial-results-with-man.patch +Patch7: s390-tools-sles15sp3-01-genprotimg-abort-if-one-of-the-recursive-targets-is-.patch +Patch8: s390-tools-sles15sp3-02-genprotimg-fix-two-memory-leaks.patch +Patch9: s390-tools-sles15sp3-03-genprotimg-require-argument-for-ramdisk-and-parmfile.patch +Patch10: s390-tools-sles15sp3-04-genprotimg-add-host-key-document-verification-suppor.patch # SUSE patches Patch900: s390-tools-sles12-zipl_boot_msg.patch -Patch901: s390-tools-sles12-sysconfig-compatible-dumpconf.patch +Patch901: s390-tools-sles15-sysconfig-compatible-dumpconf.patch Patch902: s390-tools-sles12-create-filesystem-links.patch Patch903: s390-tools-sles12-update-by_id-links-on-change-and-add-action.patch -Patch904: s390-tools-sles15-Allow-multiple-device-arguments.patch -Patch905: s390-tools-sles15-Format-devices-in-parallel.patch -Patch906: s390-tools-sles15-Implement-Y-yast_mode.patch -Patch907: s390-tools-sles15-Implement-f-for-backwards-compability.patch -Patch908: dasdfmt-retry-BIODASDINFO-if-device-is-busy.patch +Patch904: s390-tools-sles15sp3-Allow-multiple-device-arguments.patch +Patch905: s390-tools-sles15sp3-Format-devices-in-parallel.patch +Patch906: s390-tools-sles15sp3-Implement-Y-yast_mode.patch +Patch907: s390-tools-sles15sp3-Implement-f-for-backwards-compability.patch +Patch908: s390-tools-sles15sp3-dasdfmt-retry-BIODASDINFO-if-device-is-busy.patch Patch909: 59-dasd.rules-wait_for.patch Patch910: s390-tools-sles12-fdasd-skip-partition-check-and-BLKRRPART-ioctl.patch -Patch911: s390-tools-sles15sp2-Close-file-descriptor-when-checking-for-read-only.patch -Patch912: s390-tools-sles15sp1-zdev-Also-include-the-ctc-driver-in-the-initrd.patch -Patch913: s390-tools-sles15sp1-11-zdev-Do-not-call-zipl-on-initrd-update.patch +Patch911: s390-tools-sles15sp1-11-zdev-Do-not-call-zipl-on-initrd-update.patch +BuildRequires: curl-devel BuildRequires: dracut BuildRequires: fuse-devel BuildRequires: gcc-c++ @@ -292,6 +192,29 @@ This package contains a HMC drive file system based on FUSE and a tool to list files and directories. +%package -n libekmfweb1 +Summary: IBM Enterprise Key Management Foundation - Web Edition client library +License: MIT +Group: System/Libraries + +%description -n libekmfweb1 +libekmfweb1 is a client library that provides access to IBM' Enterprise Key +Management Foundation – Web Edition.0 EKMF Web provides efficient and +security-rich centralized key management for IBM z/OS data set encryption +on IBM Z servers. + +%package -n libekmfweb1-devel +Summary: IBM Enterprise Key Management Foundation - Web Edition client library +License: MIT +Group: Development/Libraries/C and C++ +Requires: libekmfweb1 + +%description -n libekmfweb1-devel +libekmfweb1 is a client library that provides access to IBM' Enterprise Key +Management Foundation – Web Edition.0 EKMF Web provides efficient and +security-rich centralized key management for IBM z/OS data set encryption +on IBM Z servers. + %prep %autosetup -p1 @@ -416,7 +339,7 @@ find . ! -type d | sed 's/^.//;\-/man/-s/^.*$/%doc &.gz/' > %{_builddir}/%{name}-filelist -grep -v -E 'osasnmp|*\.conf$' %{_builddir}/%{name}-filelist >%{_builddir}/%{name}.list +grep -v -E 'osasnmp|*\.conf$|ekmfweb.so|ekmfweb.h' %{_builddir}/%{name}-filelist >%{_builddir}/%{name}.list grep osasnmp[^-] %{_builddir}/%{name}-filelist >%{_builddir}/%{name}.osasnmp touch boot/zipl/active_devices.txt @@ -440,7 +363,7 @@ export BRP_PESIGN_FILES='/lib/s390-tools/stage3.bin' %verifyscript -%verify_permissions -e %{_localstatedir}/log/ts-shell +%verify_permissions -e %{_localstatedir}/log/ts-shell/ %pre # check for ts-shell group or create it @@ -469,7 +392,7 @@ systemctl daemon-reload fi -%set_permissions %{_localstatedir}/log/ts-shell +%set_permissions %{_localstatedir}/log/ts-shell/ # Create symbolic links to the scripts from setup and boot directories %service_add_post appldata.service @@ -505,6 +428,9 @@ %post -n osasnmpd %{fillup_only -n osasnmpd} +%post -n libekmfweb1 +ldconfig + %preun %service_del_preun appldata.service %service_del_preun cio_ignore.service @@ -533,6 +459,9 @@ %service_del_postun vmlogrdr.service %service_del_postun xpram.service +%postun -n libekmfweb1 +ldconfig + # Even though SLES15+ is systemd based, the build service doesn't # run it, so we have to make sure we can safely issue the # systemctl command. @@ -579,6 +508,7 @@ %dir %attr(0770,root,zkeyadm) %{_sysconfdir}/zkey/repository %config %{_sysconfdir}/modprobe.d/90-s390-tools.conf %config %{_sysconfdir}/cpuplugd.conf +%config %{_sysconfdir}/zkey/kms-plugins.conf %config(noreplace) /boot/zipl/active_devices.txt %dir %attr(2770,root,ts-shell) %{_localstatedir}/log/ts-shell %dir %{_sysconfdir}/cmsfs-fuse @@ -588,12 +518,12 @@ %dir %{_prefix}/lib/udev/rules.d %dir %{_prefix}/lib/systemd/scripts %dir %{_datadir}/s390-tools -%dir %{_datadir}/s390-tools/cpumf %dir %{_datadir}/s390-tools/netboot %dir %{_datadir}/s390-tools/genprotimg %dir %{_prefix}/lib/dracut/modules.d/95zdev %dir /boot/zipl %dir /lib/s390-tools/ +/lib/s390-tools/zipl.conf %{_prefix}/lib/modules-load.d/pkey.conf %exclude %{_prefix}/lib/udev/rules.d/57-osasnmpd.rules %exclude %{_bindir}/zdsfs @@ -620,4 +550,15 @@ %{_mandir}/man1/hmcdrvfs.1%{?ext_man} %{_mandir}/man8/lshmc.8%{?ext_man} +%files -n libekmfweb1 +%defattr(-,root,root) +%{_libdir}/libekmfweb.so.* +%dir %{_libdir}/zkey +%{_libdir}/zkey/zkey-ekmfweb.so + +%files -n libekmfweb1-devel +%{_libdir}/libekmfweb.so +%dir %attr(755,root,root) %{_includedir}/ekmfweb +%attr(644,root,root) %{_includedir}/ekmfweb/ekmfweb.h + %changelog ++++++ s390-tools-2.11.0.tar.gz -> s390-tools-2.15.1.tar.gz ++++++ ++++ 63823 lines of diff (skipped) ++++++ s390-tools-sles12-sysconfig-compatible-dumpconf.patch -> s390-tools-sles15-sysconfig-compatible-dumpconf.patch ++++++ --- /work/SRC/openSUSE:Factory/s390-tools/s390-tools-sles12-sysconfig-compatible-dumpconf.patch 2017-10-20 14:39:11.526987829 +0200 +++ /work/SRC/openSUSE:Factory/.s390-tools.new.2328/s390-tools-sles15-sysconfig-compatible-dumpconf.patch 2020-12-10 15:56:58.978789295 +0100 @@ -1,21 +1,6 @@ -From c261ec990a8259f2540089827309b918e1c31590 Mon Sep 17 00:00:00 2001 -From: Hannes Reinecke <[email protected]> -Date: Fri, 22 Nov 2013 15:34:22 +0100 -Subject: [PATCH] dumpconf: Use compatible sysconfig layout - -SUSE is quite restrictive on how the sysconfig -should look like. - -Signed-off-by: Hannes Reinecke <[email protected]> ---- - etc/sysconfig/dumpconf | 134 ++++++++++++++++++++++++++++++++++--------------- - 1 file changed, 93 insertions(+), 41 deletions(-) - -diff --git a/etc/sysconfig/dumpconf b/etc/sysconfig/dumpconf -index a3639cf..76f9040 100644 ---- a/etc/sysconfig/dumpconf -+++ b/etc/sysconfig/dumpconf -@@ -1,61 +1,113 @@ +--- a/etc/sysconfig/dumpconf 2020-10-15 09:56:15.000000000 -0400 ++++ b/etc/sysconfig/dumpconf 2020-10-27 18:47:23.267333389 -0400 +@@ -1,71 +1,137 @@ +## Path: System/Dumpconf +## Description: Configures the actions which should be performed after a kernel panic +## Type: list(stop,dump,vmcmd,reipl,dump_reipl) @@ -26,7 +11,7 @@ -# -# Configures the actions which should be performed after a kernel panic -# and on PSW restart. -+# Define the action that should be taken if a panic happens. ++# Define the action that should be taken if a kernel panic happens. # # The following actions are supported: # @@ -67,16 +52,16 @@ -# Dump on CCW device (DASD) and re-IPL after dump is complete. -# The re-IPL device, as specified under "/sys/firmware/reipl", is used. -# The activation of dumpconf is delayed by 5 minutes. -+## Type: list(ccw,fcp) ++## Type: list(ccw,fcp,nvme) +## Default: "" +## ServiceRestart: dumpconf -+# -+# Define the type, ccw for DASD and fcp for zFCP. # -# ON_PANIC=dump_reipl -# DUMP_TYPE=ccw -# DEVICE=0.0.4e13 -# DELAY_MINUTES=5 ++# Define the type, ccw for DASD, fcp for zFCP, or nvme for NVMe Disk. ++# +DUMP_TYPE="" +## Type: string @@ -100,68 +85,99 @@ +## Type: string +## Default: "" +## ServiceRestart: dumpconf -+# + # +-# Dump on nvme device (NVMe Disk) +# Define the WWPN for a zFCP dump device. # --# Use VMDUMP +-# ON_PANIC=dump +-# DUMP_TYPE=nvme +-# FID=0x00000300 +-# NSID=0x00000001 +-# BOOTPROG=3 +-# BR_LBA=0 +# For example: WWPN=0x5005076303004711 - # --# ON_PANIC=vmcmd --# VMCMD_1="MESSAGE * Starting VMDUMP" --# VMCMD_2="VMDUMP" --# VMCMD_3="IPL 4711" ++# +WWPN="" +## Type: string +## Default: "" +## ServiceRestart: dumpconf -+# + # +-# Use VMDUMP +# Define the LUN for a zFCP dump device. -+# + # +-# ON_PANIC=vmcmd +-# VMCMD_1="MESSAGE * Starting VMDUMP" +-# VMCMD_2="VMDUMP" +-# VMCMD_3="IPL 4711" +# For example: LUN=0x4711000000000000 +# +LUN="" -+ + +## Type: integer(0:30) +## Default: "0" +## ServiceRestart: dumpconf -+# + # +-# Stop Linux (default) +# Define the Boot program selector for a zFCP dump device. -+# + # +-# ON_PANIC=stop +# A decimal value between 0 and 30 specifying the program to be loaded from +# the FCP-I/O device. +# +BOOTPROG="0" -+ + +## Type: string +## Default: "0" +## ServiceRestart: dumpconf -+# + # +-# Re-IPL Linux +-# The re-IPL device, as specified under "/sys/firmware/reipl", is used. +-# Since the DELAY_MINUTES keyword is omitted, there is no delay and +-# dumpconf becomes active immediately during system startup. +# Define the Boot record logical block address for a zFCP dump device. # --# Stop Linux (default) +-# ON_PANIC=reipl +# The hexadecimal digits designating the logical-block address of the boot record of the FCP-I/O device. +# It must be a value from 0-FFFFFFFF FFFFFFFF. For values longer than 8 hex characters at least one separator +# blank is required after the 8th character. - # --# ON_PANIC=stop ++# +BR_LBA="0" - ++ +## Type: string +## Default: "" +## ServiceRestart: dumpconf - # --# Re-IPL Linux --# The re-IPL device, as specified under "/sys/firmware/reipl", is used. --# Since the DELAY_MINUTES keyword is omitted, there is no delay and --# dumpconf becomes active immediately during system startup. ++# ++# Define the Function ID for NVMe dump device. ++# ++# The hexadecimal digits designating the Function ID for the NMVe disk. ++# ++# For example: FID=0x00000300 ++# ++FID="" ++ ++## Type: string ++## Default: "" ++## ServiceRestart: dumpconf ++# ++# Define the Namespace ID for the NVMe dump device ++# ++# The hexadecimal digits designating the Namespace ID for the NMVe disk. ++# ++# For example: NSID=0x00000001 ++# ++NSID="" ++ ++## Type: string ++## Default: "" ++## ServiceRestart: dumpconf ++# +# VMCMD_<X> +# Specifies a CP command, <X> is a number from one to eight. You can +# specify up to eight CP commands that are executed in case of a kernel +# panic. Note that VM commands, device adresses, and VM guest names +# must be uppercase. - # --# ON_PANIC=reipl ++# +VMCMD_1="" +VMCMD_2="" +VMCMD_3="" @@ -170,6 +186,3 @@ +VMCMD_6="" +VMCMD_7="" +VMCMD_8="" --- -1.8.1.4 - ++++++ s390-tools-sles15sp3-01-genprotimg-abort-if-one-of-the-recursive-targets-is-.patch ++++++ Subject: [PATCH] [FEAT VS2010] genprotimg: abort if one of the recursive targets is failing From: Marc Hartmayer <[email protected]> Summary: genprotimg: add host-key document verification Description: Add host-key document verification support to genprotimg. This ensures that a host-key document is genuine and provided by IBM. For this the user must provide the IBM Z signing key, the intermediate CA certificate (signed by the root CA used) so a chain of trust starting from the host-key document and ending in the root CA can be established. Upstream-ID: 6db7fbe0187042f44a63a5c7dbeb9f116909d02e Problem-ID: VS2010 Upstream-Description: genprotimg: abort if one of the recursive targets is failing Abort compilation as soon as one of the recursive targets is failing. Fixes: 65b9fc442c1a ("genprotimg: introduce new tool for the creation of PV images") Signed-off-by: Marc Hartmayer <[email protected]> Signed-off-by: Jan Hoeppner <[email protected]> Signed-off-by: Marc Hartmayer <[email protected]> Index: s390-tools-service/genprotimg/Makefile =================================================================== --- s390-tools-service.orig/genprotimg/Makefile +++ s390-tools-service/genprotimg/Makefile @@ -21,7 +21,7 @@ clean: clean-recursive $(RECURSIVE_TARGETS): @target=`echo $@ |sed s/-recursive//`; \ for d in $(SUBDIRS); do \ - $(MAKE) -C $$d $$target; \ + $(MAKE) -C $$d $$target || exit 1; \ done .PHONY: all install clean $(RECURSIVE_TARGETS) ++++++ s390-tools-sles15sp3-01-zdev-Add-FC-Endpoint-Security-information-for-DASD-d.patch ++++++ Subject: [PATCH] [FEAT IO1812] zdev/lsdasd: Add FC Endpoint Security information From: Jan Hoeppner <[email protected]> Summary: zdev/lsdasd: Add FC Endpoint Security information Description: Provide the status of the FC Endpoint Security information via the long output of lsdasd for online Base and Alias devices. Upstream-ID: - Problem-ID: IO1812 Signed-off-by: Jan Hoeppner <[email protected]> --- zdev/src/dasd.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) --- a/zdev/src/dasd.c +++ b/zdev/src/dasd.c @@ -313,6 +313,22 @@ static struct attrib dasd_attr_safe_offl .writeonly = 1, }; +static struct attrib dasd_attr_fc_security = { + .name = "fc_security", + .title = "Show FC Endpoint Security state of DASD device", + .desc = + "This read-only attribute shows the Fibre Channel Endpoint Security\n" + "status of the connection to the DASD device:\n" + " Unsupported : The DASD device does not support Fibre Channel\n" + " Endpoint Security\n" + " Inconsistent : The operational channel paths of the DASD device\n" + " report inconsistent Fibre Channel Endpoint\n" + " Security status\n" + " Authentication: The connection has been authenticated\n" + " Encryption : The connection is encrypted\n", + .readonly = 1, +}; + /* * DASD subtype methods. */ @@ -617,6 +633,7 @@ struct subtype dasd_subtype_eckd = { &dasd_attr_reservation_policy, &dasd_attr_last_known_reservation_state, &dasd_attr_safe_offline, + &dasd_attr_fc_security, &internal_attr_early, ), .unknown_dev_attribs = 1, ++++++ s390-tools-sles15sp3-02-genprotimg-fix-two-memory-leaks.patch ++++++ Subject: [PATCH] [FEAT VS2010] genprotimg: fix two memory leaks From: Marc Hartmayer <[email protected]> Summary: genprotimg: add host-key document verification Description: Add host-key document verification support to genprotimg. This ensures that a host-key document is genuine and provided by IBM. For this the user must provide the IBM Z signing key, the intermediate CA certificate (signed by the root CA used) so a chain of trust starting from the host-key document and ending in the root CA can be established. Upstream-ID: db6f272607842a6279fee589fb101f3a1f6148f3 Problem-ID: VS2010 Upstream-Description: genprotimg: fix two memory leaks ==1005844== HEAP SUMMARY: ==1005844== in use at exit: 18,907 bytes in 14 blocks ==1005844== total heap usage: 82 allocs, 68 frees, 32,529 bytes allocated ==1005844== ==1005844== 136 (104 direct, 32 indirect) bytes in 1 blocks are definitely lost in loss record 12 of 14 ==1005844== at 0x483885A: calloc (vg_replace_malloc.c:760) ==1005844== by 0x48C950D: g_malloc0 (gmem.c:132) ==1005844== by 0x100EC41: pv_args_new (pv_args.c:364) ==1005844== by 0x100587F: main (genprotimg.c:122) ==1005844== ==1005844== LEAK SUMMARY: ==1005844== definitely lost: 104 bytes in 1 blocks ==1005844== indirectly lost: 32 bytes in 1 blocks ==1005844== possibly lost: 0 bytes in 0 blocks ==1005844== still reachable: 18,771 bytes in 12 blocks ==1005844== suppressed: 0 bytes in 0 blocks ==1005844== Reachable blocks (those to which a pointer was found) are not shown. ==1005844== To see them, rerun with: --leak-check=full --show-leak-kinds=all ==1005844== ==1005844== For lists of detected and suppressed errors, rerun with: -s ==1005844== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0) Signed-off-by: Marc Hartmayer <[email protected]> Signed-off-by: Jan Hoeppner <[email protected]> Signed-off-by: Marc Hartmayer <[email protected]> Index: s390-tools-service/genprotimg/src/genprotimg.c =================================================================== --- s390-tools-service.orig/genprotimg/src/genprotimg.c +++ s390-tools-service/genprotimg/src/genprotimg.c @@ -177,5 +177,7 @@ error: rmdir_recursive(tmp_dir, NULL); remove_signal_handler(signals, G_N_ELEMENTS(signals)); g_free(tmp_dir); + g_clear_pointer(&img, pv_img_free); + g_clear_pointer(&args, pv_args_free); exit(ret); } ++++++ s390-tools-sles15sp3-02-lsdasd-Add-FC-Endpoint-Security-information.patch ++++++ Subject: [PATCH] [FEAT IO1812] zdev/lsdasd: Add FC Endpoint Security information From: Jan Hoeppner <[email protected]> Summary: zdev/lsdasd: Add FC Endpoint Security information Description: Provide the status of the FC Endpoint Security information via the long output of lsdasd for online Base and Alias devices. Upstream-ID: - Problem-ID: IO1812 Signed-off-by: Jan Hoeppner <[email protected]> --- zconf/lsdasd | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) --- a/zconf/lsdasd +++ b/zconf/lsdasd @@ -387,6 +387,7 @@ function extended() read EXTSZ 2> /dev/null < $DEVPATH/extent_pool/extent_size read CAPACITY 2> /dev/null < $DEVPATH/capacity/logical_capacity read ALLOCATED 2> /dev/null < $DEVPATH/capacity/space_allocated + read FC_SEC 2> /dev/null < $DEVPATH/fc_security # convert to hexadecimal values PIM=0x$PIM @@ -521,7 +522,7 @@ function extended() elif [[ "$ALIAS" == 1 ]]; then if [[ "$BASEONLY" == "false" ]]; then ACTIVE="alias" - printf "%s:%s:%s# status:\t\t\t\t%s# type: \t\t\t\t%s# use_diag:\t\t\t\t%s# readonly:\t\t\t\t%s# eer_enabled:\t\t\t\t%s# erplog:\t\t\t\t%s# hpf:\t\t\t\t\t%s # uid: \t\t\t\t%s# paths_installed: \t\t\t%s %s %s %s %s %s %s %s# paths_in_use: \t\t\t%s %s %s %s %s %s %s %s# paths_non_preferred: \t\t\t%s %s %s %s %s %s %s %s# paths_invalid_cabling: \t\t%s %s %s %s %s %s %s %s# paths_cuir_quiesced: \t\t\t%s %s %s %s %s %s %s %s# paths_invalid_hpf_characteristics: \t%s %s %s %s %s %s %s %s# paths_error_threshold_exceeded: \t%s %s %s %s %s %s %s %s#\n" \ + printf "%s:%s:%s# status:\t\t\t\t%s# type: \t\t\t\t%s# use_diag:\t\t\t\t%s# readonly:\t\t\t\t%s# eer_enabled:\t\t\t\t%s# erplog:\t\t\t\t%s# hpf:\t\t\t\t\t%s # uid: \t\t\t\t%s# fc_security: \t\t\t\t%s# paths_installed: \t\t\t%s %s %s %s %s %s %s %s# paths_in_use: \t\t\t%s %s %s %s %s %s %s %s# paths_non_preferred: \t\t\t%s %s %s %s %s %s %s %s# paths_invalid_cabling: \t\t%s %s %s %s %s %s %s %s# paths_cuir_quiesced: \t\t\t%s %s %s %s %s %s %s %s# paths_invalid_hpf_characteristics: \t%s %s %s %s %s %s %s %s# paths_error_threshold_exceeded: \t%s %s %s %s %s %s %s %s#\n" \ "$SORTKEYLEN" "$SORTKEY" \ "$BUSID" \ "$ACTIVE" \ @@ -532,6 +533,7 @@ function extended() "$ERP" \ "$HPF" \ "$DEV_UID" \ + "$FC_SEC" \ "${INSTALLED_PATHS[@]}" \ "${USED_PATHS[@]}" \ "${NP_PATHS[@]}" \ @@ -563,7 +565,7 @@ function extended() DISCIPLINE="${DISCIPLINE} (ESE)" fi - printf "%s:%s:%s/%s/%s%s%s# status:\t\t\t\t%s# type: \t\t\t\t%s# blksz:\t\t\t\t%s# size: \t\t\t\t%s# blocks:\t\t\t\t%s# extent_size:\t\t\t\t%s# logical_capacity:\t\t\t%s# space_allocated:\t\t\t%s# use_diag:\t\t\t\t%s# readonly:\t\t\t\t%s# eer_enabled:\t\t\t\t%s# erplog:\t\t\t\t%s# hpf:\t\t\t\t\t%s# uid: \t\t\t\t%s# paths_installed: \t\t\t%s %s %s %s %s %s %s %s# paths_in_use: \t\t\t%s %s %s %s %s %s %s %s# paths_non_preferred: \t\t\t%s %s %s %s %s %s %s %s# paths_invalid_cabling: \t\t%s %s %s %s %s %s %s %s# paths_cuir_quiesced: \t\t\t%s %s %s %s %s %s %s %s# paths_invalid_hpf_characteristics: \t%s %s %s %s %s %s %s %s# paths_error_threshold_exceeded: \t%s %s %s %s %s %s %s %s#\n" \ + printf "%s:%s:%s/%s/%s%s%s# status:\t\t\t\t%s# type: \t\t\t\t%s# blksz:\t\t\t\t%s# size: \t\t\t\t%s# blocks:\t\t\t\t%s# extent_size:\t\t\t\t%s# logical_capacity:\t\t\t%s# space_allocated:\t\t\t%s# use_diag:\t\t\t\t%s# readonly:\t\t\t\t%s# eer_enabled:\t\t\t\t%s# erplog:\t\t\t\t%s# hpf:\t\t\t\t\t%s# uid: \t\t\t\t%s# fc_security: \t\t\t\t%s# paths_installed: \t\t\t%s %s %s %s %s %s %s %s# paths_in_use: \t\t\t%s %s %s %s %s %s %s %s# paths_non_preferred: \t\t\t%s %s %s %s %s %s %s %s# paths_invalid_cabling: \t\t%s %s %s %s %s %s %s %s# paths_cuir_quiesced: \t\t\t%s %s %s %s %s %s %s %s# paths_invalid_hpf_characteristics: \t%s %s %s %s %s %s %s %s# paths_error_threshold_exceeded: \t%s %s %s %s %s %s %s %s#\n" \ "$SORTKEYLEN" "$SORTKEY" \ "$BUSID" \ "$BLOCKNAME" \ @@ -584,6 +586,7 @@ function extended() "$ERP" \ "$HPF" \ "$DEV_UID" \ + "$FC_SEC" \ "${INSTALLED_PATHS[@]}" \ "${USED_PATHS[@]}" \ "${NP_PATHS[@]}" \ ++++++ s390-tools-sles15sp3-03-genprotimg-require-argument-for-ramdisk-and-parmfile.patch ++++++ Subject: [PATCH] [FEAT VS2010] genprotimg: require argument for 'ramdisk' and 'parmfile' options From: Marc Hartmayer <[email protected]> Summary: genprotimg: add host-key document verification Description: Add host-key document verification support to genprotimg. This ensures that a host-key document is genuine and provided by IBM. For this the user must provide the IBM Z signing key, the intermediate CA certificate (signed by the root CA used) so a chain of trust starting from the host-key document and ending in the root CA can be established. Upstream-ID: 895a88b2f8d775e45ab1251f0b4bb275efd44a64 Problem-ID: VS2010 Upstream-Description: genprotimg: require argument for 'ramdisk' and 'parmfile' options A argument is required for the optional options 'ramdisk' and 'parmfile'. Fixes: 65b9fc442c1a ("genprotimg: introduce new tool for the creation of PV images") Reviewed-by: Bjoern Walk <[email protected]> Signed-off-by: Marc Hartmayer <[email protected]> Signed-off-by: Jan Hoeppner <[email protected]> Signed-off-by: Marc Hartmayer <[email protected]> Index: s390-tools-service/genprotimg/src/pv/pv_args.c =================================================================== --- s390-tools-service.orig/genprotimg/src/pv/pv_args.c +++ s390-tools-service/genprotimg/src/pv/pv_args.c @@ -227,7 +227,7 @@ gint pv_args_parse_options(PvArgs *args, .arg_description = _("IMAGE") }, { .long_name = "ramdisk", .short_name = 'r', - .flags = G_OPTION_FLAG_OPTIONAL_ARG | G_OPTION_FLAG_FILENAME, + .flags = G_OPTION_FLAG_FILENAME, .arg = G_OPTION_ARG_CALLBACK, .arg_data = cb_add_component, .description = _("Use RAMDISK as the initial RAM disk\n" INDENT @@ -235,7 +235,7 @@ gint pv_args_parse_options(PvArgs *args, .arg_description = _("RAMDISK") }, { .long_name = "parmfile", .short_name = 'p', - .flags = G_OPTION_FLAG_OPTIONAL_ARG | G_OPTION_FLAG_FILENAME, + .flags = G_OPTION_FLAG_FILENAME, .arg = G_OPTION_ARG_CALLBACK, .arg_data = cb_add_component, .description = _("Use the kernel parameters stored in PARMFILE\n" INDENT ++++++ s390-tools-sles15sp3-04-genprotimg-add-host-key-document-verification-suppor.patch ++++++ ++++ 2410 lines (skipped) ++++++ s390-tools-sles15sp3-Allow-multiple-device-arguments.patch ++++++ From d6582bbaf0f3986a42f562046dc0caa9de89c75e Mon Sep 17 00:00:00 2001 From: Hannes Reinecke <[email protected]> Date: Fri, 6 Oct 2017 08:58:17 +0200 Subject: [PATCH] dasdfmt: Allow multiple device arguments Allow the user to specify several devices as arguments to dasdfmt. Signed-off-by: Hannes Reinecke <[email protected]> --- dasdfmt/dasdfmt.8 | 5 +- dasdfmt/dasdfmt.c | 175 ++++++++++++++++++++++++++++++------------------------ 2 files changed, 100 insertions(+), 80 deletions(-) diff --git a/dasdfmt/dasdfmt.8 b/dasdfmt/dasdfmt.8 index 99da9ed..e7fc501 100644 --- a/dasdfmt/dasdfmt.8 +++ b/dasdfmt/dasdfmt.8 @@ -11,14 +11,15 @@ dasdfmt \- formatting of DASD (ECKD) disk drives. .br [-r \fIcylinder\fR] [-b \fIblksize\fR] [-l \fIvolser\fR] [-d \fIlayout\fR] .br - [-L] [-V] [-F] [-k] [-C] [-M \fImode\fR] \fIdevice\fR + [-L] [-V] [-F] [-k] [-C] [-M \fImode\fR] \fIdevice\fR [\fIdevice\fR] .SH DESCRIPTION -\fBdasdfmt\fR formats a DASD (ECKD) disk drive to prepare it +\fBdasdfmt\fR formats one or several DASD (ECKD) disk drive to prepare it for usage with Linux for S/390. The \fIdevice\fR is the node of the device (e.g. '/dev/dasda'). Any device node created by udev for kernel 2.6 can be used (e.g. '/dev/dasd/0.0.b100/disc'). +It is possible to specify up to 512 devices. .br \fBWARNING\fR: Careless usage of \fBdasdfmt\fR can result in --- s390-tools-2.15.1/dasdfmt/dasdfmt.c 2020-10-30 20:43:30.853044638 +0000 +++ s390-tools-2.15.1/dasdfmt/dasdfmt.c 2020-11-17 23:38:56.457778633 +0000 @@ -25,6 +25,8 @@ #include "dasdfmt.h" +#define MAX_DEVICES 512 +#define MAX_LENGTH 256 #define BUSIDSIZE 8 #define SEC_PER_DAY (60 * 60 * 24) #define SEC_PER_HOUR (60 * 60) @@ -57,7 +59,9 @@ static struct dasdfmt_globals { dasd_information2_t dasd_info; char *dev_path; /* device path entered by user */ + char dev_path_array[MAX_DEVICES][MAX_LENGTH]; /* Array of device paths entered by user */ char *dev_node; /* reliable device node determined by dasdfmt */ + char dev_node_array[MAX_DEVICES][MAX_LENGTH]; /* Array of reliable device nodes determined by dasdfmt */ int verbosity; int testmode; int withoutprompt; @@ -484,15 +488,15 @@ program_interrupt_in_progress = 1; if (disk_disabled) { - printf("Re-accessing the device...\n"); + printf("Re-accessing %s...\n", g.dev_path); disk_enable(); } - printf("Rereading the partition table...\n"); + printf("Rereading the partition table for %s...\n", g.dev_path); rc = dasd_reread_partition_table(g.dev_node, 5); if (rc) { ERRMSG("%s: (signal handler) Re-reading partition table " - "failed. (%s)\n", prog_name, strerror(rc)); + "for %s failed. (%s)\n", prog_name, g.dev_path, strerror(rc)); } else { printf("Exiting...\n"); } @@ -512,9 +516,6 @@ unsigned int maj, min; struct stat dev_stat; - if (optind + 1 < argc) - error("More than one device specified!"); - if (optind >= argc) error("No device specified!"); @@ -610,10 +611,10 @@ error("the ioctl call to retrieve read/write status information failed: %s", strerror(err)); if (ro) - error("Disk is read only!"); + error("Disk %s is read only!", g.dev_path); if (!g.force) { if (g.dasd_info.open_count > 1) - error("Disk in use!"); + error("Disk %s is in use!", g.dev_path); } if (strncmp(g.dasd_info.type, "ECKD", 4) != 0) { warnx("Unsupported disk type"); @@ -700,7 +701,7 @@ struct dasd_eckd_characteristics *characteristics; if (g.verbosity > 0) - printf("Retrieving disk geometry...\n"); + printf("Retrieving disk geometry for %s...\n", g.dev_path); characteristics = (struct dasd_eckd_characteristics *) &g.dasd_info.characteristics; @@ -728,13 +729,13 @@ "Cylinders above this limit will not be" " accessible as a linux partition!\n" "Type \"yes\" to continue, no will leave" - " the disk untouched: ", LV_COMPAT_CYL); + " the %s disk untouched: ", LV_COMPAT_CYL, g.dev_path); if (fgets(inp_buffer, sizeof(inp_buffer), stdin) == NULL) return; if (strcasecmp(inp_buffer, "yes") && strcasecmp(inp_buffer, "yes\n")) { - printf("Omitting ioctl call (disk will " - "NOT be formatted).\n"); + printf("Omitting ioctl call (disk %s will " + "NOT be formatted).\n", g.dev_path); return; } } @@ -872,7 +873,7 @@ check_params->start_unit = 0; check_params->stop_unit = (cylinders * heads) - 1; - printf("Checking format of the entire disk...\n"); + printf("Checking format of the entire %s disk...\n", g.dev_path); if (g.testmode) { printf("Test mode active, omitting ioctl.\n"); @@ -896,7 +897,7 @@ if (process_tracks(cylinders, heads, check_params)) error("Use --mode=full to perform a clean format."); - printf("Done. Disk is fine.\n"); + printf("Done. Disk %s is fine.\n", g.dev_path); } /* @@ -946,8 +947,8 @@ printf("Device Type: %s Provisioned\n", g.ese ? "Thinly" : "Fully"); - printf("\nI am going to format the device "); - printf("%s in the following way:\n", g.dev_path); + printf("\nI am going to format %s ", g.dev_path); + printf("in the following way:\n"); printf(" Device number of device : 0x%x\n", g.dasd_info.devno); printf(" Labelling device : %s\n", (g.writenolabel) ? "no" : "yes"); @@ -1012,7 +1013,7 @@ int ipl1_record_len, ipl2_record_len; if (g.verbosity > 0) - printf("Retrieving dasd information... "); + printf("Retrieving dasd information for %s... ", g.dev_path); get_blocksize(&blksize); @@ -1030,7 +1031,7 @@ /* write empty bootstrap (initial IPL records) */ if (g.verbosity > 0) - printf("Writing empty bootstrap...\n"); + printf("Writing empty bootstrap to %s...\n", g.dev_path); /* * Note: ldl labels do not contain the key field @@ -1089,7 +1090,7 @@ label_position = g.dasd_info.label_block * blksize; if (g.verbosity > 0) - printf("Writing label...\n"); + printf("Writing label to %s...\n", g.dev_path); rc = lseek(fd, label_position, SEEK_SET); if (rc != label_position) { @@ -1120,7 +1121,7 @@ } if (g.verbosity > 0) - printf("Writing VTOC... "); + printf("Writing VTOC to %s... ", g.dev_path); label_position = (VTOC_START_CC * heads + VTOC_START_HH) * geo.sectors * blksize; @@ -1242,7 +1243,7 @@ if (!g.ese || g.no_discard) return; - printf("Releasing space for the entire device...\n"); + printf("Releasing space for the entire %s device...\n", g.dev_path); err = dasd_release_space(g.dev_node, &r); if (err) error("Could not release space: %s", strerror(err)); @@ -1261,20 +1262,21 @@ int err; if (!(g.withoutprompt && g.verbosity < 1)) - printf("Formatting the device. This may take a while " - "(get yourself a coffee).\n"); + printf("Formatting the %s device. This may take a while " + "(get yourself a coffee).\n", g.dev_path); if (g.verbosity > 0) - printf("Detaching the device...\n"); + printf("Detaching the %s device...\n", g.dev_path); disk_disable(g.dev_node); if (g.verbosity > 0) - printf("Invalidate first track...\n"); + printf("Invalidate first track on %s...\n", g.dev_path); err = dasd_format_disk(filedes, &temp); if (err != 0) - error("(invalidate first track) IOCTL BIODASDFMT failed: %s", strerror(err)); + error("(invalidate first track) IOCTL BIODASDFMT failed for %s: %s", + g.dev_path, strerror(err)); /* except track 0 from standard formatting procss */ p->start_unit = 1; @@ -1282,19 +1284,19 @@ process_tracks(cylinders, heads, p); if (g.verbosity > 0) - printf("formatting tracks complete...\n"); + printf("formatting tracks for %s complete...\n", g.dev_path); temp.intensity = p->intensity; if (g.verbosity > 0) - printf("Revalidate first track...\n"); + printf("Revalidate first track on %s...\n", g.dev_path); err = dasd_format_disk(filedes, &temp); if (err != 0) error("(re-validate first track) IOCTL BIODASDFMT failed: %s", strerror(err)); if (g.verbosity > 0) - printf("Re-accessing the device...\n"); + printf("Re-accessing the %s device...\n", g.dev_path); disk_enable(); } @@ -1306,18 +1308,18 @@ format_data_t *p) { if (!(g.withoutprompt && g.verbosity < 1)) - printf("Formatting the device. This may take a while " - "(get yourself a coffee).\n"); + printf("Formatting the %s device. This may take a while " + "(get yourself a coffee).\n", g.dev_path); if (g.verbosity > 0) - printf("Detaching the device...\n"); + printf("Detaching the %s device...\n", g.dev_path); disk_disable(g.dev_node); process_tracks(cylinders, heads, p); if (g.verbosity > 0) - printf("Formatting tracks complete...\n"); + printf("formatting tracks for %s complete...\n", g.dev_path); if (g.verbosity > 0) printf("Re-accessing the device...\n"); @@ -1426,16 +1428,16 @@ if (!g.withoutprompt) { printf("\n"); if (mode != EXPAND) - printf("--->> ATTENTION! <<---\nAll data of " - "that device will be lost.\n"); + printf("--->> ATTENTION! <<---\nAll data on " + "the %s device will be lost.\n", g.dev_path); printf("Type \"yes\" to continue, no will leave the " "disk untouched: "); if (fgets(inp_buffer, sizeof(inp_buffer), stdin) == NULL) return; if (strcasecmp(inp_buffer, "yes") && strcasecmp(inp_buffer, "yes\n")) { - printf("Omitting ioctl call (disk will " - "NOT be formatted).\n"); + printf("Omitting ioctl call (disk %s will " + "NOT be formatted).\n", g.dev_path); return; } } @@ -1453,12 +1455,12 @@ break; } - printf("Finished formatting the device.\n"); + printf("Finished formatting the %s device.\n", g.dev_path); if (!(g.writenolabel || mode == EXPAND)) dasdfmt_write_labels(vlabel, cylinders, heads); - printf("Rereading the partition table... "); + printf("Rereading the partition table for %s... ", g.dev_path); err = dasd_reread_partition_table(g.dev_node, 5); if (err != 0) { ERRMSG("%s: error during rereading the partition " @@ -1472,7 +1473,7 @@ static void eval_format_mode(void) { if (!g.force && g.mode_specified && g.ese && mode == EXPAND) { - warnx("WARNING: The specified device is thin-provisioned"); + warnx("WARNING: The specified device, %s, is thin-provisioned", g.dev_path); warnx("Format mode 'expand' is not feasible."); error("Use --mode=full or --mode=quick to perform a clean format"); } @@ -1495,20 +1496,70 @@ prog_name = p + 1; } +void process_dasd(volume_label_t *orig_vlabel, format_data_t format_params) +{ + volume_label_t vlabel; + char old_volser[7]; + char str[ERR_LENGTH]; + unsigned int cylinders, heads; int rc; + + rc = dasd_get_info(g.dev_node, &g.dasd_info); + if (rc != 0) + error("the ioctl call to retrieve device information failed: %s", strerror(rc)); + + g.ese = dasd_sys_ese(g.dev_node); + eval_format_mode(); + + /* Not sure this next line is needed in the new version of the code. */ + memcpy(&vlabel, orig_vlabel, sizeof(vlabel)); + + /* Either let the user specify the blksize or get it from the kernel */ + if (!g.blksize_specified) { + if (!(mode == FULL || + g.dasd_info.format == DASD_FORMAT_NONE) || g.check) + get_blocksize(&format_params.blksize); + else + format_params = ask_user_for_blksize(format_params); + } + + if (g.keep_volser) { + if (g.labelspec) + error("The -k and -l options are mutually exclusive"); + if (!(format_params.intensity & DASD_FMT_INT_COMPAT)) + error("WARNING: VOLSER cannot be kept when using the ldl format!"); + + if (dasdfmt_get_volser(old_volser) == 0) + vtoc_volume_label_set_volser(&vlabel, old_volser); + else + error("VOLSER not found on device %s", g.dev_path); + } + + check_disk(); + + if (check_param(str, ERR_LENGTH, &format_params) < 0) + error("%s", str); + + set_geo(&cylinders, &heads); + set_label(&vlabel, &format_params, cylinders); + + if (g.check) + check_disk_format(cylinders, heads, &format_params); + else + do_format_dasd(&vlabel, &format_params, cylinders, heads); + +} + int main(int argc, char *argv[]) { volume_label_t vlabel; - char old_volser[7]; - char str[ERR_LENGTH]; char buf[7]; char *blksize_param_str = NULL; char *reqsize_param_str = NULL; char *hashstep_str = NULL; - int rc; - unsigned int cylinders, heads; + int rc, numdev = 0, i; /* Establish a handler for interrupt signals. */ signal(SIGTERM, program_interrupt_signal); @@ -1644,6 +1695,9 @@ break; /* exit loop if finished */ } + /* Reset the value of rc since we're going to use it again later. */ + rc = 0; + CHECK_SPEC_MAX_ONCE(g.blksize_specified, "blocksize"); CHECK_SPEC_MAX_ONCE(g.labelspec, "label"); CHECK_SPEC_MAX_ONCE(g.writenolabel, "omit-label-writing flag"); @@ -1662,49 +1716,29 @@ if (g.print_hashmarks) PARSE_PARAM_INTO(g.hashstep, hashstep_str, 10, "hashstep"); - get_device_name(optind, argc, argv); - - rc = dasd_get_info(g.dev_node, &g.dasd_info); - if (rc != 0) - error("the ioctl call to retrieve device information failed: %s", strerror(rc)); - - g.ese = dasd_sys_ese(g.dev_node); - eval_format_mode(); - - /* Either let the user specify the blksize or get it from the kernel */ - if (!g.blksize_specified) { - if (!(mode == FULL || - g.dasd_info.format == DASD_FORMAT_NONE) || g.check) - get_blocksize(&format_params.blksize); - else - format_params = ask_user_for_blksize(format_params); - } - - if (g.keep_volser) { - if (g.labelspec) - error("The -k and -l options are mutually exclusive"); - if (!(format_params.intensity & DASD_FMT_INT_COMPAT)) - error("WARNING: VOLSER cannot be kept when using the ldl format!"); - - if (dasdfmt_get_volser(old_volser) == 0) - vtoc_volume_label_set_volser(&vlabel, old_volser); - else - error("VOLSER not found on device %s", g.dev_path); - } - - check_disk(); - - if (check_param(str, ERR_LENGTH, &format_params) < 0) - error("%s", str); - - set_geo(&cylinders, &heads); - set_label(&vlabel, &format_params, cylinders); - - if (g.check) - check_disk_format(cylinders, heads, &format_params); - else - do_format_dasd(&vlabel, &format_params, cylinders, heads); + while (optind < argc) { + get_device_name(optind, argc, argv); + strncpy(g.dev_path_array[numdev], g.dev_path, strlen(g.dev_path)); + strncpy(g.dev_node_array[numdev], g.dev_node, strlen(g.dev_node)); + + optind++; + numdev++; + } + + if (!numdev) + error("%s: No device specified!\n", + prog_name); + + if (numdev > 1 && g.labelspec) + error("Specifying a volser to be written doesn't make sense when formatting multiple DASD volumes."); + + for (i = 0; i < numdev; i++) + { + strncpy(g.dev_path, g.dev_path_array[i], strlen(g.dev_path_array[i])+1); + strncpy(g.dev_node, g.dev_node_array[i], strlen(g.dev_node_array[i])+1); + process_dasd(&vlabel, format_params); + } free(g.dev_path); free(g.dev_node); ++++++ s390-tools-sles15sp3-Format-devices-in-parallel.patch ++++++ From a61154fd93122f5a0f2b74f21c3ac29eb437f150 Mon Sep 17 00:00:00 2001 From: Hannes Reinecke <[email protected]> Date: Fri, 6 Oct 2017 09:39:36 +0200 Subject: [PATCH] dasdfmt: Format devices in parallel Allow dasdfmt to run in parallel when several devices are specified. Signed-off-by: Hannes Reinecke <[email protected]> --- dasdfmt/dasdfmt.8 | 16 ++++++++++++++-- dasdfmt/dasdfmt.c | 50 +++++++++++++++++++++++++++++++++++++++++++------- dasdfmt/dasdfmt.h | 1 + 3 files changed, 58 insertions(+), 9 deletions(-) diff --git a/dasdfmt/dasdfmt.8 b/dasdfmt/dasdfmt.8 index e7fc501..07c674b 100644 --- a/dasdfmt/dasdfmt.8 +++ b/dasdfmt/dasdfmt.8 @@ -7,7 +7,7 @@ dasdfmt \- formatting of DASD (ECKD) disk drives. .SH SYNOPSIS -\fBdasdfmt\fR [-h] [-t] [-v] [-y] [-p] [-P] [-m \fIstep\fR] +\fBdasdfmt\fR [-h] [-t] [-v] [-y] [-p] [-Q] [-P] [-m \fIstep\fR] .br [-r \fIcylinder\fR] [-b \fIblksize\fR] [-l \fIvolser\fR] [-d \fIlayout\fR] .br @@ -96,7 +96,7 @@ Do not use this option if you are using a 3270 console, running in background or redirecting the output to a file. .TP -\fB-P\fR or \fB--percentage\fR +\fB-Q\fR or \fB--percentage\fR Print one line for each formatted cylinder showing the number of the cylinder and percentage of formatting process. Intended to be used by higher level interfaces. @@ -159,6 +159,18 @@ Specify blocksize to be used. \fIblksize\fR must be a positive integer and always be a power of two. The recommended blocksize is 4096 bytes. .TP +\fB-P\fR \fInumdisks\fR or \fB--max_parallel\fR=\fInumdisks\fR +Specify the number of disks to be formatted in parallel. +\fInumdisks\fR specifies the number of formatting processed, +independent on the overall number of disks to be formatted. +The maximum value for \fInumdisks\fR is 512. Default is 1. +.br +Using this option can decrease overall processing time when formatting +several disks. Please note that the I/O throughput will dramatically +increase when using this option. Use with care. +.br + +.TP \fB-l\fR \fIvolser\fR or \fB--label\fR=\fIvolser\fR Specify the volume serial number or volume identifier to be written to disk after formatting. If no label is specified, a sensible default --- s390-tools-2.15.1/dasdfmt/dasdfmt.c 2020-12-04 23:22:51.418265761 +0100 +++ s390-tools-2.15.1/dasdfmt/dasdfmt.c 2020-12-04 23:29:26.165601000 +0100 @@ -13,6 +13,7 @@ #include <sys/sysmacros.h> #include <sys/time.h> #include <sys/utsname.h> +#include <sys/wait.h> #include "lib/dasd_base.h" #include "lib/dasd_sys.h" @@ -81,6 +82,7 @@ int mode_specified; int ese; int no_discard; + int procnum; } g = { .dasd_info = { 0 }, }; @@ -105,6 +107,11 @@ .desc = "Perform complete format check on device", .flags = UTIL_OPT_FLAG_NOSHORT, }, + { + .option = { "max_parallel", required_argument, NULL, 'P' }, + .desc = "Format devices in parallel", + .flags = UTIL_OPT_FLAG_NOLONG, + }, UTIL_OPT_SECTION("FORMAT OPTIONS"), { .option = { "blocksize", required_argument, NULL, 'b' }, @@ -162,7 +170,7 @@ .desc = "Show a progressbar", }, { - .option = { "percentage", no_argument, NULL, 'P' }, + .option = { "percentage", no_argument, NULL, 'Q' }, .desc = "Show progress in percent", }, UTIL_OPT_SECTION("MISC"), @@ -297,7 +305,7 @@ p_old = p_new; barlength = cyl * 33 / cylinders; for (i = 1; i <= barlength; i++) - printf("#"); + printf("%d|", g.procnum); for (i = barlength + 1; i <= 33; i++) printf("-"); printf("|%3d%%", p_new); @@ -1560,7 +1568,11 @@ char *reqsize_param_str = NULL; char *hashstep_str = NULL; - int rc, numdev = 0, i; + int rc, numdev = 0, numproc = 0, status; + int max_parallel =1 ; + int running = 0; + int chpid; + int tmp; /* Establish a handler for interrupt signals. */ signal(SIGTERM, program_interrupt_signal); @@ -1623,7 +1635,7 @@ g.print_hashmarks = 1; } break; - case 'P': + case 'Q': if (!(g.print_hashmarks || g.print_progressbar)) g.print_percentage = 1; break; @@ -1682,6 +1694,9 @@ case OPT_NODISCARD: g.no_discard = 1; break; + case 'P': + max_parallel = atoi(optarg); + break; case OPT_CHECK: g.check = 1; break; @@ -1733,15 +1748,35 @@ if (numdev > 1 && g.labelspec) error("Specifying a volser to be written doesn't make sense when formatting multiple DASD volumes."); - for (i = 0; i < numdev; i++) - { - strncpy(g.dev_path, g.dev_path_array[i], strlen(g.dev_path_array[i])+1); - strncpy(g.dev_node, g.dev_node_array[i], strlen(g.dev_node_array[i])+1); - process_dasd(&vlabel, format_params); + for (numproc = 0; numproc < numdev; numproc++) { + chpid = fork(); + if (chpid == -1 ) + ERRMSG_EXIT(EXIT_FAILURE, + "%s: Unable to create child process: %s\n", + prog_name, strerror(errno)); + if (!chpid) { + g.procnum = numproc; + strncpy(g.dev_path, g.dev_path_array[numproc], strlen(g.dev_path_array[numproc])+1); + strncpy(g.dev_node, g.dev_node_array[numproc], strlen(g.dev_node_array[numproc])+1); + process_dasd(&vlabel, format_params); + + free(g.dev_path); + free(g.dev_node); + exit(0); + } else { + running++; + if (running >= max_parallel) { + if (wait(&tmp) > 0 && WEXITSTATUS(tmp)) + rc = WEXITSTATUS(tmp); + running--; + } + } } - free(g.dev_path); - free(g.dev_node); + /* wait until all formatting children have finished */ + while(wait(&status) > 0) + if (WEXITSTATUS(status)) + rc = WEXITSTATUS(status); - return 0; + return rc; } ++++++ s390-tools-sles15sp3-Implement-Y-yast_mode.patch ++++++ From eabcb26fa4a91d410a6f75a9915a9ebb9f702c6b Mon Sep 17 00:00:00 2001 From: Hannes Reinecke <[email protected]> Date: Fri, 6 Oct 2017 09:55:40 +0200 Subject: [PATCH] dasdfmt: Implement '-Y/--yast_mode' Implement an option '-Y' to suppress most output. Signed-off-by: Hannes Reinecke <[email protected]> --- dasdfmt/dasdfmt.8 | 7 ++++++- dasdfmt/dasdfmt.c | 27 ++++++++++++++++++++------- dasdfmt/dasdfmt.h | 1 + 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/dasdfmt/dasdfmt.8 b/dasdfmt/dasdfmt.8 index 07c674b..3fd10a2 100644 --- a/dasdfmt/dasdfmt.8 +++ b/dasdfmt/dasdfmt.8 @@ -7,7 +7,7 @@ dasdfmt \- formatting of DASD (ECKD) disk drives. .SH SYNOPSIS -\fBdasdfmt\fR [-h] [-t] [-v] [-y] [-p] [-Q] [-P] [-m \fIstep\fR] +\fBdasdfmt\fR [-h] [-t] [-v] [-y] [-p] [-Q] [-P] [-Y] [-m \fIstep\fR] .br [-r \fIcylinder\fR] [-b \fIblksize\fR] [-l \fIvolser\fR] [-d \fIlayout\fR] .br @@ -113,6 +113,11 @@ The value will be at least as big as the -r or --requestsize value. .br .TP +\fB-Y\fR or \fB--yast_mode\fR +YaST mode; suppress most output. +.br + +.TP \fB-M\fR \fImode\fR or \fB--mode\fR=\fImode\fR Specify the \fImode\fR to be used to format the device. Valid modes are: .RS diff --git a/dasdfmt/dasdfmt.c b/dasdfmt/dasdfmt.c index 6dd28fa..5b6023a 100644 --- a/dasdfmt/dasdfmt.c +++ b/dasdfmt/dasdfmt.c @@ -83,6 +83,7 @@ static struct dasdfmt_globals { int ese; int no_discard; int procnum; + int yast_mode; } g = { .dasd_info = { 0 }, }; @@ -172,6 +173,10 @@ static struct util_opt opt_vec[] = { .option = { "percentage", no_argument, NULL, 'Q' }, .desc = "Show progress in percent", }, + { + .option = { "yast_mode", no_argument, NULL, 'Y' }, + .desc = "YaST mode", + }, UTIL_OPT_SECTION("MISC"), { .option = { "check_host_count", no_argument, NULL, 'C' }, @@ -392,7 +397,7 @@ static void evaluate_format_error(format unsigned int kl = 0; int blksize = cdata->expect.blksize; - if (g.print_progressbar || g.print_hashmarks) + if ((g.print_progressbar || g.print_hashmarks) && !g.yast_mode) printf("\n"); /* @@ -780,8 +785,9 @@ static void check_hashmarks(void) g.hashstep = 10; } - printf("Printing hashmark every %d cylinders.\n", - g.hashstep); + if (!g.yast_mode) + printf("Printing hashmark every %d cylinders.\n", + g.hashstep); } } @@ -1462,17 +1468,19 @@ static void do_format_dasd(volume_label_ break; } - printf("Finished formatting the %s device.\n", g.dev_path); + if (!g.yast_mode) + printf("Finished formatting the %s device.\n", g.dev_path); if (!(g.writenolabel || mode == EXPAND)) dasdfmt_write_labels(vlabel, cylinders, heads); - printf("Rereading the partition table for %s... ", g.dev_path); + if (!g.yast_mode) + printf("Rereading the partition table for %s... ", g.dev_path); err = dasd_reread_partition_table(g.dev_node, 5); if (err != 0) { ERRMSG("%s: error during rereading the partition " "table: %s.\n", prog_name, strerror(err)); - } else { + } else if (!g.yast_mode) { printf("ok\n"); } } @@ -1693,6 +1701,10 @@ int main(int argc, char *argv[]) case OPT_NODISCARD: g.no_discard = 1; break; + case 'Y': + /* YaST mode */ + g.yast_mode = 1; + break; case 'P': max_parallel = atoi(optarg); break; -- 1.7.12.4 ++++++ s390-tools-sles15sp3-Implement-f-for-backwards-compability.patch ++++++ From 8f05578d90df49dce6e13ee850fdc8bab84916ba Mon Sep 17 00:00:00 2001 From: Hannes Reinecke <[email protected]> Date: Fri, 6 Oct 2017 12:23:32 +0200 Subject: [PATCH] dasdfmt: Implement '-f' for backwards compability YaST is calling dasdfmt with '-f device', which used to be the old calling convention. So to not keel over when used with an older version of YaST we should accept this option, too. Signed-off-by: Hannes Reinecke <[email protected]> --- dasdfmt/dasdfmt.8 | 6 +++++- dasdfmt/dasdfmt.c | 8 ++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/dasdfmt/dasdfmt.8 b/dasdfmt/dasdfmt.8 index 3fd10a2..7fdb4bd 100644 --- a/dasdfmt/dasdfmt.8 +++ b/dasdfmt/dasdfmt.8 @@ -11,7 +11,7 @@ dasdfmt \- formatting of DASD (ECKD) disk drives. .br [-r \fIcylinder\fR] [-b \fIblksize\fR] [-l \fIvolser\fR] [-d \fIlayout\fR] .br - [-L] [-V] [-F] [-k] [-C] [-M \fImode\fR] \fIdevice\fR [\fIdevice\fR] + [-L] [-V] [-F] [-k] [-C] [-M \fImode\fR] [-f \fIdevice\fR] [\fIdevice\fR] .SH DESCRIPTION \fBdasdfmt\fR formats one or several DASD (ECKD) disk drive to prepare it @@ -42,6 +42,10 @@ out, what it \fBwould\fR do. Increases verbosity. .TP +\fB-f\fR \fIdevice\fR or \fB--device\fR=\fIdevice\fR +Specify device to format. For backwards compability only. + +.TP \fB-y\fR Start formatting without further user-confirmation. diff --git a/dasdfmt/dasdfmt.c b/dasdfmt/dasdfmt.c index 5b6023a..cdd80df 100644 --- a/dasdfmt/dasdfmt.c +++ b/dasdfmt/dasdfmt.c @@ -113,6 +113,10 @@ .desc = "Format devices in parallel", .flags = UTIL_OPT_FLAG_NOLONG, }, + { + .option = { "device", required_argument, NULL, 'f' }, + .desc = "Specify device to format", + }, UTIL_OPT_SECTION("FORMAT OPTIONS"), { .option = { "blocksize", required_argument, NULL, 'b' }, @@ -1623,6 +1627,12 @@ } g.layout_specified = 1; break; + case 'f': + get_device_name(optind-1, argc, argv); + strncpy(g.dev_path_array[numdev], g.dev_path, strlen(g.dev_path)); + strncpy(g.dev_node_array[numdev], g.dev_node, strlen(g.dev_node)); + numdev++; + break; case 'y': g.withoutprompt = 1; break; -- 1.7.12.4 ++++++ s390-tools-sles15sp3-dasdfmt-Fix-segfault-when-an-incorrect-option-is-spe.patch ++++++ From 148d3f9b64da599adf453baf65e7a8596e2e7d97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20H=C3=B6ppner?= <[email protected]> Date: Mon, 2 Nov 2020 09:09:51 +0100 Subject: [PATCH] dasdfmt: Fix segfault when an incorrect option is specified MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When specifying an incorrect program option, dasdfmt segfaults as the format string for the corresponding error message has no parameter. Add the missing parameter to fix this. Fixes: 732b3dddab84 ("dasdfmt: Replace ERRMSG_EXIT macro with an error handling function") Signed-off-by: Jan Höppner <[email protected]> --- dasdfmt/dasdfmt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dasdfmt/dasdfmt.c b/dasdfmt/dasdfmt.c index a424f3c..5665f64 100644 --- a/dasdfmt/dasdfmt.c +++ b/dasdfmt/dasdfmt.c @@ -1637,7 +1637,7 @@ int main(int argc, char *argv[]) /* End of options string - start of devices list */ break; default: - error("Try '%s --help' for more information."); + error("Try '%s --help' for more information.", prog_name); } if (rc == -1) -- 2.26.2 ++++++ s390-tools-sles15sp3-dasdfmt-retry-BIODASDINFO-if-device-is-busy.patch ++++++ From 943e577440d74ad7f8787af2590c8ab4579a459b Mon Sep 17 00:00:00 2001 From: Hannes Reinecke <[email protected]> Date: Thu, 5 Nov 2015 10:57:38 +0100 Subject: [PATCH] dasdfmt: retry BIODASDINFO if device is busy Modern udev have the wonderful 'feature' to sending a 'change' event whenever a device opened with O_RDWR is closed again. The reasoning is that the said program _might_ have changed the partition table and hence we _might_ have missed a partition update. But in doing so it not only generated tons of pointless events but also confused the hell out of other programs. Idiots. References: bsc#937340 Signed-off-by: Hannes Reinecke <[email protected]> --- dasdfmt/dasdfmt.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/dasdfmt/dasdfmt.c b/dasdfmt/dasdfmt.c index e1877ac..f03cbad 100644 --- a/dasdfmt/dasdfmt.c +++ b/dasdfmt/dasdfmt.c @@ -619,7 +619,7 @@ */ static void check_disk(void) { - int err; + int err, index = 0 ; bool ro; err = dasd_is_ro(g.dev_node, &ro); @@ -629,6 +629,23 @@ if (ro) error("Disk %s is read only!", g.dev_path); if (!g.force) { + /* + * udev strikes again. + * Modern udev will issue a 'change' event whenever + * a device opened with O_RDWR is closed again. + * On the grounds that program _might_ have changed + * the partition table. + * And confusing the hell out ouf anyone else. + * Bah. + */ + for ( index = 0 ; index < 6 ; index++ ) { + if (g.dasd_info.open_count > 1) { + dasd_get_info(g.dev_node, &g.dasd_info); + sleep(1); + } + else break; + + } if (g.dasd_info.open_count > 1) error("Disk %s is in use!", g.dev_path); } -- 1.8.4.5 ++++++ s390-tools-sles15sp3-hsci-Add-new-tool-to-control-HiperSockets-Converged-.patch ++++++ ++++ 633 lines (skipped) ++++++ s390-tools-sles15sp3-libutil-Compare-proc-entries-to-vfstype.patch ++++++ From 8ec47052397a868c0764900db69fda4a892bd512 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20H=C3=B6ppner?= <[email protected]> Date: Fri, 6 Nov 2020 18:47:07 +0100 Subject: [PATCH] libutil: Compare proc entries to vfstype MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Modern systems have systemd manage system mount points like sysfs which specify 'sysfs' as a keyword for the device as there is no device associated with this special filesystem. However, any arbitrary string could be specified here and the determination of the sysfs mount point would fail in such a case. To make sure that the mount point of the sysfs is still found when mounted with a device keyword specified other than 'sysfs', check for the filesystem type instead, which is more specific. Fixes: https://github.com/ibm-s390-tools/s390-tools/issues/91 Suggested-by: Mark Post <[email protected]> Reviewed-by: Stefan Haberland <[email protected]> Signed-off-by: Jan Höppner <[email protected]> --- libutil/util_proc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libutil/util_proc.c b/libutil/util_proc.c index 080f831..9ac4381 100644 --- a/libutil/util_proc.c +++ b/libutil/util_proc.c @@ -460,7 +460,7 @@ int util_proc_mnt_get_entry(const char *file_name, const char *spec, rc = scan_mnt_entry(&file, entry); if (rc) goto out_free; - if (!strcmp(entry->spec, spec)) { + if (!strcmp(entry->vfstype, spec)) { rc = 0; goto out_free; } -- 2.26.2 ++++++ s390-tools-sles15sp3-zcryptstats-Fix-handling-of-partial-results-with-man.patch ++++++ Subject: [PATCH] [BZ 189239] zcryptstats: Fix handling of partial results with many domains From: Ingo Franzki <[email protected]> Description: zcryptstats: Fix handling of partial results with many domains Symptom: Running zcryptstats when many domains are available per cryto card does not produce any output, and is hanging in a loop. Problem: When many domains per card are available, then the results of the SCDMD CHSC call may not fit into the output area, and a partial result is returned. The further results must be retrieved with another CHSC call. Fix the code to pass the correct next-domain to the subsequent CHSC call of a partial response. Otherwise the same set of domains 1 to n are retrieved again, resulting in an infinite loop, because this will always produce a partial result. Solution: Fix the code to pass the correct next-domain to the subsequent CHSC call of a partial response. Reproduction: Run zcryptstats on a system with many domains per card. Upstream-ID: cf2311f1f1de17435b49ba8c8697be91705ba031 Problem-ID: 189239 Upstream-Description: zcryptstats: Fix handling of partial results with many domains When many domains per card are available, then the results of the SCDMD CHSC call may not fit into the output area, and a partial result is returned. The further results must be retrieved with another CHSC call. Fix the code to pass the correct next-domain to the subsequent CHSC call of a partial response. Otherwise the same set of domains 1 to n are retrieved again, resulting in an infinite loop, because this will always produce a partial result. Signed-off-by: Ingo Franzki <[email protected]> Reviewed-by: Harald Freudenberger <[email protected]> Signed-off-by: Jan Hoeppner <[email protected]> Signed-off-by: Ingo Franzki <[email protected]> --- zconf/zcrypt/zcryptstats.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) --- a/zconf/zcrypt/zcryptstats.c +++ b/zconf/zcrypt/zcryptstats.c @@ -1178,8 +1178,14 @@ static int get_apqn_measurement_data(uin scdmd_area.request.header.code = 0x102d; scdmd_area.request.header.length = sizeof(struct chsc_scdmd_request); - scdmd_area.request.first_drid.ap_index = card; - scdmd_area.request.first_drid.domain_index = g.min_domain; + if (scdmd_area.response.p) { + scdmd_area.request.first_drid = + scdmd_area.response.crid; + } else { + scdmd_area.request.first_drid.ap_index = card; + scdmd_area.request.first_drid.domain_index = + g.min_domain; + } scdmd_area.request.last_drid.ap_index = card; scdmd_area.request.last_drid.domain_index = g.max_domain; scdmd_area.request.s = 1; @@ -1217,10 +1223,6 @@ static int get_apqn_measurement_data(uin rc = process_apqn_measurement_data(&scdmd_area); if (rc != 0) break; - - if (scdmd_area.response.p) - scdmd_area.request.first_drid = - scdmd_area.response.crid; } while (scdmd_area.response.p); return rc; _______________________________________________ openSUSE Commits mailing list -- [email protected] To unsubscribe, email [email protected] List Netiquette: https://en.opensuse.org/openSUSE:Mailing_list_netiquette List Archives: https://lists.opensuse.org/archives/list/[email protected]
