Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package mdadm for openSUSE:Factory checked in at 2024-02-25 14:04:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mdadm (Old) and /work/SRC/openSUSE:Factory/.mdadm.new.1770 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mdadm" Sun Feb 25 14:04:46 2024 rev:147 rq:1149805 version:4.3 Changes: -------- --- /work/SRC/openSUSE:Factory/mdadm/mdadm.changes 2024-01-11 21:04:56.606055287 +0100 +++ /work/SRC/openSUSE:Factory/.mdadm.new.1770/mdadm.changes 2024-02-25 14:04:50.186115144 +0100 @@ -1,0 +2,163 @@ +Fri Feb 23 10:05:39 UTC 2024 - Coly Li <col...@suse.de> + +- Update mdadm-4.3 to latest status (jsc#PED-7542) + - Remove hardcoded checkpoint interval checking + 0001-Remove-hardcoded-checkpoint-interval-checking.patch + - monitor: refactor checkpoint update + 0002-monitor-refactor-checkpoint-update.patch + - Super-intel: Fix first checkpoint restart + 0003-Super-intel-Fix-first-checkpoint-restart.patch + - Grow: Move update_tail assign to Grow_reshape() + 0004-Grow-Move-update_tail-assign-to-Grow_reshape.patch + - Add understanding output section in man + 0005-Add-understanding-output-section-in-man.patch + +------------------------------------------------------------------- +Fri Feb 23 01:03:17 UTC 2024 - Coly Li <col...@suse.de> + +- Upgrade to mdadm-4.3 (jsc#PED-7542). Beside previous already back + ported patches, mdadm-4.3 has the following extra changes since + last update upto commit 582945c2d3bb, + - Fix null pointer for incremental in mdadm. + - Super1: fix truncation check for journal device. + - Fix some cases eyesore formatting. + - Bump minimum kernel version to 2.6.32. + - Remove the config files in mdcheck_start|continue service. + - Define DEV_MD_DIR, DEV_NUM_PREF, is_devname_ignore(), + ident_set_devname(). + - Enable RAID for SATA under VMD. + - Imsm: Fix possible segfault in check_no_platform() + - Imsm refactor on imsm_get_free_size(), merge_extents(). + - Imsm: return free space after volume for expand. + - Imsm: fix free space calculations. + - Add secure gethostname() wrapper. + - mdadm: Stop mdcheck_continue timer when mdcheck_start service can + finish check. + - Fix memory leak in files Assemble.c, Kill.c, Manage.c, mdadm.c. + - Fix unsafe string functions. + - platform-intel: limit guid length. + - Imsm: Add reading vmd register for finding imsm capability. + - Add compiler defenses flags. + - Assemble: fix redundant memory free. + - More regression test cases added into tests. + - Mdadm: set ident.devname if applicable. + - Mdadm: refactor ident->name handling. + - Mdadm: Follow POSIX Portable Character Set. + - Incremental: remove obsoleted calls to udisks. + - Fix race of "mdadm --add" and "mdadm --incremental". + - mdadm/ddf: Abort when raid disk is smaller in getinfo_super_ddf. + - mdadm/super1: Add MD_FEATURE_RAID0_LAYOUT if kernel>=5.4. + - Fix assembling RAID volume by using incremental. + - Mdmonitor: Improve udev event handling. + - Udev: Move udev_block() and udev_unblock() into udev.c. + - Manage: adjust checking subarray state in update_subarray. + - Super1: remove support for name= in config. + - Mdadm: fix update=resync regression. +- Rebase to keep consistent behavior for current code base. + - 1004-call-mdadm_env.sh-from-usr-libexec-mdadm.patch +- The following patches are moved from package because they are all + included in mdadm-4.3, + - 0001-Unify-error-message.patch + - 0002-mdadm-Fix-double-free.patch + - 0003-Grow_reshape-Add-r0-grow-size-error-message-and-upda.patch + - 0004-udev-adapt-rules-to-systemd-v247.patch + - 0005-Replace-error-prone-signal-with-sigaction.patch + - 0006-mdadm-Respect-config-file-location-in-man.patch + - 0007-mdadm-Update-ReadMe.patch + - 0008-mdadm-Update-config-man-regarding-default-files-and-.patch + - 0009-mdadm-Update-config-manual.patch + - 0010-Create-Build-use-default_layout.patch + - 0011-mdadm-add-map_num_s.patch + - 0012-mdmon-Stop-parsing-duplicate-options.patch + - 0013-Grow-block-n-on-external-volumes.patch + - 0014-Incremental-Fix-possible-memory-and-resource-leaks.patch + - 0015-Mdmonitor-Fix-segfault.patch + - 0016-Mdmonitor-Improve-logging-method.patch + - 0017-Fix-possible-NULL-ptr-dereferences-and-memory-leaks.patch + - 0018-imsm-Remove-possibility-for-get_imsm_dev-to-return-N.patch + - 0019-Revert-mdadm-fix-coredump-of-mdadm-monitor-r.patch + - 0020-util-replace-ioctl-use-with-function.patch + - 0021-mdadm-super1-restore-commit-45a87c2f31335-to-fix-clu.patch + - 0022-imsm-introduce-get_disk_slot_in_dev.patch + - 0023-imsm-use-same-slot-across-container.patch + - 0024-imsm-block-changing-slots-during-creation.patch + - 0025-mdadm-block-update-ppl-for-non-raid456-levels.patch + - 0026-mdadm-Fix-array-size-mismatch-after-grow.patch + - 0027-mdadm-Remove-dead-code-in-imsm_fix_size_mismatch.patch + - 0028-Monitor-use-devname-as-char-array-instead-of-pointer.patch + - 0029-Monitor-use-snprintf-to-fill-device-name.patch + - 0030-Makefile-Don-t-build-static-build-with-everything-an.patch + - 0031-DDF-Cleanup-validate_geometry_ddf_container.patch + - 0032-DDF-Fix-NULL-pointer-dereference-in-validate_geometr.patch + - 0033-mdadm-Grow-Fix-use-after-close-bug-by-closing-after-.patch + - 0034-monitor-Avoid-segfault-when-calling-NULL-get_bad_blo.patch + - 0035-mdadm-Fix-mdadm-r-remove-option-regression.patch + - 0036-mdadm-Fix-optional-write-behind-parameter.patch + - 0037-mdadm-Replace-obsolete-usleep-with-nanosleep.patch + - 0038-mdadm-remove-symlink-option.patch + - 0039-mdadm-move-data_offset-to-struct-shape.patch + - 0040-mdadm-Don-t-open-md-device-for-CREATE-and-ASSEMBLE.patch + - 0041-Grow-Split-Grow_reshape-into-helper-function.patch + - 0042-Assemble-check-if-device-is-container-before-schedul.patch + - 0043-super1-report-truncated-device.patch + - 0044-mdadm-Correct-typos-punctuation-and-grammar-in-man.patch + - 0046-Monitor-Fix-statelist-memory-leaks.patch + - 0047-mdadm-added-support-for-Intel-Alderlake-RST-on-VMD-p.patch + - 0048-mdadm-Add-Documentation-entries-to-systemd-services.patch + - 0049-ReadMe-fix-command-line-help.patch + - 0050-mdadm-replace-container-level-checking-with-inline.patch + - 0051-Mdmonitor-Omit-non-md-devices.patch + - 0052-mdmon-fix-segfault.patch + - 0053-util-remove-obsolete-code-from-get_md_name.patch + - 0054-mdmon-don-t-test-both-all-and-container_name.patch + - 0055-mdmon-change-systemd-unit-file-to-use-foreground.patch + - 0056-mdmon-Remove-need-for-KillMode-none.patch + - 0057-mdmon-Improve-switchroot-interactions.patch + - 0058-mdopen-always-try-create_named_array.patch + - 0059-Improvements-for-IMSM_NO_PLATFORM-testing.patch + - 0060-Grow-fix-possible-memory-leak.patch + - 0061-Grow-fix-can-t-change-bitmap-type-from-none-to-clustered.patch + - 0062-Manage-Block-unsafe-member-failing.patch + - 0063-Mdmonitor-Split-alert-into-separate-functions.patch + - 0064-Monitor-block-if-monitor-modes-are-combined.patch + - 0065-Update-mdadm-Monitor-manual.patch + - 0066-mdadm-create-ident_init.patch + - 0067-mdadm-Add-option-validation-for-update-subarray.patch + - 0068-Fix-update-subarray-on-active-volume.patch + - 0069-Add-code-specific-update-options-to-enum.patch + - 0070-super-ddf-Remove-update_super_ddf.patch + - 0071-super0-refactor-the-code-for-enum.patch + - 0072-super1-refactor-the-code-for-enum.patch + - 0073-super-intel-refactor-the-code-for-enum.patch + - 0074-Change-update-to-enum-in-update_super-and-update_sub.patch + - 0075-Manage-Incremental-code-refactor-string-to-enum.patch + - 0076-Change-char-to-enum-in-context-update-refactor-code.patch + - 0077-mdadm-udev-Don-t-handle-change-event-on-raw-devices.patch + - 0078-Manage-do-not-check-array-state-when-drive-is-remove.patch + - 0079-incremental-manage-do-not-verify-if-remove-is-safe.patch + - 0080-super-intel-make-freesize-not-required-for-chunk-siz.patch + - 0081-manage-move-comment-with-function-description.patch + - 0082-Fix-NULL-dereference-in-super_by_fd.patch + - 0083-Mdmonitor-Make-alert_info-global.patch + - 0084-Mdmonitor-Pass-events-to-alert-using-enums-instead-o.patch + - 0085-Mdmonitor-Add-helper-functions.patch + - 0086-Add-helpers-to-determine-whether-directories-or-file.patch + - 0087-Mdmonitor-Refactor-write_autorebuild_pid.patch + - 0088-Mdmonitor-Refactor-check_one_sharer-for-better-error.patch + - 0089-util.c-reorder-code-lines-in-parse_layout_faulty.patch + - 0090-util.c-fix-memleak-in-parse_layout_faulty.patch + - 0091-Detail.c-fix-memleak-in-Detail.patch + - 0092-isuper-intel.c-fix-double-free-in-load_imsm_mpb.patch + - 0093-super-intel.c-fix-memleak-in-find_disk_attached_hba.patch + - 0094-super-ddf.c-fix-memleak-in-get_vd_num_of_subarray.patch + - 0095-Create-goto-abort_locked-instead-of-return-1-in-erro.patch + - 0096-Create-remove-safe_mode_delay-local-variable.patch + - 0097-Create-Factor-out-add_disks-helpers.patch + - 0098-mdadm-Introduce-pr_info.patch + - 0099-mdadm-Add-write-zeros-option-for-Create.patch + - 0100-manpage-Add-write-zeroes-option-to-manpage.patch + - 0101-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch + - 0102-Use-existence-of-etc-initrd-release-to-detect-initrd.patch + - 0103-Create-Fix-checking-for-container-in-update_metadata.patch + +------------------------------------------------------------------- Old: ---- 0001-Unify-error-message.patch 0002-mdadm-Fix-double-free.patch 0003-Grow_reshape-Add-r0-grow-size-error-message-and-upda.patch 0004-udev-adapt-rules-to-systemd-v247.patch 0005-Replace-error-prone-signal-with-sigaction.patch 0006-mdadm-Respect-config-file-location-in-man.patch 0007-mdadm-Update-ReadMe.patch 0008-mdadm-Update-config-man-regarding-default-files-and-.patch 0009-mdadm-Update-config-manual.patch 0010-Create-Build-use-default_layout.patch 0011-mdadm-add-map_num_s.patch 0012-mdmon-Stop-parsing-duplicate-options.patch 0013-Grow-block-n-on-external-volumes.patch 0014-Incremental-Fix-possible-memory-and-resource-leaks.patch 0015-Mdmonitor-Fix-segfault.patch 0016-Mdmonitor-Improve-logging-method.patch 0017-Fix-possible-NULL-ptr-dereferences-and-memory-leaks.patch 0018-imsm-Remove-possibility-for-get_imsm_dev-to-return-N.patch 0019-Revert-mdadm-fix-coredump-of-mdadm-monitor-r.patch 0020-util-replace-ioctl-use-with-function.patch 0021-mdadm-super1-restore-commit-45a87c2f31335-to-fix-clu.patch 0022-imsm-introduce-get_disk_slot_in_dev.patch 0023-imsm-use-same-slot-across-container.patch 0024-imsm-block-changing-slots-during-creation.patch 0025-mdadm-block-update-ppl-for-non-raid456-levels.patch 0026-mdadm-Fix-array-size-mismatch-after-grow.patch 0027-mdadm-Remove-dead-code-in-imsm_fix_size_mismatch.patch 0028-Monitor-use-devname-as-char-array-instead-of-pointer.patch 0029-Monitor-use-snprintf-to-fill-device-name.patch 0030-Makefile-Don-t-build-static-build-with-everything-an.patch 0031-DDF-Cleanup-validate_geometry_ddf_container.patch 0032-DDF-Fix-NULL-pointer-dereference-in-validate_geometr.patch 0033-mdadm-Grow-Fix-use-after-close-bug-by-closing-after-.patch 0034-monitor-Avoid-segfault-when-calling-NULL-get_bad_blo.patch 0035-mdadm-Fix-mdadm-r-remove-option-regression.patch 0036-mdadm-Fix-optional-write-behind-parameter.patch 0037-mdadm-Replace-obsolete-usleep-with-nanosleep.patch 0038-mdadm-remove-symlink-option.patch 0039-mdadm-move-data_offset-to-struct-shape.patch 0040-mdadm-Don-t-open-md-device-for-CREATE-and-ASSEMBLE.patch 0041-Grow-Split-Grow_reshape-into-helper-function.patch 0042-Assemble-check-if-device-is-container-before-schedul.patch 0043-super1-report-truncated-device.patch 0044-mdadm-Correct-typos-punctuation-and-grammar-in-man.patch 0046-Monitor-Fix-statelist-memory-leaks.patch 0047-mdadm-added-support-for-Intel-Alderlake-RST-on-VMD-p.patch 0048-mdadm-Add-Documentation-entries-to-systemd-services.patch 0049-ReadMe-fix-command-line-help.patch 0050-mdadm-replace-container-level-checking-with-inline.patch 0051-Mdmonitor-Omit-non-md-devices.patch 0052-mdmon-fix-segfault.patch 0053-util-remove-obsolete-code-from-get_md_name.patch 0054-mdmon-don-t-test-both-all-and-container_name.patch 0055-mdmon-change-systemd-unit-file-to-use-foreground.patch 0056-mdmon-Remove-need-for-KillMode-none.patch 0057-mdmon-Improve-switchroot-interactions.patch 0058-mdopen-always-try-create_named_array.patch 0059-Improvements-for-IMSM_NO_PLATFORM-testing.patch 0060-Grow-fix-possible-memory-leak.patch 0061-Grow-fix-can-t-change-bitmap-type-from-none-to-clustered.patch 0062-Manage-Block-unsafe-member-failing.patch 0063-Mdmonitor-Split-alert-into-separate-functions.patch 0064-Monitor-block-if-monitor-modes-are-combined.patch 0065-Update-mdadm-Monitor-manual.patch 0066-mdadm-create-ident_init.patch 0067-mdadm-Add-option-validation-for-update-subarray.patch 0068-Fix-update-subarray-on-active-volume.patch 0069-Add-code-specific-update-options-to-enum.patch 0070-super-ddf-Remove-update_super_ddf.patch 0071-super0-refactor-the-code-for-enum.patch 0072-super1-refactor-the-code-for-enum.patch 0073-super-intel-refactor-the-code-for-enum.patch 0074-Change-update-to-enum-in-update_super-and-update_sub.patch 0075-Manage-Incremental-code-refactor-string-to-enum.patch 0076-Change-char-to-enum-in-context-update-refactor-code.patch 0077-mdadm-udev-Don-t-handle-change-event-on-raw-devices.patch 0078-Manage-do-not-check-array-state-when-drive-is-remove.patch 0079-incremental-manage-do-not-verify-if-remove-is-safe.patch 0080-super-intel-make-freesize-not-required-for-chunk-siz.patch 0081-manage-move-comment-with-function-description.patch 0082-Fix-NULL-dereference-in-super_by_fd.patch 0083-Mdmonitor-Make-alert_info-global.patch 0084-Mdmonitor-Pass-events-to-alert-using-enums-instead-o.patch 0085-Mdmonitor-Add-helper-functions.patch 0086-Add-helpers-to-determine-whether-directories-or-file.patch 0087-Mdmonitor-Refactor-write_autorebuild_pid.patch 0088-Mdmonitor-Refactor-check_one_sharer-for-better-error.patch 0089-util.c-reorder-code-lines-in-parse_layout_faulty.patch 0090-util.c-fix-memleak-in-parse_layout_faulty.patch 0091-Detail.c-fix-memleak-in-Detail.patch 0092-isuper-intel.c-fix-double-free-in-load_imsm_mpb.patch 0093-super-intel.c-fix-memleak-in-find_disk_attached_hba.patch 0094-super-ddf.c-fix-memleak-in-get_vd_num_of_subarray.patch 0095-Create-goto-abort_locked-instead-of-return-1-in-erro.patch 0096-Create-remove-safe_mode_delay-local-variable.patch 0097-Create-Factor-out-add_disks-helpers.patch 0098-mdadm-Introduce-pr_info.patch 0099-mdadm-Add-write-zeros-option-for-Create.patch 0100-manpage-Add-write-zeroes-option-to-manpage.patch 0101-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch 0102-Use-existence-of-etc-initrd-release-to-detect-initrd.patch 0103-Create-Fix-checking-for-container-in-update_metadata.patch mdadm-4.2.tar.xz New: ---- 0001-Remove-hardcoded-checkpoint-interval-checking.patch 0002-monitor-refactor-checkpoint-update.patch 0003-Super-intel-Fix-first-checkpoint-restart.patch 0004-Grow-Move-update_tail-assign-to-Grow_reshape.patch 0005-Add-understanding-output-section-in-man.patch mdadm-4.3.tar.xz BETA DEBUG BEGIN: Old: included in mdadm-4.3, - 0001-Unify-error-message.patch - 0002-mdadm-Fix-double-free.patch Old: - 0001-Unify-error-message.patch - 0002-mdadm-Fix-double-free.patch - 0003-Grow_reshape-Add-r0-grow-size-error-message-and-upda.patch Old: - 0002-mdadm-Fix-double-free.patch - 0003-Grow_reshape-Add-r0-grow-size-error-message-and-upda.patch - 0004-udev-adapt-rules-to-systemd-v247.patch Old: - 0003-Grow_reshape-Add-r0-grow-size-error-message-and-upda.patch - 0004-udev-adapt-rules-to-systemd-v247.patch - 0005-Replace-error-prone-signal-with-sigaction.patch Old: - 0004-udev-adapt-rules-to-systemd-v247.patch - 0005-Replace-error-prone-signal-with-sigaction.patch - 0006-mdadm-Respect-config-file-location-in-man.patch Old: - 0005-Replace-error-prone-signal-with-sigaction.patch - 0006-mdadm-Respect-config-file-location-in-man.patch - 0007-mdadm-Update-ReadMe.patch Old: - 0006-mdadm-Respect-config-file-location-in-man.patch - 0007-mdadm-Update-ReadMe.patch - 0008-mdadm-Update-config-man-regarding-default-files-and-.patch Old: - 0007-mdadm-Update-ReadMe.patch - 0008-mdadm-Update-config-man-regarding-default-files-and-.patch - 0009-mdadm-Update-config-manual.patch Old: - 0008-mdadm-Update-config-man-regarding-default-files-and-.patch - 0009-mdadm-Update-config-manual.patch - 0010-Create-Build-use-default_layout.patch Old: - 0009-mdadm-Update-config-manual.patch - 0010-Create-Build-use-default_layout.patch - 0011-mdadm-add-map_num_s.patch Old: - 0010-Create-Build-use-default_layout.patch - 0011-mdadm-add-map_num_s.patch - 0012-mdmon-Stop-parsing-duplicate-options.patch Old: - 0011-mdadm-add-map_num_s.patch - 0012-mdmon-Stop-parsing-duplicate-options.patch - 0013-Grow-block-n-on-external-volumes.patch Old: - 0012-mdmon-Stop-parsing-duplicate-options.patch - 0013-Grow-block-n-on-external-volumes.patch - 0014-Incremental-Fix-possible-memory-and-resource-leaks.patch Old: - 0013-Grow-block-n-on-external-volumes.patch - 0014-Incremental-Fix-possible-memory-and-resource-leaks.patch - 0015-Mdmonitor-Fix-segfault.patch Old: - 0014-Incremental-Fix-possible-memory-and-resource-leaks.patch - 0015-Mdmonitor-Fix-segfault.patch - 0016-Mdmonitor-Improve-logging-method.patch Old: - 0015-Mdmonitor-Fix-segfault.patch - 0016-Mdmonitor-Improve-logging-method.patch - 0017-Fix-possible-NULL-ptr-dereferences-and-memory-leaks.patch Old: - 0016-Mdmonitor-Improve-logging-method.patch - 0017-Fix-possible-NULL-ptr-dereferences-and-memory-leaks.patch - 0018-imsm-Remove-possibility-for-get_imsm_dev-to-return-N.patch Old: - 0017-Fix-possible-NULL-ptr-dereferences-and-memory-leaks.patch - 0018-imsm-Remove-possibility-for-get_imsm_dev-to-return-N.patch - 0019-Revert-mdadm-fix-coredump-of-mdadm-monitor-r.patch Old: - 0018-imsm-Remove-possibility-for-get_imsm_dev-to-return-N.patch - 0019-Revert-mdadm-fix-coredump-of-mdadm-monitor-r.patch - 0020-util-replace-ioctl-use-with-function.patch Old: - 0019-Revert-mdadm-fix-coredump-of-mdadm-monitor-r.patch - 0020-util-replace-ioctl-use-with-function.patch - 0021-mdadm-super1-restore-commit-45a87c2f31335-to-fix-clu.patch Old: - 0020-util-replace-ioctl-use-with-function.patch - 0021-mdadm-super1-restore-commit-45a87c2f31335-to-fix-clu.patch - 0022-imsm-introduce-get_disk_slot_in_dev.patch Old: - 0021-mdadm-super1-restore-commit-45a87c2f31335-to-fix-clu.patch - 0022-imsm-introduce-get_disk_slot_in_dev.patch - 0023-imsm-use-same-slot-across-container.patch Old: - 0022-imsm-introduce-get_disk_slot_in_dev.patch - 0023-imsm-use-same-slot-across-container.patch - 0024-imsm-block-changing-slots-during-creation.patch Old: - 0023-imsm-use-same-slot-across-container.patch - 0024-imsm-block-changing-slots-during-creation.patch - 0025-mdadm-block-update-ppl-for-non-raid456-levels.patch Old: - 0024-imsm-block-changing-slots-during-creation.patch - 0025-mdadm-block-update-ppl-for-non-raid456-levels.patch - 0026-mdadm-Fix-array-size-mismatch-after-grow.patch Old: - 0025-mdadm-block-update-ppl-for-non-raid456-levels.patch - 0026-mdadm-Fix-array-size-mismatch-after-grow.patch - 0027-mdadm-Remove-dead-code-in-imsm_fix_size_mismatch.patch Old: - 0026-mdadm-Fix-array-size-mismatch-after-grow.patch - 0027-mdadm-Remove-dead-code-in-imsm_fix_size_mismatch.patch - 0028-Monitor-use-devname-as-char-array-instead-of-pointer.patch Old: - 0027-mdadm-Remove-dead-code-in-imsm_fix_size_mismatch.patch - 0028-Monitor-use-devname-as-char-array-instead-of-pointer.patch - 0029-Monitor-use-snprintf-to-fill-device-name.patch Old: - 0028-Monitor-use-devname-as-char-array-instead-of-pointer.patch - 0029-Monitor-use-snprintf-to-fill-device-name.patch - 0030-Makefile-Don-t-build-static-build-with-everything-an.patch Old: - 0029-Monitor-use-snprintf-to-fill-device-name.patch - 0030-Makefile-Don-t-build-static-build-with-everything-an.patch - 0031-DDF-Cleanup-validate_geometry_ddf_container.patch Old: - 0030-Makefile-Don-t-build-static-build-with-everything-an.patch - 0031-DDF-Cleanup-validate_geometry_ddf_container.patch - 0032-DDF-Fix-NULL-pointer-dereference-in-validate_geometr.patch Old: - 0031-DDF-Cleanup-validate_geometry_ddf_container.patch - 0032-DDF-Fix-NULL-pointer-dereference-in-validate_geometr.patch - 0033-mdadm-Grow-Fix-use-after-close-bug-by-closing-after-.patch Old: - 0032-DDF-Fix-NULL-pointer-dereference-in-validate_geometr.patch - 0033-mdadm-Grow-Fix-use-after-close-bug-by-closing-after-.patch - 0034-monitor-Avoid-segfault-when-calling-NULL-get_bad_blo.patch Old: - 0033-mdadm-Grow-Fix-use-after-close-bug-by-closing-after-.patch - 0034-monitor-Avoid-segfault-when-calling-NULL-get_bad_blo.patch - 0035-mdadm-Fix-mdadm-r-remove-option-regression.patch Old: - 0034-monitor-Avoid-segfault-when-calling-NULL-get_bad_blo.patch - 0035-mdadm-Fix-mdadm-r-remove-option-regression.patch - 0036-mdadm-Fix-optional-write-behind-parameter.patch Old: - 0035-mdadm-Fix-mdadm-r-remove-option-regression.patch - 0036-mdadm-Fix-optional-write-behind-parameter.patch - 0037-mdadm-Replace-obsolete-usleep-with-nanosleep.patch Old: - 0036-mdadm-Fix-optional-write-behind-parameter.patch - 0037-mdadm-Replace-obsolete-usleep-with-nanosleep.patch - 0038-mdadm-remove-symlink-option.patch Old: - 0037-mdadm-Replace-obsolete-usleep-with-nanosleep.patch - 0038-mdadm-remove-symlink-option.patch - 0039-mdadm-move-data_offset-to-struct-shape.patch Old: - 0038-mdadm-remove-symlink-option.patch - 0039-mdadm-move-data_offset-to-struct-shape.patch - 0040-mdadm-Don-t-open-md-device-for-CREATE-and-ASSEMBLE.patch Old: - 0039-mdadm-move-data_offset-to-struct-shape.patch - 0040-mdadm-Don-t-open-md-device-for-CREATE-and-ASSEMBLE.patch - 0041-Grow-Split-Grow_reshape-into-helper-function.patch Old: - 0040-mdadm-Don-t-open-md-device-for-CREATE-and-ASSEMBLE.patch - 0041-Grow-Split-Grow_reshape-into-helper-function.patch - 0042-Assemble-check-if-device-is-container-before-schedul.patch Old: - 0041-Grow-Split-Grow_reshape-into-helper-function.patch - 0042-Assemble-check-if-device-is-container-before-schedul.patch - 0043-super1-report-truncated-device.patch Old: - 0042-Assemble-check-if-device-is-container-before-schedul.patch - 0043-super1-report-truncated-device.patch - 0044-mdadm-Correct-typos-punctuation-and-grammar-in-man.patch Old: - 0043-super1-report-truncated-device.patch - 0044-mdadm-Correct-typos-punctuation-and-grammar-in-man.patch - 0046-Monitor-Fix-statelist-memory-leaks.patch Old: - 0044-mdadm-Correct-typos-punctuation-and-grammar-in-man.patch - 0046-Monitor-Fix-statelist-memory-leaks.patch - 0047-mdadm-added-support-for-Intel-Alderlake-RST-on-VMD-p.patch Old: - 0046-Monitor-Fix-statelist-memory-leaks.patch - 0047-mdadm-added-support-for-Intel-Alderlake-RST-on-VMD-p.patch - 0048-mdadm-Add-Documentation-entries-to-systemd-services.patch Old: - 0047-mdadm-added-support-for-Intel-Alderlake-RST-on-VMD-p.patch - 0048-mdadm-Add-Documentation-entries-to-systemd-services.patch - 0049-ReadMe-fix-command-line-help.patch Old: - 0048-mdadm-Add-Documentation-entries-to-systemd-services.patch - 0049-ReadMe-fix-command-line-help.patch - 0050-mdadm-replace-container-level-checking-with-inline.patch Old: - 0049-ReadMe-fix-command-line-help.patch - 0050-mdadm-replace-container-level-checking-with-inline.patch - 0051-Mdmonitor-Omit-non-md-devices.patch Old: - 0050-mdadm-replace-container-level-checking-with-inline.patch - 0051-Mdmonitor-Omit-non-md-devices.patch - 0052-mdmon-fix-segfault.patch Old: - 0051-Mdmonitor-Omit-non-md-devices.patch - 0052-mdmon-fix-segfault.patch - 0053-util-remove-obsolete-code-from-get_md_name.patch Old: - 0052-mdmon-fix-segfault.patch - 0053-util-remove-obsolete-code-from-get_md_name.patch - 0054-mdmon-don-t-test-both-all-and-container_name.patch Old: - 0053-util-remove-obsolete-code-from-get_md_name.patch - 0054-mdmon-don-t-test-both-all-and-container_name.patch - 0055-mdmon-change-systemd-unit-file-to-use-foreground.patch Old: - 0054-mdmon-don-t-test-both-all-and-container_name.patch - 0055-mdmon-change-systemd-unit-file-to-use-foreground.patch - 0056-mdmon-Remove-need-for-KillMode-none.patch Old: - 0055-mdmon-change-systemd-unit-file-to-use-foreground.patch - 0056-mdmon-Remove-need-for-KillMode-none.patch - 0057-mdmon-Improve-switchroot-interactions.patch Old: - 0056-mdmon-Remove-need-for-KillMode-none.patch - 0057-mdmon-Improve-switchroot-interactions.patch - 0058-mdopen-always-try-create_named_array.patch Old: - 0057-mdmon-Improve-switchroot-interactions.patch - 0058-mdopen-always-try-create_named_array.patch - 0059-Improvements-for-IMSM_NO_PLATFORM-testing.patch Old: - 0058-mdopen-always-try-create_named_array.patch - 0059-Improvements-for-IMSM_NO_PLATFORM-testing.patch - 0060-Grow-fix-possible-memory-leak.patch Old: - 0059-Improvements-for-IMSM_NO_PLATFORM-testing.patch - 0060-Grow-fix-possible-memory-leak.patch - 0061-Grow-fix-can-t-change-bitmap-type-from-none-to-clustered.patch Old: - 0060-Grow-fix-possible-memory-leak.patch - 0061-Grow-fix-can-t-change-bitmap-type-from-none-to-clustered.patch - 0062-Manage-Block-unsafe-member-failing.patch Old: - 0061-Grow-fix-can-t-change-bitmap-type-from-none-to-clustered.patch - 0062-Manage-Block-unsafe-member-failing.patch - 0063-Mdmonitor-Split-alert-into-separate-functions.patch Old: - 0062-Manage-Block-unsafe-member-failing.patch - 0063-Mdmonitor-Split-alert-into-separate-functions.patch - 0064-Monitor-block-if-monitor-modes-are-combined.patch Old: - 0063-Mdmonitor-Split-alert-into-separate-functions.patch - 0064-Monitor-block-if-monitor-modes-are-combined.patch - 0065-Update-mdadm-Monitor-manual.patch Old: - 0064-Monitor-block-if-monitor-modes-are-combined.patch - 0065-Update-mdadm-Monitor-manual.patch - 0066-mdadm-create-ident_init.patch Old: - 0065-Update-mdadm-Monitor-manual.patch - 0066-mdadm-create-ident_init.patch - 0067-mdadm-Add-option-validation-for-update-subarray.patch Old: - 0066-mdadm-create-ident_init.patch - 0067-mdadm-Add-option-validation-for-update-subarray.patch - 0068-Fix-update-subarray-on-active-volume.patch Old: - 0067-mdadm-Add-option-validation-for-update-subarray.patch - 0068-Fix-update-subarray-on-active-volume.patch - 0069-Add-code-specific-update-options-to-enum.patch Old: - 0068-Fix-update-subarray-on-active-volume.patch - 0069-Add-code-specific-update-options-to-enum.patch - 0070-super-ddf-Remove-update_super_ddf.patch Old: - 0069-Add-code-specific-update-options-to-enum.patch - 0070-super-ddf-Remove-update_super_ddf.patch - 0071-super0-refactor-the-code-for-enum.patch Old: - 0070-super-ddf-Remove-update_super_ddf.patch - 0071-super0-refactor-the-code-for-enum.patch - 0072-super1-refactor-the-code-for-enum.patch Old: - 0071-super0-refactor-the-code-for-enum.patch - 0072-super1-refactor-the-code-for-enum.patch - 0073-super-intel-refactor-the-code-for-enum.patch Old: - 0072-super1-refactor-the-code-for-enum.patch - 0073-super-intel-refactor-the-code-for-enum.patch - 0074-Change-update-to-enum-in-update_super-and-update_sub.patch Old: - 0073-super-intel-refactor-the-code-for-enum.patch - 0074-Change-update-to-enum-in-update_super-and-update_sub.patch - 0075-Manage-Incremental-code-refactor-string-to-enum.patch Old: - 0074-Change-update-to-enum-in-update_super-and-update_sub.patch - 0075-Manage-Incremental-code-refactor-string-to-enum.patch - 0076-Change-char-to-enum-in-context-update-refactor-code.patch Old: - 0075-Manage-Incremental-code-refactor-string-to-enum.patch - 0076-Change-char-to-enum-in-context-update-refactor-code.patch - 0077-mdadm-udev-Don-t-handle-change-event-on-raw-devices.patch Old: - 0076-Change-char-to-enum-in-context-update-refactor-code.patch - 0077-mdadm-udev-Don-t-handle-change-event-on-raw-devices.patch - 0078-Manage-do-not-check-array-state-when-drive-is-remove.patch Old: - 0077-mdadm-udev-Don-t-handle-change-event-on-raw-devices.patch - 0078-Manage-do-not-check-array-state-when-drive-is-remove.patch - 0079-incremental-manage-do-not-verify-if-remove-is-safe.patch Old: - 0078-Manage-do-not-check-array-state-when-drive-is-remove.patch - 0079-incremental-manage-do-not-verify-if-remove-is-safe.patch - 0080-super-intel-make-freesize-not-required-for-chunk-siz.patch Old: - 0079-incremental-manage-do-not-verify-if-remove-is-safe.patch - 0080-super-intel-make-freesize-not-required-for-chunk-siz.patch - 0081-manage-move-comment-with-function-description.patch Old: - 0080-super-intel-make-freesize-not-required-for-chunk-siz.patch - 0081-manage-move-comment-with-function-description.patch - 0082-Fix-NULL-dereference-in-super_by_fd.patch Old: - 0081-manage-move-comment-with-function-description.patch - 0082-Fix-NULL-dereference-in-super_by_fd.patch - 0083-Mdmonitor-Make-alert_info-global.patch Old: - 0082-Fix-NULL-dereference-in-super_by_fd.patch - 0083-Mdmonitor-Make-alert_info-global.patch - 0084-Mdmonitor-Pass-events-to-alert-using-enums-instead-o.patch Old: - 0083-Mdmonitor-Make-alert_info-global.patch - 0084-Mdmonitor-Pass-events-to-alert-using-enums-instead-o.patch - 0085-Mdmonitor-Add-helper-functions.patch Old: - 0084-Mdmonitor-Pass-events-to-alert-using-enums-instead-o.patch - 0085-Mdmonitor-Add-helper-functions.patch - 0086-Add-helpers-to-determine-whether-directories-or-file.patch Old: - 0085-Mdmonitor-Add-helper-functions.patch - 0086-Add-helpers-to-determine-whether-directories-or-file.patch - 0087-Mdmonitor-Refactor-write_autorebuild_pid.patch Old: - 0086-Add-helpers-to-determine-whether-directories-or-file.patch - 0087-Mdmonitor-Refactor-write_autorebuild_pid.patch - 0088-Mdmonitor-Refactor-check_one_sharer-for-better-error.patch Old: - 0087-Mdmonitor-Refactor-write_autorebuild_pid.patch - 0088-Mdmonitor-Refactor-check_one_sharer-for-better-error.patch - 0089-util.c-reorder-code-lines-in-parse_layout_faulty.patch Old: - 0088-Mdmonitor-Refactor-check_one_sharer-for-better-error.patch - 0089-util.c-reorder-code-lines-in-parse_layout_faulty.patch - 0090-util.c-fix-memleak-in-parse_layout_faulty.patch Old: - 0089-util.c-reorder-code-lines-in-parse_layout_faulty.patch - 0090-util.c-fix-memleak-in-parse_layout_faulty.patch - 0091-Detail.c-fix-memleak-in-Detail.patch Old: - 0090-util.c-fix-memleak-in-parse_layout_faulty.patch - 0091-Detail.c-fix-memleak-in-Detail.patch - 0092-isuper-intel.c-fix-double-free-in-load_imsm_mpb.patch Old: - 0091-Detail.c-fix-memleak-in-Detail.patch - 0092-isuper-intel.c-fix-double-free-in-load_imsm_mpb.patch - 0093-super-intel.c-fix-memleak-in-find_disk_attached_hba.patch Old: - 0092-isuper-intel.c-fix-double-free-in-load_imsm_mpb.patch - 0093-super-intel.c-fix-memleak-in-find_disk_attached_hba.patch - 0094-super-ddf.c-fix-memleak-in-get_vd_num_of_subarray.patch Old: - 0093-super-intel.c-fix-memleak-in-find_disk_attached_hba.patch - 0094-super-ddf.c-fix-memleak-in-get_vd_num_of_subarray.patch - 0095-Create-goto-abort_locked-instead-of-return-1-in-erro.patch Old: - 0094-super-ddf.c-fix-memleak-in-get_vd_num_of_subarray.patch - 0095-Create-goto-abort_locked-instead-of-return-1-in-erro.patch - 0096-Create-remove-safe_mode_delay-local-variable.patch Old: - 0095-Create-goto-abort_locked-instead-of-return-1-in-erro.patch - 0096-Create-remove-safe_mode_delay-local-variable.patch - 0097-Create-Factor-out-add_disks-helpers.patch Old: - 0096-Create-remove-safe_mode_delay-local-variable.patch - 0097-Create-Factor-out-add_disks-helpers.patch - 0098-mdadm-Introduce-pr_info.patch Old: - 0097-Create-Factor-out-add_disks-helpers.patch - 0098-mdadm-Introduce-pr_info.patch - 0099-mdadm-Add-write-zeros-option-for-Create.patch Old: - 0098-mdadm-Introduce-pr_info.patch - 0099-mdadm-Add-write-zeros-option-for-Create.patch - 0100-manpage-Add-write-zeroes-option-to-manpage.patch Old: - 0099-mdadm-Add-write-zeros-option-for-Create.patch - 0100-manpage-Add-write-zeroes-option-to-manpage.patch - 0101-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch Old: - 0100-manpage-Add-write-zeroes-option-to-manpage.patch - 0101-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch - 0102-Use-existence-of-etc-initrd-release-to-detect-initrd.patch Old: - 0101-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch - 0102-Use-existence-of-etc-initrd-release-to-detect-initrd.patch - 0103-Create-Fix-checking-for-container-in-update_metadata.patch Old: - 0102-Use-existence-of-etc-initrd-release-to-detect-initrd.patch - 0103-Create-Fix-checking-for-container-in-update_metadata.patch BETA DEBUG END: BETA DEBUG BEGIN: New: - Remove hardcoded checkpoint interval checking 0001-Remove-hardcoded-checkpoint-interval-checking.patch - monitor: refactor checkpoint update New: - monitor: refactor checkpoint update 0002-monitor-refactor-checkpoint-update.patch - Super-intel: Fix first checkpoint restart New: - Super-intel: Fix first checkpoint restart 0003-Super-intel-Fix-first-checkpoint-restart.patch - Grow: Move update_tail assign to Grow_reshape() New: - Grow: Move update_tail assign to Grow_reshape() 0004-Grow-Move-update_tail-assign-to-Grow_reshape.patch - Add understanding output section in man New: - Add understanding output section in man 0005-Add-understanding-output-section-in-man.patch BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mdadm.spec ++++++ --- /var/tmp/diff_new_pack.6NAHPq/_old 2024-02-25 14:04:51.978179962 +0100 +++ /var/tmp/diff_new_pack.6NAHPq/_new 2024-02-25 14:04:51.978179962 +0100 @@ -22,7 +22,7 @@ %endif Name: mdadm -Version: 4.2 +Version: 4.3 Release: 0 BuildRequires: binutils-devel BuildRequires: groff @@ -41,108 +41,11 @@ Source: https://www.kernel.org/pub/linux/utils/raid/mdadm/%{name}-%{version}.tar.xz Source1: Software-RAID.HOWTO.tar.bz2 Source2: sysconfig.mdadm -Patch1: 0001-Unify-error-message.patch -Patch2: 0002-mdadm-Fix-double-free.patch -Patch3: 0003-Grow_reshape-Add-r0-grow-size-error-message-and-upda.patch -Patch4: 0004-udev-adapt-rules-to-systemd-v247.patch -Patch5: 0005-Replace-error-prone-signal-with-sigaction.patch -Patch6: 0006-mdadm-Respect-config-file-location-in-man.patch -Patch7: 0007-mdadm-Update-ReadMe.patch -Patch8: 0008-mdadm-Update-config-man-regarding-default-files-and-.patch -Patch9: 0009-mdadm-Update-config-manual.patch -Patch10: 0010-Create-Build-use-default_layout.patch -Patch11: 0011-mdadm-add-map_num_s.patch -Patch12: 0012-mdmon-Stop-parsing-duplicate-options.patch -Patch13: 0013-Grow-block-n-on-external-volumes.patch -Patch14: 0014-Incremental-Fix-possible-memory-and-resource-leaks.patch -Patch15: 0015-Mdmonitor-Fix-segfault.patch -Patch16: 0016-Mdmonitor-Improve-logging-method.patch -Patch17: 0017-Fix-possible-NULL-ptr-dereferences-and-memory-leaks.patch -Patch18: 0018-imsm-Remove-possibility-for-get_imsm_dev-to-return-N.patch -Patch19: 0019-Revert-mdadm-fix-coredump-of-mdadm-monitor-r.patch -Patch20: 0020-util-replace-ioctl-use-with-function.patch -Patch21: 0021-mdadm-super1-restore-commit-45a87c2f31335-to-fix-clu.patch -Patch22: 0022-imsm-introduce-get_disk_slot_in_dev.patch -Patch23: 0023-imsm-use-same-slot-across-container.patch -Patch24: 0024-imsm-block-changing-slots-during-creation.patch -Patch25: 0025-mdadm-block-update-ppl-for-non-raid456-levels.patch -Patch26: 0026-mdadm-Fix-array-size-mismatch-after-grow.patch -Patch27: 0027-mdadm-Remove-dead-code-in-imsm_fix_size_mismatch.patch -Patch28: 0028-Monitor-use-devname-as-char-array-instead-of-pointer.patch -Patch29: 0029-Monitor-use-snprintf-to-fill-device-name.patch -Patch30: 0030-Makefile-Don-t-build-static-build-with-everything-an.patch -Patch31: 0031-DDF-Cleanup-validate_geometry_ddf_container.patch -Patch32: 0032-DDF-Fix-NULL-pointer-dereference-in-validate_geometr.patch -Patch33: 0033-mdadm-Grow-Fix-use-after-close-bug-by-closing-after-.patch -Patch34: 0034-monitor-Avoid-segfault-when-calling-NULL-get_bad_blo.patch -Patch35: 0035-mdadm-Fix-mdadm-r-remove-option-regression.patch -Patch36: 0036-mdadm-Fix-optional-write-behind-parameter.patch -Patch37: 0037-mdadm-Replace-obsolete-usleep-with-nanosleep.patch -Patch38: 0038-mdadm-remove-symlink-option.patch -Patch39: 0039-mdadm-move-data_offset-to-struct-shape.patch -Patch40: 0040-mdadm-Don-t-open-md-device-for-CREATE-and-ASSEMBLE.patch -Patch41: 0041-Grow-Split-Grow_reshape-into-helper-function.patch -Patch42: 0042-Assemble-check-if-device-is-container-before-schedul.patch -Patch43: 0043-super1-report-truncated-device.patch -Patch44: 0044-mdadm-Correct-typos-punctuation-and-grammar-in-man.patch -Patch46: 0046-Monitor-Fix-statelist-memory-leaks.patch -Patch47: 0047-mdadm-added-support-for-Intel-Alderlake-RST-on-VMD-p.patch -Patch48: 0048-mdadm-Add-Documentation-entries-to-systemd-services.patch -Patch49: 0049-ReadMe-fix-command-line-help.patch -Patch50: 0050-mdadm-replace-container-level-checking-with-inline.patch -Patch51: 0051-Mdmonitor-Omit-non-md-devices.patch -Patch52: 0052-mdmon-fix-segfault.patch -Patch53: 0053-util-remove-obsolete-code-from-get_md_name.patch -Patch54: 0054-mdmon-don-t-test-both-all-and-container_name.patch -Patch55: 0055-mdmon-change-systemd-unit-file-to-use-foreground.patch -Patch56: 0056-mdmon-Remove-need-for-KillMode-none.patch -Patch57: 0057-mdmon-Improve-switchroot-interactions.patch -Patch58: 0058-mdopen-always-try-create_named_array.patch -Patch59: 0059-Improvements-for-IMSM_NO_PLATFORM-testing.patch -Patch60: 0060-Grow-fix-possible-memory-leak.patch -Patch61: 0061-Grow-fix-can-t-change-bitmap-type-from-none-to-clustered.patch -Patch62: 0062-Manage-Block-unsafe-member-failing.patch -Patch63: 0063-Mdmonitor-Split-alert-into-separate-functions.patch -Patch64: 0064-Monitor-block-if-monitor-modes-are-combined.patch -Patch65: 0065-Update-mdadm-Monitor-manual.patch -Patch66: 0066-mdadm-create-ident_init.patch -Patch67: 0067-mdadm-Add-option-validation-for-update-subarray.patch -Patch68: 0068-Fix-update-subarray-on-active-volume.patch -Patch69: 0069-Add-code-specific-update-options-to-enum.patch -Patch70: 0070-super-ddf-Remove-update_super_ddf.patch -Patch71: 0071-super0-refactor-the-code-for-enum.patch -Patch72: 0072-super1-refactor-the-code-for-enum.patch -Patch73: 0073-super-intel-refactor-the-code-for-enum.patch -Patch74: 0074-Change-update-to-enum-in-update_super-and-update_sub.patch -Patch75: 0075-Manage-Incremental-code-refactor-string-to-enum.patch -Patch76: 0076-Change-char-to-enum-in-context-update-refactor-code.patch -Patch77: 0077-mdadm-udev-Don-t-handle-change-event-on-raw-devices.patch -Patch78: 0078-Manage-do-not-check-array-state-when-drive-is-remove.patch -Patch79: 0079-incremental-manage-do-not-verify-if-remove-is-safe.patch -Patch80: 0080-super-intel-make-freesize-not-required-for-chunk-siz.patch -Patch81: 0081-manage-move-comment-with-function-description.patch -Patch82: 0082-Fix-NULL-dereference-in-super_by_fd.patch -Patch83: 0083-Mdmonitor-Make-alert_info-global.patch -Patch84: 0084-Mdmonitor-Pass-events-to-alert-using-enums-instead-o.patch -Patch85: 0085-Mdmonitor-Add-helper-functions.patch -Patch86: 0086-Add-helpers-to-determine-whether-directories-or-file.patch -Patch87: 0087-Mdmonitor-Refactor-write_autorebuild_pid.patch -Patch88: 0088-Mdmonitor-Refactor-check_one_sharer-for-better-error.patch -Patch89: 0089-util.c-reorder-code-lines-in-parse_layout_faulty.patch -Patch90: 0090-util.c-fix-memleak-in-parse_layout_faulty.patch -Patch91: 0091-Detail.c-fix-memleak-in-Detail.patch -Patch92: 0092-isuper-intel.c-fix-double-free-in-load_imsm_mpb.patch -Patch93: 0093-super-intel.c-fix-memleak-in-find_disk_attached_hba.patch -Patch94: 0094-super-ddf.c-fix-memleak-in-get_vd_num_of_subarray.patch -Patch95: 0095-Create-goto-abort_locked-instead-of-return-1-in-erro.patch -Patch96: 0096-Create-remove-safe_mode_delay-local-variable.patch -Patch97: 0097-Create-Factor-out-add_disks-helpers.patch -Patch98: 0098-mdadm-Introduce-pr_info.patch -Patch99: 0099-mdadm-Add-write-zeros-option-for-Create.patch -Patch100: 0100-manpage-Add-write-zeroes-option-to-manpage.patch -Patch101: 0101-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch -Patch102: 0102-Use-existence-of-etc-initrd-release-to-detect-initrd.patch -Patch103: 0103-Create-Fix-checking-for-container-in-update_metadata.patch +Patch1: 0001-Remove-hardcoded-checkpoint-interval-checking.patch +Patch2: 0002-monitor-refactor-checkpoint-update.patch +Patch3: 0003-Super-intel-Fix-first-checkpoint-restart.patch +Patch4: 0004-Grow-Move-update_tail-assign-to-Grow_reshape.patch +Patch5: 0005-Add-understanding-output-section-in-man.patch Patch1001: 1001-display-timeout-status.patch Patch1002: 1002-OnCalendar-format-fix-of-mdcheck_start-timer.patch Patch1003: 1003-mdadm-treat-the-Dell-softraid-array-as-local-array.patch @@ -161,103 +64,6 @@ %patch3 -p1 %patch4 -p1 %patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 -%patch10 -p1 -%patch11 -p1 -%patch12 -p1 -%patch13 -p1 -%patch14 -p1 -%patch15 -p1 -%patch16 -p1 -%patch17 -p1 -%patch18 -p1 -%patch19 -p1 -%patch20 -p1 -%patch21 -p1 -%patch22 -p1 -%patch23 -p1 -%patch24 -p1 -%patch25 -p1 -%patch26 -p1 -%patch27 -p1 -%patch28 -p1 -%patch29 -p1 -%patch30 -p1 -%patch31 -p1 -%patch32 -p1 -%patch33 -p1 -%patch34 -p1 -%patch35 -p1 -%patch36 -p1 -%patch37 -p1 -%patch38 -p1 -%patch39 -p1 -%patch40 -p1 -%patch41 -p1 -%patch42 -p1 -%patch43 -p1 -%patch44 -p1 -%patch46 -p1 -%patch47 -p1 -%patch48 -p1 -%patch49 -p1 -%patch50 -p1 -%patch51 -p1 -%patch52 -p1 -%patch53 -p1 -%patch54 -p1 -%patch55 -p1 -%patch56 -p1 -%patch57 -p1 -%patch58 -p1 -%patch59 -p1 -%patch60 -p1 -%patch61 -p1 -%patch62 -p1 -%patch63 -p1 -%patch64 -p1 -%patch65 -p1 -%patch66 -p1 -%patch67 -p1 -%patch68 -p1 -%patch69 -p1 -%patch70 -p1 -%patch71 -p1 -%patch72 -p1 -%patch73 -p1 -%patch74 -p1 -%patch75 -p1 -%patch76 -p1 -%patch77 -p1 -%patch78 -p1 -%patch79 -p1 -%patch80 -p1 -%patch81 -p1 -%patch82 -p1 -%patch83 -p1 -%patch84 -p1 -%patch85 -p1 -%patch86 -p1 -%patch87 -p1 -%patch88 -p1 -%patch89 -p1 -%patch90 -p1 -%patch91 -p1 -%patch92 -p1 -%patch93 -p1 -%patch94 -p1 -%patch95 -p1 -%patch96 -p1 -%patch97 -p1 -%patch98 -p1 -%patch99 -p1 -%patch100 -p1 -%patch101 -p1 -%patch102 -p1 -%patch103 -p1 %patch1001 -p1 %patch1002 -p1 %patch1003 -p1 ++++++ 0001-Remove-hardcoded-checkpoint-interval-checking.patch ++++++ >From aec3b907de48be54106600a1ecb69d1231f4801d Mon Sep 17 00:00:00 2001 From: Mateusz Kusiak <mateusz.kus...@intel.com> Date: Thu, 18 Jan 2024 11:30:15 +0100 Subject: [PATCH 1/5] Remove hardcoded checkpoint interval checking Git-commit: aec3b907de48be54106600a1ecb69d1231f4801d Patch-mainline: mdadm-4.3+ References: jsc#PED-7542 Mdmon assumes that kernel marks checkpoint every 1/16 of the volume size and that the checkpoints are equal in size. This is not true, kernel may mark checkpoints more frequently depending on several factors, including sync speed. This results in checkpoints reported by mdadm --examine falling behind the one reported by kernel. Remove hardcoded checkpoint interval checking. Signed-off-by: Mateusz Kusiak <mateusz.kus...@intel.com> Signed-off-by: Mariusz Tkaczyk <mariusz.tkac...@linux.intel.com> Signed-off-by: Coly Li <col...@suse.de> --- monitor.c | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/monitor.c b/monitor.c index 4acec67..b8d9e88 100644 --- a/monitor.c +++ b/monitor.c @@ -564,22 +564,10 @@ static int read_and_act(struct active_array *a, fd_set *fds) } } - /* Check for recovery checkpoint notifications. We need to be a - * minimum distance away from the last checkpoint to prevent - * over checkpointing. Note reshape checkpointing is handled - * in the second branch. + /* Handle reshape checkpointing */ - if (sync_completed > a->last_checkpoint && - sync_completed - a->last_checkpoint > a->info.component_size >> 4 && - a->curr_action > reshape) { - /* A (non-reshape) sync_action has reached a checkpoint. - * Record the updated position in the metadata - */ - a->last_checkpoint = sync_completed; - a->container->ss->set_array_state(a, a->curr_state <= clean); - } else if ((a->curr_action == idle && a->prev_action == reshape) || - (a->curr_action == reshape && - sync_completed > a->last_checkpoint)) { + if ((a->curr_action == idle && a->prev_action == reshape) || + (a->curr_action == reshape && sync_completed > a->last_checkpoint)) { /* Reshape has progressed or completed so we need to * update the array state - and possibly the array size */ @@ -607,8 +595,10 @@ static int read_and_act(struct active_array *a, fd_set *fds) a->last_checkpoint = sync_completed; } - if (sync_completed > a->last_checkpoint) + if (sync_completed > a->last_checkpoint) { a->last_checkpoint = sync_completed; + a->container->ss->set_array_state(a, a->curr_state <= clean); + } if (sync_completed >= a->info.component_size) a->last_checkpoint = 0; -- 2.35.3 ++++++ 0002-monitor-refactor-checkpoint-update.patch ++++++ >From cf87fe75fd83dac008ea116c2c52ec69783fdf6a Mon Sep 17 00:00:00 2001 From: Mateusz Kusiak <mateusz.kus...@intel.com> Date: Thu, 18 Jan 2024 11:30:16 +0100 Subject: [PATCH 2/5] monitor: refactor checkpoint update Git-commit: cf87fe75fd83dac008ea116c2c52ec69783fdf6a Patch-mainline: mdadm-4.3+ References: jsc#PED-7542 "if" statements of checkpoint updates have too many responsibilties. This results in unclear code flow and duplicated code. Refactor checkpoint update code and simplify "if" statements. Signed-off-by: Mateusz Kusiak <mateusz.kus...@intel.com> Signed-off-by: Mariusz Tkaczyk <mariusz.tkac...@linux.intel.com> Signed-off-by: Coly Li <col...@suse.de> --- monitor.c | 51 +++++++++++++++++++++++++-------------------------- 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/monitor.c b/monitor.c index b8d9e88..be0bec7 100644 --- a/monitor.c +++ b/monitor.c @@ -412,6 +412,7 @@ static int read_and_act(struct active_array *a, fd_set *fds) int ret = 0; int count = 0; struct timeval tv; + bool write_checkpoint = false; a->next_state = bad_word; a->next_action = bad_action; @@ -564,40 +565,38 @@ static int read_and_act(struct active_array *a, fd_set *fds) } } - /* Handle reshape checkpointing - */ - if ((a->curr_action == idle && a->prev_action == reshape) || - (a->curr_action == reshape && sync_completed > a->last_checkpoint)) { - /* Reshape has progressed or completed so we need to - * update the array state - and possibly the array size - */ + /* Update reshape checkpoint, depending if it finished or progressed */ + if (a->curr_action == idle && a->prev_action == reshape) { + char buf[SYSFS_MAX_BUF_SIZE]; + if (sync_completed != 0) a->last_checkpoint = sync_completed; - /* We might need to update last_checkpoint depending on - * the reason that reshape finished. - * if array reshape is really finished: - * set check point to the end, this allows - * set_array_state() to finalize reshape in metadata - * if reshape if broken: do not set checkpoint to the end - * this allows for reshape restart from checkpoint + + /* + * If reshape really finished, set checkpoint to the end to finalize it. + * Do not set checkpoint if reshape is broken. + * Reshape will restart from last checkpoint. */ - if ((a->curr_action != reshape) && - (a->prev_action == reshape)) { - char buf[SYSFS_MAX_BUF_SIZE]; - if ((sysfs_get_str(&a->info, NULL, - "reshape_position", - buf, - sizeof(buf)) >= 0) && - str_is_none(buf) == true) + if (sysfs_get_str(&a->info, NULL, "reshape_position", buf, sizeof(buf)) >= 0) + if (str_is_none(buf) == true) a->last_checkpoint = a->info.component_size; - } - a->container->ss->set_array_state(a, a->curr_state <= clean); - a->last_checkpoint = sync_completed; + + write_checkpoint = true; } - if (sync_completed > a->last_checkpoint) { + if (a->curr_action >= reshape && sync_completed > a->last_checkpoint) { + /* Update checkpoint if neither reshape nor idle action */ a->last_checkpoint = sync_completed; + + write_checkpoint = true; + } + + /* Save checkpoint */ + if (write_checkpoint) { a->container->ss->set_array_state(a, a->curr_state <= clean); + + if (a->curr_action <= reshape) + a->last_checkpoint = sync_completed; } if (sync_completed >= a->info.component_size) -- 2.35.3 ++++++ 0003-Super-intel-Fix-first-checkpoint-restart.patch ++++++ >From fdb7e802f4cf64d067c3abaafa35056e2bc1ed43 Mon Sep 17 00:00:00 2001 From: Mateusz Kusiak <mateusz.kus...@intel.com> Date: Thu, 18 Jan 2024 11:30:17 +0100 Subject: [PATCH 3/5] Super-intel: Fix first checkpoint restart Git-commit: fdb7e802f4cf64d067c3abaafa35056e2bc1ed43 Patch-mainline: mdadm-4.3+ References: jsc#PED-7542 When imsm based array is stopped after reaching first checkpoint and then assembled, first checkpoint is reported as 0. This behaviour is valid only for initial checkpoint, if the array was stopped while performing some action. Last checkpoint value is not taken from metadata but always starts with 0 and it's incremented when sync_completed in sysfs changes. In simplification, read_and_act() is responsible for checkpoint updates and is executed each time sysfs checkpoint update happens. For first checkpoint it is executed twice and due to marking checkpoint before triggering any action on the array, it is impossible to read sync_completed from sysfs in just two iterations. The workaround to this is not marking any checkpoint for first sysfs checkpoint after RAID assembly, to preserve checkpoint value stored in metadata. Signed-off-by: Mateusz Kusiak <mateusz.kus...@intel.com> Signed-off-by: Mariusz Tkaczyk <mariusz.tkac...@linux.intel.com> Signed-off-by: Coly Li <col...@suse.de> --- super-intel.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/super-intel.c b/super-intel.c index dbea235..e61f3f6 100644 --- a/super-intel.c +++ b/super-intel.c @@ -8771,6 +8771,9 @@ static int imsm_set_array_state(struct active_array *a, int consistent) super->updates_pending++; } + if (a->prev_action == idle) + goto skip_mark_checkpoint; + mark_checkpoint: /* skip checkpointing for general migration, * it is controlled in mdadm -- 2.35.3 ++++++ 0004-Grow-Move-update_tail-assign-to-Grow_reshape.patch ++++++ >From ea2ca7ed3dbbf881ce08d80fe371f2aaf05011c3 Mon Sep 17 00:00:00 2001 From: Mateusz Kusiak <mateusz.kus...@intel.com> Date: Thu, 18 Jan 2024 11:30:18 +0100 Subject: [PATCH 4/5] Grow: Move update_tail assign to Grow_reshape() Git-commit: ea2ca7ed3dbbf881ce08d80fe371f2aaf05011c3 Patch-mainline: mdadm-4.3+ References: jsc#PED-7542 Due to e919fb0af245 ("FIX: Enable metadata updates for raid0") code can't enter super-intel.c:3415, resulting in checkpoint not being saved to metadata for second volume in matrix raid array. This results in checkpoint being stuck at last value for the first volume. Move st->update_tail to Grow_reshape() so it is assigned for each volume. Signed-off-by: Mateusz Kusiak <mateusz.kus...@intel.com> Signed-off-by: Mariusz Tkaczyk <mariusz.tkac...@linux.intel.com> Signed-off-by: Coly Li <col...@suse.de> --- Grow.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Grow.c b/Grow.c index f95dae8..5498e54 100644 --- a/Grow.c +++ b/Grow.c @@ -2085,9 +2085,10 @@ int Grow_reshape(char *devname, int fd, if (!mdmon_running(st->container_devnm)) start_mdmon(st->container_devnm); ping_monitor(container); - if (mdmon_running(st->container_devnm) && - st->update_tail == NULL) - st->update_tail = &st->updates; + if (mdmon_running(st->container_devnm) == false) { + pr_err("No mdmon found. Grow cannot continue.\n"); + goto release; + } } if (s->size == MAX_SIZE) @@ -3048,6 +3049,8 @@ static int reshape_array(char *container, int fd, char *devname, dprintf("Cannot get array information.\n"); goto release; } + if (st->update_tail == NULL) + st->update_tail = &st->updates; if (array.level == 0 && info->component_size == 0) { get_dev_size(fd, NULL, &array_size); info->component_size = array_size / array.raid_disks; @@ -5152,9 +5155,7 @@ int Grow_continue_command(char *devname, int fd, start_mdmon(container); ping_monitor(container); - if (mdmon_running(container)) - st->update_tail = &st->updates; - else { + if (mdmon_running(container) == false) { pr_err("No mdmon found. Grow cannot continue.\n"); ret_val = 1; goto Grow_continue_command_exit; -- 2.35.3 ++++++ 0005-Add-understanding-output-section-in-man.patch ++++++ >From 37eeae381a8ed07a1fabb64184fe45d95a861496 Mon Sep 17 00:00:00 2001 From: Mateusz Kusiak <mateusz.kus...@intel.com> Date: Thu, 18 Jan 2024 11:30:19 +0100 Subject: [PATCH 5/5] Add understanding output section in man Git-commit: 37eeae381a8ed07a1fabb64184fe45d95a861496 Patch-mainline: mdadm-4.3+ References: jsc#PED-7542 Add new section in man for explaining mdadm outputs. Describe checkpoint entry. Signed-off-by: Mateusz Kusiak <mateusz.kus...@intel.com> Signed-off-by: Mariusz Tkaczyk <mariusz.tkac...@linux.intel.com> Signed-off-by: Coly Li <col...@suse.de> --- mdadm.8.in | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/mdadm.8.in b/mdadm.8.in index 96a4a08..9ba6682 100644 --- a/mdadm.8.in +++ b/mdadm.8.in @@ -3179,7 +3179,7 @@ environment. This can be useful for testing or for disaster recovery. You should be aware that interoperability may be compromised by setting this value. -These change can also be suppressed by adding +These change can also be suppressed by adding .B mdadm.imsm.test=1 to the kernel command line. This makes it easy to test IMSM code in a virtual machine that doesn't have IMSM virtual hardware. @@ -3454,6 +3454,25 @@ is any string. These names are supported by since version 3.3 provided they are enabled in .IR mdadm.conf . +.SH UNDERSTANDING OUTPUT + +.TP +EXAMINE + +.TP +.B checkpoint +Checkpoint value is reported when array is performing some action including +resync, recovery or reshape. Checkpoints allow resuming action from certain +point if it was interrupted. + +Checkpoint is reported as combination of two values: current migration unit +and number of blocks per unit. By multiplying those values and dividing by +array size checkpoint progress percentage can be obtained in relation to +current progress reported in /proc/mdstat. Checkpoint is also related to (and +sometimes based on) sysfs entry sync_completed but depending on action units +may differ. Even if units are the same, it should not be expected that +checkpoint and sync_completed will be exact match nor updated simultaneously. + .SH NOTE .I mdadm was previously known as -- 2.35.3 ++++++ 1004-call-mdadm_env.sh-from-usr-libexec-mdadm.patch ++++++ --- /var/tmp/diff_new_pack.6NAHPq/_old 2024-02-25 14:04:52.046182422 +0100 +++ /var/tmp/diff_new_pack.6NAHPq/_new 2024-02-25 14:04:52.050182566 +0100 @@ -15,32 +15,32 @@ Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: mdadm-4.2/systemd/mdcheck_continue.service +Index: mdadm-4.3/systemd/mdcheck_continue.service =================================================================== ---- mdadm-4.2.orig/systemd/mdcheck_continue.service -+++ mdadm-4.2/systemd/mdcheck_continue.service -@@ -14,5 +14,5 @@ Documentation=man:mdadm(8) +--- mdadm-4.3.orig/systemd/mdcheck_continue.service ++++ mdadm-4.3/systemd/mdcheck_continue.service +@@ -13,4 +13,6 @@ Documentation=man:mdadm(8) + [Service] Type=oneshot Environment="MDADM_CHECK_DURATION=6 hours" - EnvironmentFile=-/run/sysconfig/mdadm --ExecStartPre=-/usr/lib/mdadm/mdadm_env.sh ++EnvironmentFile=-/run/sysconfig/mdadm +ExecStartPre=-/usr/libexec/mdadm/mdadm_env.sh ExecStart=/usr/share/mdadm/mdcheck --continue --duration ${MDADM_CHECK_DURATION} -Index: mdadm-4.2/systemd/mdcheck_start.service +Index: mdadm-4.3/systemd/mdcheck_start.service =================================================================== ---- mdadm-4.2.orig/systemd/mdcheck_start.service -+++ mdadm-4.2/systemd/mdcheck_start.service -@@ -14,5 +14,5 @@ Documentation=man:mdadm(8) +--- mdadm-4.3.orig/systemd/mdcheck_start.service ++++ mdadm-4.3/systemd/mdcheck_start.service +@@ -13,4 +13,6 @@ Documentation=man:mdadm(8) + [Service] Type=oneshot Environment="MDADM_CHECK_DURATION=6 hours" - EnvironmentFile=-/run/sysconfig/mdadm --ExecStartPre=-/usr/lib/mdadm/mdadm_env.sh ++EnvironmentFile=-/run/sysconfig/mdadm +ExecStartPre=-/usr/libexec/mdadm/mdadm_env.sh ExecStart=/usr/share/mdadm/mdcheck --duration ${MDADM_CHECK_DURATION} -Index: mdadm-4.2/systemd/mdmonitor-oneshot.service +Index: mdadm-4.3/systemd/mdmonitor-oneshot.service =================================================================== ---- mdadm-4.2.orig/systemd/mdmonitor-oneshot.service -+++ mdadm-4.2/systemd/mdmonitor-oneshot.service +--- mdadm-4.3.orig/systemd/mdmonitor-oneshot.service ++++ mdadm-4.3/systemd/mdmonitor-oneshot.service @@ -12,5 +12,5 @@ Documentation=man:mdadm(8) [Service] Environment=MDADM_MONITOR_ARGS=--scan @@ -48,10 +48,10 @@ -ExecStartPre=-/usr/lib/mdadm/mdadm_env.sh +ExecStartPre=-/usr/libexec/mdadm/mdadm_env.sh ExecStart=BINDIR/mdadm --monitor --oneshot $MDADM_MONITOR_ARGS -Index: mdadm-4.2/systemd/mdmonitor.service +Index: mdadm-4.3/systemd/mdmonitor.service =================================================================== ---- mdadm-4.2.orig/systemd/mdmonitor.service -+++ mdadm-4.2/systemd/mdmonitor.service +--- mdadm-4.3.orig/systemd/mdmonitor.service ++++ mdadm-4.3/systemd/mdmonitor.service @@ -13,5 +13,5 @@ Documentation=man:mdadm(8) [Service] Environment= MDADM_MONITOR_ARGS=--scan ++++++ mdadm-4.2.tar.xz -> mdadm-4.3.tar.xz ++++++ ++++ 15205 lines of diff (skipped)