mdadm-4.3+33.g22c212a5-150600.3.17.2<>,}iSp9|7-&zrq'e5}U*Ԑ]*sKݢ[i*ED~^sgziWq$wngk\# *q˜&&J#s1E*|y CJC1> dgp|fK\GK伄#EF oԜZG%`P޹@U"NksJ!G7Qj3/ϕhFRC"At&W13 q1J>H?d ' Z  KQX 77 7 7 `7 $7 $t7%P7&c7'v'7((!)!+!(, 8,M9-HM:2<M=>?@FG7H7I7XY\7]7^bpcdeflu7v wH7x$7y&zHPTZCmdadm4.3+33.g22c212a5150600.3.17.2Utility for configuring "MD" software RAID devicesmdadm is a program that can be used to control Linux md devices.iSh04-ch1a|SUSE Linux Enterprise 15SUSE LLC GPL-2.0-onlyhttps://www.suse.com/System/Basehttp://www.kernel.org/pub/linux/utils/raid/mdadm/linuxx86_64 if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : for service in mdmonitor.service mdcheck_start.service mdcheck_continue.service mdmonitor-oneshot.service mdcheck_start.timer mdcheck_continue.timer mdmonitor-oneshot.timer ; do sysv_service=${service%.*} if [ ! -e /usr/lib/systemd/system/$service ] && [ ! -e /etc/init.d/$sysv_service ]; then mkdir -p /run/systemd/rpm/needs-preset touch /run/systemd/rpm/needs-preset/$service elif [ -e /etc/init.d/$sysv_service ] && [ ! -e /var/lib/systemd/migrated/$sysv_service ]; then /usr/sbin/systemd-sysv-convert --save $sysv_service || : mkdir -p /run/systemd/rpm/needs-sysv-convert touch /run/systemd/rpm/needs-sysv-convert/$service fi done fi if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" ]; then /usr/bin/systemctl daemon-reload || : fi for service in mdmonitor.service mdcheck_start.service mdcheck_continue.service mdmonitor-oneshot.service mdcheck_start.timer mdcheck_continue.timer mdmonitor-oneshot.timer ; do sysv_service=${service%.*} if [ -e /run/systemd/rpm/needs-preset/$service ]; then /usr/bin/systemctl preset $service || : rm "/run/systemd/rpm/needs-preset/$service" || : elif [ -e /run/systemd/rpm/needs-sysv-convert/$service ]; then /usr/sbin/systemd-sysv-convert --apply $sysv_service || : rm "/run/systemd/rpm/needs-sysv-convert/$service" || : touch /var/lib/systemd/migrated/$sysv_service || : fi done fi ! command -v mkdir >/dev/null || mkdir -p /run/regenerate-initrd/; [ ! -d /run/regenerate-initrd ] || > /run/regenerate-initrd/all; PNAME=mdadm SUBPNAME= SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME$SUBPNAME # If template not in new /usr/share/fillup-templates, fallback to old TEMPLATE_DIR if [ ! -f $SYSC_TEMPLATE ] ; then TEMPLATE_DIR=/var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME fi SD_NAME="" if [ -x /bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating /etc/sysconfig/$SD_NAME$PNAME ..." mkdir -p /etc/sysconfig/$SD_NAME touch /etc/sysconfig/$SD_NAME$PNAME /bin/fillup -q /etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "/etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable mdmonitor.service mdcheck_start.service mdcheck_continue.service mdmonitor-oneshot.service mdcheck_start.timer mdcheck_continue.timer mdmonitor-oneshot.timer || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop mdmonitor.service mdcheck_start.service mdcheck_continue.service mdmonitor-oneshot.service mdcheck_start.timer mdcheck_continue.timer mdmonitor-oneshot.timer ) || : fi if [ $1 -eq 0 ]; then # Package removal for service in mdcheck_start.service mdcheck_continue.service mdmonitor-oneshot.service ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done fi if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in mdcheck_start.timer mdcheck_continue.timer mdmonitor-oneshot.timer mdmonitor.service ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done fi if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart mdcheck_start.timer mdcheck_continue.timer mdmonitor-oneshot.timer mdmonitor.service ) || : fi fi ! command -v mkdir >/dev/null || mkdir -p /run/regenerate-initrd/; [ ! -d /run/regenerate-initrd ] || > /run/regenerate-initrd/all;,,A ]GZ j 9~1vzV O--e.Vm  F?Unv mA큤AAA큤A큤AiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSi_i_iSiSiSiSiSiSiSiSiSiSiSiSiSiSiSi_i_i_iSiSi_iSiSiSiSiSiSde65e7c12626c8650119db1882680d4db79d46896976919e413de7261961520ffe3f63dd4d936bd3545f0fc3e0f0be440e8f9c4be32847d0ab4537e393316eec74749acacce7cfb528b21470cec1902b761118573fe3ed5f3e3cbb27cbafbf67d789d3d1867df89d312d17cfff73b0cc4b47379486bb0ea4f059708dd2012078e981c76278c3bc8f74008e9ffebc14d33a9ce1b11e9ad82fc20a951fe2fb152a6dab8e58cf28cfac41a044781b33748fc35f699721010db2ec49b128434de8e8beb7429a50d2e4c3188161824d56a4009c6e6b6c9906248e5775dba84e778304e1b9646de117e7e11a2a14afe3ec659b718575a19378fa7a8d8532df69b973580bc69279653d690bdcccd412fb613909578910994b926dde53ad63071575f0fd615e8af9d8429de6c1a70eb418653eee2b201b8061d92526cb4b2f763be1d22287befe5e61b716be922ebd2be3bd05fc24f512082a00e38f7742cc2b7d52957bcf361de81af7cc2962d7eaf79f80ea64767390a6c9bae0d4eadda50d8589a2a179f5ab1e4c7ca00916e1444d8d47e1181ff6e9bd5fc8a511bf84a16a7ca833ee03d91e6ccadf900b4bfe524971d7827a7bb4da76394733147d07ac0eeae2ce79cc43aeb70374a7d2aa556415d81331ec6bfc8602007528c0e45dc51d2dc49d4cb7a0597152d10e09dc4f6b5e9deb85dde04b48ca19bf458cc8e0679aa66c7bfe27a8b0fa061038d54dbd7580568cc010e812e73eecb2f8143726ae7fde359e25a4a4da938b2ae5e4cb8748c8260e38785c16b23848d2ce19046c29a4a65e9371de13f06367bc5a86f914353837db9d061c827b8f8244dd06dcd4fd6477e0ebf5d72b3245d3f6f6fee432aeb23fdf7c0c2ad5fe2c1e197c757dcf1f8384515e66da08f4125c0a269c6a67b3757b7d9fd09e14c6f67bb8c7ff1e541d532dca4da308a09f94e7c1c57032e19e3ed4f5e8c18c5ed533e47d35d833e608cdf7804e3207ec768327b0e324eab80693a68852d342bd19285bf7356753e566c5e179f889902a174c2f7e71b4eb1b1f3781e9577564db0c7b9b1b5bafab2f6f2ce99095a3e6f6d62f227eda2151af5db24ad5e728ffc437a3d672e828a1e7b81bd7783bbb76890b029d204368a9be769d3ff580110f0e7742db48b1b026ec56a0a556e786dc763e2231d021ebcb1ac6b81b2b86c7d53a23368ba6f38b0f5f347278156f9496707ed85c848e03daf5dd08d0a66e448308ec62df3bfac5e8529ba10e077447590676b7918d24d93c8eaa4b56926b83ff31493b122e688e44fb967258a36752921e40b0e7e1ae3303a4a293d063f4b6ae0a95f2f5590fc184371cd20c6b6ac9ac0448ed2dc45a3ca9b523bfe870cc904f143139c50f827ad981314e654d39ddc46c0dd4ff25105ad19addefa46ceded4a1e13c43d45441729dcf14d6bad9e656f25779970c7da4d4620c6b9af103a91a3f2eea5729c496979766e5e0bd858c7732fc467a5756529eb357d4ed5bee9c8c234e812454211b2e12ef75a4489583dcd5828098c7845bf48876f3a2b8d66182bb0e893ddbda1237c68fd1c6cab4a9f27bc2a41b759d69136223ee282ad38013331a98c864dcd6edaee4a58f2847336eeda765be954c997b8cf79038c7fa64223c46505f1e8bdc65937ace772cf423b314c5722b29ee8a268bafb4044116175f6155f21c9e6bf843fada369fbf0fff3d0c6892ad74cce318c0521dfe2e1244449e52fde377fcc5edca1c4eea179d208945c7c3caa84969b8c5ff013505a35eeb1c1a8e09629fa471eb3b9e05ca138d68177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643efdebca020982dab2413f0e21186d8a6064fe95477c63cbe758611611fa3e34d2f41636f61a508d34be4b5a2cd672b8bff5a75a38a1430e941ea2b81dba728546d08588b2efb1842a1ce5568dbbdde38397c622d0ce4e4024eff3f309ac658d60cae80b35da46fa21c255383171bee1d674b382b9507994b0e1dafe511e981a9eb25b296f958bebc337e31e5b947cfaf8db6387191a58ed03599dd104dd9f4f1/usr/sbin/mdadm/usr/sbin/mdmonservicerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootmdadm-4.3+33.g22c212a5-150600.3.17.2.src.rpmmdadmmdadm(x86-64)@  @ @@@@@@@@@@@@@@@@@@    /bin/bash/bin/sh/bin/sh/bin/sh/bin/sh/bin/sh/bin/shcoreutilsdiffutilsfillupgreplibc.so.6()(64bit)libc.so.6(GLIBC_2.10)(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.15)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.27)(64bit)libc.so.6(GLIBC_2.28)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.33)(64bit)libc.so.6(GLIBC_2.34)(64bit)libc.so.6(GLIBC_2.38)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.7)(64bit)libc.so.6(GLIBC_2.8)(64bit)libudev.so.1()(64bit)libudev.so.1(LIBUDEV_183)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3i @i @i @h5@hK@hg@ff1e؈e؈eeWUdgdp@dFo@d(cc@c\c\cc@c(Yb@bb4t@aa]a0`f@`f@`Q@_T_v@__K_c^@^@^}^^F^^F^^F^^F^=Q@]{@\@\b@\\U@[$@[dC[dC[dC[3|@Z1@Z~ZTZLZ%8Z Z@Z ,@Y@X @WA@W>@W)@Vii@UUAUWU@U@TPTи@TWn@mwilck@suse.commwilck@suse.commwilck@suse.commwilck@suse.commwilck@suse.commwilck@suse.comcolyli@suse.decolyli@suse.decolyli@suse.decolyli@suse.decolyli@suse.decolyli@suse.dedimstar@opensuse.orglnussel@suse.comcolyli@suse.decolyli@suse.decolyli@suse.decolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comheming.zhao@suse.commwilck@suse.comsweiberg@suse.comnfbrown@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comheming.zhao@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcallumjfarmer13@gmail.comcolyli@suse.comcolyli@suse.comnfbrown@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comnfbrown@suse.comcolyli@suse.comcolyli@suse.comjengelh@inai.denfbrown@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comgqjiang@suse.comcolyli@suse.comzlliu@suse.comcolyli@suse.comcolyli@suse.comgqjiang@suse.comrbrown@suse.comgqjiang@suse.comcolyli@suse.comnfbrown@suse.combill@merriam.netneilb@suse.comneilb@suse.comtiwai@suse.dedimstar@opensuse.orgdimstar@opensuse.orgnfbrown@suse.comnfbrown@suse.comwerner@suse.demgorse@suse.comnfbrown@suse.comnfbrown@suse.com- Fix systemd unit file handling in spec file (boo#1207266) * make all units known to systemd * restart only timers and mdmonitor.service- Update to version 4.3+33.g22c212a5: * fix race between mdcheck_start.service and mdcheck_continue.service (bsc#1243443, bsc#1248097) * various fixes for mdcheck (bsc#1248097) * mdadm_env.sh: ignore MDADM_RAIDDEVICES if MDADM_SCAN is set (bsc#1229997) - Upstream bug fixes since 4.4 (bsc#1253060) * mdadm: add attribute nonstring for signature * super-ddf: Prevent crash when handling DDF metadata * platform-intel: Disable legacy option ROM scan on UEFI machines * udev: persist properties of MD devices after switch_root- Update to version 4.3+17.g6fb6c1c9 - _service: pull from github.com/openSUSE/mdadm, patches now managed in git * delete 0001-Remove-hardcoded-checkpoint-interval-checking.patch * delete 0002-monitor-refactor-checkpoint-update.patch * delete 0003-Super-intel-Fix-first-checkpoint-restart.patch * delete 0004-Grow-Move-update_tail-assign-to-Grow_reshape.patch * delete 0005-Add-understanding-output-section-in-man.patch * delete 0006-util.c-change-devnm-to-const-in-mdmon-functions.patch * delete 0007-Wait-for-mdmon-when-it-is-stared-via-systemd.patch * delete 0008-Detail-remove-duplicated-code.patch * delete 0009-mdadm-Fix-native-detail-export.patch * delete 0010-mdopen-add-sbin-path-to-env-PATH-when-call-system-mo.patch * delete 1001-display-timeout-status.patch * delete 1002-OnCalendar-format-fix-of-mdcheck_start-timer.patch * delete 1003-mdadm-treat-the-Dell-softraid-array-as-local-array.patch * delete 1004-call-mdadm_env.sh-from-usr-libexec-mdadm.patch * delete 1005-mdadm-enable-Intel-Alderlake-RSTe-configuration.patch * delete 1006-mdadm-allow-any-valid-minor-number-in-md-device-name.patch * delete 1007-mdmonitor-use-MAILFROM-to-set-sendmail-envelope-send.patch- monitor: Add MAILFROM address to email envelope to avoid smtp auth errors (bsc#1241474) * add 1007-mdmonitor-use-MAILFROM-to-set-sendmail-envelope-send.patch- Allow any valid minor name in md device name (bsc#1240789) * add 1006-mdadm-allow-any-valid-minor-number-in-md-device-name.patch- Add dependency on suse-module-tools for SLE15 (bsc#1242696)- mdopen: add sbin path to env PATH when call system("modprobe md_mod") (bsc#1233265) 0010-mdopen-add-sbin-path-to-env-PATH-when-call-system-mo.patch- Detail: remove duplicated code (bsc#1226413) 0008-Detail-remove-duplicated-code.patch - mdadm: Fix native --detail --export (bsc#1226413) 0009-mdadm-Fix-native-detail-export.patch- util.c: change devnm to const in mdmon functions (bsc#1225307) 0006-util.c-change-devnm-to-const-in-mdmon-functions.patch - Wait for mdmon when it is stared via systemd (bsc#1225307) 0007-Wait-for-mdmon-when-it-is-stared-via-systemd.patch- 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- 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- Update mdadm to latest upstream state upto commit 582945c2d3bb. (jsc#PED-7542) 1) The testing changes are not included here. 2) Code clean up, and more helper routines added for Manage.c, Monitor.c, mdadm.c, ReadMe.c, super-intel.c, super0.c, super1.c, Create.c, Incremental.c and so on. 3) Man page update for mdadm.8.in. 4) Several memory leak and double free fixes. 5) Check /etc/initrd-release for whether systemd running on an initrd. - Manage: Block unsafe member failing 0062-Manage-Block-unsafe-member-failing.patch - Mdmonitor: Split alert() into separate functions 0063-Mdmonitor-Split-alert-into-separate-functions.patch - Monitor: block if monitor modes are combined. 0064-Monitor-block-if-monitor-modes-are-combined.patch - Update mdadm Monitor manual. 0065-Update-mdadm-Monitor-manual.patch - mdadm: create ident_init() 0066-mdadm-create-ident_init.patch - mdadm: Add option validation for --update-subarray 0067-mdadm-Add-option-validation-for-update-subarray.patch - Fix --update-subarray on active volume 0068-Fix-update-subarray-on-active-volume.patch - Add code specific update options to enum. 0069-Add-code-specific-update-options-to-enum.patch - super-ddf: Remove update_super_ddf. 0070-super-ddf-Remove-update_super_ddf.patch - super0: refactor the code for enum 0071-super0-refactor-the-code-for-enum.patch - super1: refactor the code for enum 0072-super1-refactor-the-code-for-enum.patch - super-intel: refactor the code for enum 0073-super-intel-refactor-the-code-for-enum.patch - Change update to enum in update_super and update_subarray 0074-Change-update-to-enum-in-update_super-and-update_sub.patch - Manage&Incremental: code refactor, string to enum 0075-Manage-Incremental-code-refactor-string-to-enum.patch - Change char* to enum in context->update & refactor code 0076-Change-char-to-enum-in-context-update-refactor-code.patch - mdadm/udev: Don't handle change event on raw devices 0077-mdadm-udev-Don-t-handle-change-event-on-raw-devices.patch - Manage: do not check array state when drive is removed 0078-Manage-do-not-check-array-state-when-drive-is-remove.patch - incremental, manage: do not verify if remove is safe 0079-incremental-manage-do-not-verify-if-remove-is-safe.patch - super-intel: make freesize not required for chunk size 0080-super-intel-make-freesize-not-required-for-chunk-siz.patch - manage: move comment with function description 0081-manage-move-comment-with-function-description.patch - Fix NULL dereference in super_by_fd 0082-Fix-NULL-dereference-in-super_by_fd.patch - Mdmonitor: Make alert_info global 0083-Mdmonitor-Make-alert_info-global.patch - Mdmonitor: Pass events to alert() using enums instead of 0084-Mdmonitor-Pass-events-to-alert-using-enums-instead-o.patch - Mdmonitor: Add helper functions 0085-Mdmonitor-Add-helper-functions.patch - Add helpers to determine whether directories or files are 0086-Add-helpers-to-determine-whether-directories-or-file.patch - Mdmonitor: Refactor write_autorebuild_pid() 0087-Mdmonitor-Refactor-write_autorebuild_pid.patch - Mdmonitor: Refactor check_one_sharer() for better error 0088-Mdmonitor-Refactor-check_one_sharer-for-better-error.patch - util.c: reorder code lines in parse_layout_faulty() 0089-util.c-reorder-code-lines-in-parse_layout_faulty.patch - util.c: fix memleak in parse_layout_faulty() 0090-util.c-fix-memleak-in-parse_layout_faulty.patch - Detail.c: fix memleak in Detail() 0091-Detail.c-fix-memleak-in-Detail.patch - isuper-intel.c: fix double free in load_imsm_mpb() 0092-isuper-intel.c-fix-double-free-in-load_imsm_mpb.patch - super-intel.c: fix memleak in find_disk_attached_hba() 0093-super-intel.c-fix-memleak-in-find_disk_attached_hba.patch - super-ddf.c: fix memleak in get_vd_num_of_subarray() 0094-super-ddf.c-fix-memleak-in-get_vd_num_of_subarray.patch - Create: goto abort_locked instead of return 1 in error path 0095-Create-goto-abort_locked-instead-of-return-1-in-erro.patch - Create: remove safe_mode_delay local variable 0096-Create-remove-safe_mode_delay-local-variable.patch - Create: Factor out add_disks() helpers 0097-Create-Factor-out-add_disks-helpers.patch - mdadm: Introduce pr_info() 0098-mdadm-Introduce-pr_info.patch - mdadm: Add --write-zeros option for Create 0099-mdadm-Add-write-zeros-option-for-Create.patch - manpage: Add --write-zeroes option to manpage 0100-manpage-Add-write-zeroes-option-to-manpage.patch - Define alignof using _Alignof when using C11 or newer 0101-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch - Use existence of /etc/initrd-release to detect initrd. 0102-Use-existence-of-etc-initrd-release-to-detect-initrd.patch - Create: Fix checking for container in update_metadata 0103-Create-Fix-checking-for-container-in-update_metadata.patch- No longer recommend smtp-daemon: this was a remainder from the cron configuration, which was removed back in 2018.- mdadm.spec: replace transitional %usrmerged macro with regular version check (boo#1206798)- Grow: fix possible memory leak (bsc#1208618) 0060-Grow-fix-possible-memory-leak.patch - Grow: fix can't change bitmap type from none to clustered (bsc#1208618) 0061-Grow-fix-can-t-change-bitmap-type-from-none-to-clustered.patch - Use source code mdadm-4.2.tar.xz from kernel.org version for checksum - mdadm-4.2.tar.xz- Fixes for mdmon to ensure it run at the right time in the fight mount namespace. This fixes various problems with IMSM raid arrays in 15-SP4 (bsc#1205493, bsc#1205830) - mdmon: fix segfault 0052-mdmon-fix-segfault.patch - util: remove obsolete code from get_md_name 0053-util-remove-obsolete-code-from-get_md_name.patch - mdmon: don't test both 'all' and 'container_name'. 0054-mdmon-don-t-test-both-all-and-container_name.patch - mdmon: change systemd unit file to use --foreground 0055-mdmon-change-systemd-unit-file-to-use-foreground.patch - mdmon: Remove need for KillMode=none 0056-mdmon-Remove-need-for-KillMode-none.patch - mdmon: Improve switchroot interactions. 0057-mdmon-Improve-switchroot-interactions.patch - mdopen: always try create_named_array() 0058-mdopen-always-try-create_named_array.patch - Improvements for IMSM_NO_PLATFORM testing 0059-Improvements-for-IMSM_NO_PLATFORM-testing.patch- sysconfig.mdadm: Remove ServiceRestart line to mdadm since there is not such systemd service. (bsc#1203491)- mdadm.spec: create the following symbolic link in /sbin for compatibility, /sbin/mdadm -> /usr/sbin/mdadm /sbin/mdmon -> /usr/sbin/mdmon (jsc#PED-1009, jsc#PED-947)- Drop the patch which is reported as regression by upstream developer (bsc#1206139) 0045-Manage-Block-unsafe-member-failing.patch - Add jsc#PED-947 together with jsc#PED-1009 in mdadm.changes, they are both the requirement to update mdadm to latest upstream state via different requestors.- Call mdadm_env.sh from /usr/libexec/mdadm (bsc#1111960, bsc#1202090) 1004-call-mdadm_env.sh-from-usr-libexec-mdadm.patch - The patch (bsc#1111960) which fixed rpm check failure is replaced by the above patch, 1004-Makefile-install-mdadm_env.sh-to-usr-lib-mdadm.patch.- mdadm.spec: remove "PreReq: %{_sbindir}/mkinitrd" as it is unnecessary now. (bsc#1202352)- Update mdadm package to latest mdadm since mdadm-4.2 (jsc#PED-1009, jsc#PED-947) * Only patches directly change runtime programs included, - Unify error message. 0001-Unify-error-message.patch - mdadm: Fix double free 0002-mdadm-Fix-double-free.patch - Grow_reshape: Add r0 grow size error message and update 0003-Grow_reshape-Add-r0-grow-size-error-message-and-upda.patch - udev: adapt rules to systemd v247 0004-udev-adapt-rules-to-systemd-v247.patch - Replace error prone signal() with sigaction() 0005-Replace-error-prone-signal-with-sigaction.patch - mdadm: Respect config file location in man 0006-mdadm-Respect-config-file-location-in-man.patch - mdadm: Update ReadMe 0007-mdadm-Update-ReadMe.patch - mdadm: Update config man regarding default files and 0008-mdadm-Update-config-man-regarding-default-files-and-.patch - mdadm: Update config manual 0009-mdadm-Update-config-manual.patch - Create, Build: use default_layout() 0010-Create-Build-use-default_layout.patch - mdadm: add map_num_s() 0011-mdadm-add-map_num_s.patch - mdmon: Stop parsing duplicate options 0012-mdmon-Stop-parsing-duplicate-options.patch - Grow: block -n on external volumes. 0013-Grow-block-n-on-external-volumes.patch - Incremental: Fix possible memory and resource leaks 0014-Incremental-Fix-possible-memory-and-resource-leaks.patch - Mdmonitor: Fix segfault 0015-Mdmonitor-Fix-segfault.patch - Mdmonitor: Improve logging method 0016-Mdmonitor-Improve-logging-method.patch - Fix possible NULL ptr dereferences and memory leaks 0017-Fix-possible-NULL-ptr-dereferences-and-memory-leaks.patch - imsm: Remove possibility for get_imsm_dev to return 0018-imsm-Remove-possibility-for-get_imsm_dev-to-return-N.patch - Revert "mdadm: fix coredump of mdadm --monitor -r" 0019-Revert-mdadm-fix-coredump-of-mdadm-monitor-r.patch - util: replace ioctl use with function 0020-util-replace-ioctl-use-with-function.patch - mdadm/super1: restore commit 45a87c2f31335 to fix 0021-mdadm-super1-restore-commit-45a87c2f31335-to-fix-clu.patch - imsm: introduce get_disk_slot_in_dev() 0022-imsm-introduce-get_disk_slot_in_dev.patch - imsm: use same slot across container 0023-imsm-use-same-slot-across-container.patch - imsm: block changing slots during creation 0024-imsm-block-changing-slots-during-creation.patch - mdadm: block update=ppl for non raid456 levels 0025-mdadm-block-update-ppl-for-non-raid456-levels.patch - mdadm: Fix array size mismatch after grow 0026-mdadm-Fix-array-size-mismatch-after-grow.patch - mdadm: Remove dead code in imsm_fix_size_mismatch 0027-mdadm-Remove-dead-code-in-imsm_fix_size_mismatch.patch - Monitor: use devname as char array instead of pointer 0028-Monitor-use-devname-as-char-array-instead-of-pointer.patch - Monitor: use snprintf to fill device name 0029-Monitor-use-snprintf-to-fill-device-name.patch - Makefile: Don't build static build with everything and 0030-Makefile-Don-t-build-static-build-with-everything-an.patch - DDF: Cleanup validate_geometry_ddf_container() 0031-DDF-Cleanup-validate_geometry_ddf_container.patch - DDF: Fix NULL pointer dereference in 0032-DDF-Fix-NULL-pointer-dereference-in-validate_geometr.patch - mdadm/Grow: Fix use after close bug by closing after 0033-mdadm-Grow-Fix-use-after-close-bug-by-closing-after-.patch - monitor: Avoid segfault when calling NULL 0034-monitor-Avoid-segfault-when-calling-NULL-get_bad_blo.patch - mdadm: Fix mdadm -r remove option regression 0035-mdadm-Fix-mdadm-r-remove-option-regression.patch - mdadm: Fix optional --write-behind parameter 0036-mdadm-Fix-optional-write-behind-parameter.patch - mdadm: Replace obsolete usleep with nanosleep 0037-mdadm-Replace-obsolete-usleep-with-nanosleep.patch - mdadm: remove symlink option 0038-mdadm-remove-symlink-option.patch - mdadm: move data_offset to struct shape 0039-mdadm-move-data_offset-to-struct-shape.patch - mdadm: Don't open md device for CREATE and ASSEMBLE 0040-mdadm-Don-t-open-md-device-for-CREATE-and-ASSEMBLE.patch - Grow: Split Grow_reshape into helper function 0041-Grow-Split-Grow_reshape-into-helper-function.patch - Assemble: check if device is container before 0042-Assemble-check-if-device-is-container-before-schedul.patch - super1: report truncated device 0043-super1-report-truncated-device.patch - mdadm: Correct typos, punctuation and grammar in man 0044-mdadm-Correct-typos-punctuation-and-grammar-in-man.patch - Manage: Block unsafe member failing 0045-Manage-Block-unsafe-member-failing.patch - Monitor: Fix statelist memory leaks 0046-Monitor-Fix-statelist-memory-leaks.patch - mdadm: added support for Intel Alderlake RST on VMD 0047-mdadm-added-support-for-Intel-Alderlake-RST-on-VMD-p.patch - mdadm: Add Documentation entries to systemd services 0048-mdadm-Add-Documentation-entries-to-systemd-services.patch - ReadMe: fix command-line help 0049-ReadMe-fix-command-line-help.patch - mdadm: replace container level checking with inline 0050-mdadm-replace-container-level-checking-with-inline.patch - Mdmonitor: Omit non-md devices 0051-Mdmonitor-Omit-non-md-devices.patch - Remove the following in house patch 1004-mdadm-super1-restore-commit-45a87c2f31335-to-fix-clu.patch because upstream merged version added in as 0021-mdadm-super1-restore-commit-45a87c2f31335-to-fix-clu.patch - Rename 0000-Makefile-install-mdadm_env.sh-to-usr-lib-mdadm.patch to 1004-Makefile-install-mdadm_env.sh-to-usr-lib-mdadm.patch. - Update mdadm package to mdadm-4.2 (jsc#PED-1009, jsc#PED-947) All important modifications since previous update to mdadm-4.2 are listed here. * The patches about Intel Matrix Storage Manager (including VROC support), - super-intel.c: Handle errors from calls to get_dev_sector_size() - imsm: change wrong size verification - imsm: add generic method to resolve "device" links - imsm: add devpath_to_char method - imsm: Limit support to the lowest namespace - imsm: correct offset for 4k disks in --examine output - imsm: Fix possible memory leaks and refactor freeing struct dl - imsm: fix num_data_stripes after raid0 takeover - imsm: introduce helpers to manage file descriptors - imsm: free allocated memory in imsm_fix_size_mismatch - imsm: assert if there is migration but prev_map doesn't exist * The patches to fix program issues, - mdadm/super1: It needs to specify int32 for bitmap_offset - Fix memory leak after "mdadm --detail" - Utils: Change sprintf to snprintf - mdadm: fix coredump of mdadm --monitor -r - Fix error message when creating raid 4, 5 and 10 - Fix buffer size warning for strcp - Fix potential overlap dest buffer - Correct checking if file descriptors are valid - Monitor: print message before quit for no array to monitor * Improvement or bug fixes for mdadm itself, - Assemble: skip devices that don't match uuid instead of aborting the assembly. - Assemble: apply sysfs rules - Assemble: start dirty and degraded array. - Incremental: Close unclosed mdfd in IncrementalScan() - Monitor: make libudev dependency optional - Manage: Call validate_geometry when adding drive to external container - Remove Spare drives line from details for external metadata - Don't associate spares with other arrays during RAID Examine - Add error handling for chunk size in RAID1 - Add monitor delay parameter to mdadm.conf - disallow create or grow clustered bitmap with writemostly set - mdadm/Detail: Can't show container name correctly when unpluging disks - mdadm: block creation with long names - mdadm: fix growing containers - Remove the following patches because they are all included in mdadm-4.2, - 0001-Assemble-keep-MD_DISK_FAILFAST-and-MD_DISK_WRITEMOST.patch - 0002-Document-PART-POLICY-lines.patch - 0003-policy-support-devices-with-multiple-paths.patch - 0004-mdcheck-add-systemd-unit-files-to-run-mdcheck.patch - 0005-Monitor-add-system-timer-to-run-oneshot-periodically.patch - 0006-imsm-update-metadata-correctly-while-raid10-double-d.patch - 0007-Assemble-mask-FAILFAST-and-WRITEMOSTLY-flags-when-fi.patch - 0008-Grow-avoid-overflow-in-compute_backup_blocks.patch - 0009-Grow-report-correct-new-chunk-size.patch - 0010-policy.c-prevent-NULL-pointer-referencing.patch - 0012-policy.c-Fix-for-compiler-error.patch - 0013-imsm-finish-recovery-when-drive-with-rebuild-fails.patch - 0014-imsm-fix-reshape-for-2TB-drives.patch - 0015-Fix-spelling-typos.patch - 0016-Detail.c-do-not-skip-first-character-when-calling-xs.patch - 0018-Fix-reshape-for-decreasing-data-offset.patch - 0019-mdadm-tests-add-one-test-case-for-failfast-of-raid1.patch - 0020-mdmon-don-t-attempt-to-manage-new-arrays-when-termin.patch - 0021-mdmon-wait-for-previous-mdmon-to-exit-during-takeove.patch - 0022-Assemble-Fix-starting-array-with-initial-reshape-che.patch - 0023-add-missing-units-to-examine.patch - 0024-imsm-fix-spare-activation-for-old-matrix-arrays.patch - 0025-Create-Block-rounding-size-to-max.patch - 0026-udev-Add-udev-rules-to-create-by-partuuid-for-md-dev.patch - 0027-mdmon-fix-wrong-array-state-when-disk-fails-during-m.patch - 0028-Enable-probe_roms-to-scan-more-than-6-roms.patch - 0029-super-intel-Fix-issue-with-abs-being-irrelevant.patch - 0030-mdadm.h-Introduced-unaligned-get-put-_unaligned-16-3.patch - 0031-super-intel-Use-put_unaligned-in-split_ull.patch - 0032-mdadm-load-default-sysfs-attributes-after-assemblati.patch - 0033-mdadm.h-include-sysmacros.h-unconditionally.patch - 0034-mdadm-add-no-devices-to-avoid-component-devices-deta.patch - 0035-udev-add-no-devices-option-for-calling-mdadm-detail.patch - 0036-imsm-close-removed-drive-fd.patch - 0037-mdadm-check-value-returned-by-snprintf-against-error.patch - 0038-mdadm-Introduce-new-array-state-broken-for-raid0-lin.patch - 0039-mdadm-force-a-uuid-swap-on-big-endian.patch - 0040-mdadm-md.4-add-the-descriptions-for-bitmap-sysfs-nod.patch - 0041-Init-devlist-as-an-array.patch - 0042-Don-t-need-to-check-recovery-after-re-add-when-no-I-.patch - 0043-udev-allow-for-udev-attribute-reading-bug.patch - 0044-imsm-save-current_vol-number.patch - 0045-imsm-allow-to-specify-second-volume-size.patch - 0046-mdcheck-when-mdcheck_start-is-enabled-enable-mdcheck.patch - 0050-mdcheck-use-to-pass-variable-to-mdcheck.patch - 0051-SUSE-mdadm_env.sh-handle-MDADM_CHECK_DURATION.patch - 0052-super-intel-don-t-mark-structs-packed-unnecessarily.patch - 0053-Manage-Remove-the-legacy-code-for-md-driver-prior-to.patch - 0054-Remove-last-traces-of-HOT_ADD_DISK.patch - 0055-Fix-up-a-few-formatting-issues.patch - 0056-Remove-unused-code.patch - 0057-imsm-return-correct-uuid-for-volume-in-detail.patch - 0058-imsm-Change-the-way-of-printing-nvme-drives-in-detai.patch - 0059-Create-add-support-for-RAID0-layouts.patch - 0060-Assemble-add-support-for-RAID0-layouts.patch - 0061-Respect-CROSS_COMPILE-when-CC-is-the-default.patch - 0062-Change-warning-message.patch - 0063-mdcheck-service-can-t-start-succesfully-because-of-s.patch - 0064-imsm-Update-grow-manual.patch - 0065-Add-support-for-Tebibytes.patch - 0066-imsm-fill-working_disks-according-to-metadata.patch - 0067-mdadm.8-add-note-information-for-raid0-growing-opera.patch - 0068-Remove-the-legacy-whitespace.patch - 0069-imsm-pass-subarray-id-to-kill_subarray-function.patch - 0070-imsm-Remove-dump-restore-implementation.patch - 0071-Monitor-improve-check_one_sharer-for-checking-duplic.patch - 0072-Detail-adding-sync-status-for-cluster-device.patch - 0073-imsm-Correct-minimal-device-size.patch - 0074-Detail-show-correct-bitmap-info-for-cluster-raid-dev.patch - 0075-imsm-support-the-Array-Creation-Time-field-in-metada.patch - 0076-imsm-show-Subarray-and-Volume-ID-in-examine-output.patch - 0077-udev-Ignore-change-event-for-imsm.patch - 0078-Manage-imsm-Write-metadata-before-add.patch - 0079-Assemble-print-error-message-if-mdadm-fails-assembli.patch - 0080-clean-up-meaning-of-small-typo.patch - 0081-Assemble.c-respect-force-flag.patch - 0082-mdcheck-Log-when-done.patch - 0083-Makefile-add-EXTRAVERSION-support.patch - 0084-uuid.c-split-uuid-stuffs-from-util.c.patch - 0085-Include-count-for-0-character-when-using-strncpy-to-.patch - 0086-restripe-fix-ignoring-return-value-of-read-and-lseek.patch - 0087-Block-overwriting-existing-links-while-manual-assemb.patch - 0088-Detect-too-small-device-error-rather-than-underflow-.patch - 0089-Use-more-secure-HTTPS-URLs.patch - 0090-Update-link-to-Intel-page-for-IMSM.patch - 0091-mdadm-Grow-prevent-md-s-fd-from-being-occupied-durin.patch - 0092-Specify-nodes-number-when-updating-cluster-nodes.patch - 0093-mdadm-md.4-update-path-to-in-kernel-tree-documentati.patch - 0094-manual-update-examine-badblocks.patch - 0095-Detail-show-correct-raid-level-when-the-array-is-ina.patch - 0096-Don-t-create-bitmap-for-raid5-with-journal-disk.patch - 0097-Monitor-refresh-mdstat-fd-after-select.patch - 0098-Monitor-stop-notifing-about-containers.patch - 0099-mdmonitor-set-small-delay-once.patch - 0100-Check-if-other-Monitor-instance-running-before-fork.patch - 0101-Super1-allow-RAID0-layout-setting-to-be-removed.patch - 0102-Detail-fix-segfault-during-IMSM-raid-creation.patch - 0103-Create.c-close-mdfd-and-generate-uevent.patch - 0104-imsm-update-num_data_stripes-according-to-dev_size.patch - 0105-imsm-remove-redundant-calls-to-imsm_get_map.patch - 0106-Monitor-don-t-use-default-modes-when-creating-a-file.patch - 0107-imsm-limit-support-to-first-NVMe-namespace.patch - 0108-mdadm-Unify-forks-behaviour.patch - 0109-mdadm-Detail-show-correct-state-for-clustered-array.patch - 0110-Make-target-to-install-binaries-only.patch - 0111-udev-start-grow-service-automatically.patch - 0112-Incremental-Remove-redundant-spare-movement-logic.patch - 0113-Dump-get-stat-from-a-wrong-metadata-file-when-restor.patch - 0114-super1-fix-Floating-point-exception.patch - 0115-super1.c-avoid-useless-sync-when-bitmap-switches-fro.patch - 0116-imsm-nvme-multipath-support.patch - 0117-Grow-be-careful-of-corrupt-dev_roles-list.patch - 0118-Remove-Spare-drives-line-from-details-for-external-m.patch - 0119-Don-t-associate-spares-with-other-arrays-during-RAID.patch - 0120-udev-md-raid-assembly.rules-skip-if-DM_UDEV_DISABLE_.patch - 0121-imsm-support-for-third-Sata-controller.patch - The patch from SLE15-SP4 is removed because it is in mdadm-4.2 upstream already, - Monitor: print message before quit for no array to monitor (bsc#1183229) 0120-Monitor-print-message-before-quit-for-no-array-to-mo.patch- mdadm.spec: add EXTRAVERSION string to make command line (jsc#SLE-24761, bsc#1193566)- imsm: support for third Sata controller (bsc#1201297) 0121-imsm-support-for-third-Sata-controller.patch - mdadm: enable Intel Alderlake RSTe configuration (bsc#1201297) 1005-mdadm-enable-Intel-Alderlake-RSTe-configuration.patch- resource RAID failed during cluster patch, Mdadm gets floating point error (bsc#1197158) 1004-mdadm-super1-restore-commit-45a87c2f31335-to-fix-clu.patch- skip RAID assembly if DM_UDEV_DISABLE_OTHER_RULES_FLAG (bsc#1196054) * Add 0120-udev-md-raid-assembly.rules-skip-if-DM_UDEV_DISABLE_.patch- Use %{_sbindir} for prerequisite of mkinitrd to work with usrmerge of dracut-mkinitrd-deprecated- Install mdadm in _sbindir rather than /sbin. This is more appropriate now that we have a merged-/usr. (bsc#1191076)- Remove Spare drives line from details for external metadata (bsc#1180661, bsc#1182642) 0118-Remove-Spare-drives-line-from-details-for-external-m.patch - Don't associate spares with other arrays during RAID Examine (bsc#1180661, bsc#1182642) 0119-Don-t-associate-spares-with-other-arrays-during-RAID.patch- Grow: be careful of corrupt dev_roles list (bsc#1181619) 0117-Grow-be-careful-of-corrupt-dev_roles-list.patch- imsm: nvme multipath support (bsc#1175758) 0116-imsm-nvme-multipath-support.patch- cluster-md/mdadm : avoid useless re-sync (bsc#1181341) 0114-super1-fix-Floating-point-exception.patch 0115-super1.c-avoid-useless-sync-when-bitmap-switches-fro.patch- Incremental: Remove redundant spare movement logic (jsc#SLE-13700, bsc#1180220) 0112-Incremental-Remove-redundant-spare-movement-logic.patch - Dump: get stat from a wrong metadata file when restoring metadata (jsc#SLE-13700) 0113-Dump-get-stat-from-a-wrong-metadata-file-when-restor.patch- There are some important fixes merged in mdadm upstream which should go with jsc#SLE-13700. This is the update from upstream mdadm including the important fixes we should have. - Detail: show correct raid level when the array is inactive (jsc#SLE-13700) 0095-Detail-show-correct-raid-level-when-the-array-is-ina.patch - Don't create bitmap for raid5 with journal disk (jsc#SLE-13700) 0096-Don-t-create-bitmap-for-raid5-with-journal-disk.patch - Monitor: refresh mdstat fd after select (jsc#SLE-13700) 0097-Monitor-refresh-mdstat-fd-after-select.patch - Monitor: stop notifing about containers. (jsc#SLE-13700) 0098-Monitor-stop-notifing-about-containers.patch - mdmonitor: set small delay once (jsc#SLE-13700) 0099-mdmonitor-set-small-delay-once.patch - Check if other Monitor instance running before fork. (jsc#SLE-13700) 0100-Check-if-other-Monitor-instance-running-before-fork.patch - Super1: allow RAID0 layout setting to be removed. (jsc#SLE-13700) 0101-Super1-allow-RAID0-layout-setting-to-be-removed.patch - Detail: fix segfault during IMSM raid creation (jsc#SLE-13700) 0102-Detail-fix-segfault-during-IMSM-raid-creation.patch - Create.c: close mdfd and generate uevent (jsc#SLE-13700) 0103-Create.c-close-mdfd-and-generate-uevent.patch - imsm: update num_data_stripes according to dev_size (jsc#SLE-13700) 0104-imsm-update-num_data_stripes-according-to-dev_size.patch - imsm: remove redundant calls to imsm_get_map (jsc#SLE-13700) 0105-imsm-remove-redundant-calls-to-imsm_get_map.patch - Monitor: don't use default modes when creating a file (jsc#SLE-13700) 0106-Monitor-don-t-use-default-modes-when-creating-a-file.patch - imsm: limit support to first NVMe namespace (jsc#SLE-13700) 0107-imsm-limit-support-to-first-NVMe-namespace.patch - mdadm: Unify forks behaviour (jsc#SLE-13700) 0108-mdadm-Unify-forks-behaviour.patch - mdadm/Detail: show correct state for clustered array (jsc#SLE-13700) 0109-mdadm-Detail-show-correct-state-for-clustered-array.patch - Make target to install binaries only (jsc#SLE-13700) 0110-Make-target-to-install-binaries-only.patch - udev: start grow service automatically (jsc#SLE-13700) 0111-udev-start-grow-service-automatically.patch- Update to latest mdadm which is requested by jsc#SLE-13700 from partners. Mostly the purpose is for latest Intel IMSM raid support, while some other fixes are important too. - imsm: Correct minimal device size (jsc#SLE-13700) 0073-imsm-Correct-minimal-device-size.patch - Detail: show correct bitmap info for cluster raid device (jsc#SLE-13700) 0074-Detail-show-correct-bitmap-info-for-cluster-raid-dev.patch - imsm: support the Array Creation Time field in metadata (jsc#SLE-13700) 0075-imsm-support-the-Array-Creation-Time-field-in-metada.patch - imsm: show Subarray and Volume ID in --examine output (jsc#SLE-13700) 0076-imsm-show-Subarray-and-Volume-ID-in-examine-output.patch - udev: Ignore change event for imsm (jsc#SLE-13700) 0077-udev-Ignore-change-event-for-imsm.patch - Manage, imsm: Write metadata before add (jsc#SLE-13700) 0078-Manage-imsm-Write-metadata-before-add.patch - Assemble: print error message if mdadm fails assembling with --uuid option (jsc#SLE-13700) 0079-Assemble-print-error-message-if-mdadm-fails-assembli.patch - clean up meaning of small typo (jsc#SLE-13700) 0080-clean-up-meaning-of-small-typo.patch - Assemble.c: respect force flag (jsc#SLE-13700) 0081-Assemble.c-respect-force-flag.patch - mdcheck: Log when done (jsc#SLE-13700) 0082-mdcheck-Log-when-done.patch - Makefile: add EXTRAVERSION support (jsc#SLE-13700) 0083-Makefile-add-EXTRAVERSION-support.patch - uuid.c: split uuid stuffs from util.c (jsc#SLE-13700) 0084-uuid.c-split-uuid-stuffs-from-util.c.patch - Include count for \0 character when using strncpy to implement strdup. (jsc#SLE-13700) 0085-Include-count-for-0-character-when-using-strncpy-to-.patch - restripe: fix ignoring return value of read and lseek (jsc#SLE-13700) 0086-restripe-fix-ignoring-return-value-of-read-and-lseek.patch - Block overwriting existing links while manual assembly (jsc#SLE-13700) 0087-Block-overwriting-existing-links-while-manual-assemb.patch - Detect too-small device: error rather than underflow/crash (jsc#SLE-13700) 0088-Detect-too-small-device-error-rather-than-underflow-.patch - Use more secure HTTPS URLs (jsc#SLE-13700) 0089-Use-more-secure-HTTPS-URLs.patch - Update link to Intel page for IMSM (jsc#SLE-13700) 0090-Update-link-to-Intel-page-for-IMSM.patch - mdadm/Grow: prevent md's fd from being occupied during delayed time (jsc#SLE-13700) 0091-mdadm-Grow-prevent-md-s-fd-from-being-occupied-durin.patch - Specify nodes number when updating cluster nodes (jsc#SLE-13700) 0092-Specify-nodes-number-when-updating-cluster-nodes.patch - mdadm/md.4: update path to in-kernel-tree documentation (jsc#SLE-13700) 0093-mdadm-md.4-update-path-to-in-kernel-tree-documentati.patch - manual: update --examine-badblocks (jsc#SLE-13700) 0094-manual-update-examine-badblocks.patch- mdadm: treat the Dell softraid array as local array (bsc#1175004) 1003-mdadm-treat-the-Dell-softraid-array-as-local-array.patch- Fixes for %_libexecdir changing to /usr/libexec(bsc#1174075)- OnCalendar format fix of mdcheck_start.timer (bsc#1173137) 1002-OnCalendar-format-fix-of-mdcheck_start-timer.patch- Detail: adding sync status for cluster device (bsc#1163727) 0072-Detail-adding-sync-status-for-cluster-device.patch - Monitor: improve check_one_sharer() for checking duplicated process (bsc#1168953) 0071-Monitor-improve-check_one_sharer-for-checking-duplic.patch- Don't list XX@.services even for sevice_del_preun They cannot be stopped without an instance name, so there is no value in listing them, and it causes and error with "rpm -e mdadm --nodeps". (bsc#1093163)- Update for latest mdadm-4.1+ patches, this is required by jsc#SLE-10078 and jsc#SLE-9348. Mostly the purpose is for latest Intel IMSM raid support. The following patches also include previous patches with new re-ordered prefix numbers. - Makefile: install mdadm_env.sh to /usr/lib/mdadm (bsc#1111960) 0000-Makefile-install-mdadm_env.sh-to-usr-lib-mdadm.patch - Assemble: keep MD_DISK_FAILFAST and MD_DISK_WRITEMOSTLY flag (jsc#SLE-10078, jsc#SLE-9348) 0001-Assemble-keep-MD_DISK_FAILFAST-and-MD_DISK_WRITEMOST.patch - Document PART-POLICY lines (jsc#SLE-10078, jsc#SLE-9348) 0002-Document-PART-POLICY-lines.patch - policy: support devices with multiple paths. (jsc#SLE-10078, jsc#SLE-9348) 0003-policy-support-devices-with-multiple-paths.patch - mdcheck: add systemd unit files to run mdcheck. (bsc#1115407) 0004-mdcheck-add-systemd-unit-files-to-run-mdcheck.patch - Monitor: add system timer to run --oneshot periodically (bsc#1115407) 0005-Monitor-add-system-timer-to-run-oneshot-periodically.patch - imsm: update metadata correctly while raid10 double (jsc#SLE-10078, jsc#SLE-9348) 0006-imsm-update-metadata-correctly-while-raid10-double-d.patch - Assemble: mask FAILFAST and WRITEMOSTLY flags when finding (jsc#SLE-10078, jsc#SLE-9348) 0007-Assemble-mask-FAILFAST-and-WRITEMOSTLY-flags-when-fi.patch - Grow: avoid overflow in compute_backup_blocks() (jsc#SLE-10078, jsc#SLE-9348) 0008-Grow-avoid-overflow-in-compute_backup_blocks.patch - Grow: report correct new chunk size. (jsc#SLE-10078, jsc#SLE-9348) 0009-Grow-report-correct-new-chunk-size.patch - policy.c: prevent NULL pointer referencing (bsc#1106078) 0010-policy.c-prevent-NULL-pointer-referencing.patch - policy.c: Fix for compiler error (jsc#SLE-10078, jsc#SLE-9348) 0012-policy.c-Fix-for-compiler-error.patch - imsm: finish recovery when drive with rebuild fails (bsc#1126975) 0013-imsm-finish-recovery-when-drive-with-rebuild-fails.patch - imsm: fix reshape for >2TB drives (jsc#SLE-10078, jsc#SLE-9348) 0014-imsm-fix-reshape-for-2TB-drives.patch - Fix spelling typos. (jsc#SLE-10078, jsc#SLE-9348) 0015-Fix-spelling-typos.patch - Detail.c: do not skip first character when calling xstrdup in Detail() (bsc#1123814) 0016-Detail.c-do-not-skip-first-character-when-calling-xs.patch - Fix reshape for decreasing data offset (jsc#SLE-10078, jsc#SLE-9348) 0018-Fix-reshape-for-decreasing-data-offset.patch - mdadm/tests: add one test case for failfast of raid1 (jsc#SLE-10078, jsc#SLE-9348) 0019-mdadm-tests-add-one-test-case-for-failfast-of-raid1.patch - mdmon: don't attempt to manage new arrays when terminating (bsc#1127526) 0020-mdmon-don-t-attempt-to-manage-new-arrays-when-termin.patch - mdmon: wait for previous mdmon to exit during takeover (jsc#SLE-10078, jsc#SLE-9348) 0021-mdmon-wait-for-previous-mdmon-to-exit-during-takeove.patch - Assemble: Fix starting array with initial reshape checkpoint (jsc#SLE-10078, jsc#SLE-9348) 0022-Assemble-Fix-starting-array-with-initial-reshape-che.patch - add missing units to --examine (jsc#SLE-10078, jsc#SLE-9348) 0023-add-missing-units-to-examine.patch - imsm: fix spare activation for old matrix arrays (jsc#SLE-10078, jsc#SLE-9348) 0024-imsm-fix-spare-activation-for-old-matrix-arrays.patch - Create: Block rounding size to max (jsc#SLE-10078, jsc#SLE-9348) 0025-Create-Block-rounding-size-to-max.patch - udev: Add udev rules to create by-partuuid for md device (jsc#SLE-10078, jsc#SLE-9348) 0026-udev-Add-udev-rules-to-create-by-partuuid-for-md-dev.patch - mdmon: fix wrong array state when disk fails during mdmon (jsc#SLE-10078, jsc#SLE-9348) 0027-mdmon-fix-wrong-array-state-when-disk-fails-during-m.patch - Enable probe_roms to scan more than 6 roms. (bsc#1156040) 0028-Enable-probe_roms-to-scan-more-than-6-roms.patch - super-intel: Fix issue with abs() being irrelevant (jsc#SLE-10078, jsc#SLE-9348) 0029-super-intel-Fix-issue-with-abs-being-irrelevant.patch - mdadm.h: Introduced unaligned {get,put}_unaligned{16,32}() (jsc#SLE-10078, jsc#SLE-9348) 0030-mdadm.h-Introduced-unaligned-get-put-_unaligned-16-3.patch - super-intel: Use put_unaligned in split_ull (jsc#SLE-10078, jsc#SLE-9348) 0031-super-intel-Use-put_unaligned-in-split_ull.patch - mdadm: load default sysfs attributes after assemblation (jsc#SLE-10078, jsc#SLE-9348) 0032-mdadm-load-default-sysfs-attributes-after-assemblati.patch - mdadm.h: include sysmacros.h unconditionally (jsc#SLE-10078, jsc#SLE-9348) 0033-mdadm.h-include-sysmacros.h-unconditionally.patch - mdadm: add --no-devices to avoid component devices detail (bsc#1139709) 0034-mdadm-add-no-devices-to-avoid-component-devices-deta.patch - udev: add --no-devices option for calling 'mdadm (bsc#1139709) 0035-udev-add-no-devices-option-for-calling-mdadm-detail.patch - imsm: close removed drive fd. (jsc#SLE-10078, jsc#SLE-9348) 0036-imsm-close-removed-drive-fd.patch - mdadm: check value returned by snprintf against errors (jsc#SLE-10078, jsc#SLE-9348) 0037-mdadm-check-value-returned-by-snprintf-against-error.patch - mdadm: Introduce new array state 'broken' for raid0/linear (jsc#SLE-10078, jsc#SLE-9348) 0038-mdadm-Introduce-new-array-state-broken-for-raid0-lin.patch - mdadm: force a uuid swap on big endian (jsc#SLE-10078, jsc#SLE-9348) 0039-mdadm-force-a-uuid-swap-on-big-endian.patch - mdadm/md.4: add the descriptions for bitmap sysfs nodes (jsc#SLE-10078, jsc#SLE-9348) 0040-mdadm-md.4-add-the-descriptions-for-bitmap-sysfs-nod.patch - Init devlist as an array (jsc#SLE-10078, jsc#SLE-9348) 0041-Init-devlist-as-an-array.patch - Don't need to check recovery after re-add when no I/O writes (jsc#SLE-10078, jsc#SLE-9348) 0042-Don-t-need-to-check-recovery-after-re-add-when-no-I-.patch - udev: allow for udev attribute reading bug. (jsc#SLE-10078, jsc#SLE-9348) 0043-udev-allow-for-udev-attribute-reading-bug.patch - imsm: save current_vol number (jsc#SLE-10078, jsc#SLE-9348) 0044-imsm-save-current_vol-number.patch - imsm: allow to specify second volume size (jsc#SLE-10078, jsc#SLE-9348) 0045-imsm-allow-to-specify-second-volume-size.patch - mdcheck: when mdcheck_start is enabled, enable (bsc#1153258) 0046-mdcheck-when-mdcheck_start-is-enabled-enable-mdcheck.patch - mdcheck: use ${} to pass variable to mdcheck (bsc#1153258) 0050-mdcheck-use-to-pass-variable-to-mdcheck.patch - SUSE-mdadm_env.sh: handle MDADM_CHECK_DURATION (bsc#1153258) 0051-SUSE-mdadm_env.sh-handle-MDADM_CHECK_DURATION.patch - super-intel: don't mark structs 'packed' unnecessarily (jsc#SLE-10078, jsc#SLE-9348) 0052-super-intel-don-t-mark-structs-packed-unnecessarily.patch - Manage: Remove the legacy code for md driver prior to 0.90.03 (jsc#SLE-10078, jsc#SLE-9348) 0053-Manage-Remove-the-legacy-code-for-md-driver-prior-to.patch - Remove last traces of HOT_ADD_DISK (jsc#SLE-10078, jsc#SLE-9348) 0054-Remove-last-traces-of-HOT_ADD_DISK.patch - Fix up a few formatting issues (jsc#SLE-10078, jsc#SLE-9348) 0055-Fix-up-a-few-formatting-issues.patch - Remove unused code (jsc#SLE-10078, jsc#SLE-9348) 0056-Remove-unused-code.patch - imsm: return correct uuid for volume in detail (jsc#SLE-10078, jsc#SLE-9348) 0057-imsm-return-correct-uuid-for-volume-in-detail.patch - imsm: Change the way of printing nvme drives in (jsc#SLE-10078, jsc#SLE-9348) 0058-imsm-Change-the-way-of-printing-nvme-drives-in-detai.patch - Create: add support for RAID0 layouts. (bsc#1162479) 0059-Create-add-support-for-RAID0-layouts.patch - Assemble: add support for RAID0 layouts. (bsc#1162479) 0060-Assemble-add-support-for-RAID0-layouts.patch - Respect $(CROSS_COMPILE) when $(CC) is the default (jsc#SLE-10078, jsc#SLE-9348) 0061-Respect-CROSS_COMPILE-when-CC-is-the-default.patch - Change warning message (jsc#SLE-10078, jsc#SLE-9348) 0062-Change-warning-message.patch - mdcheck service can't start succesfully because of syntax (jsc#SLE-10078, jsc#SLE-9348) 0063-mdcheck-service-can-t-start-succesfully-because-of-s.patch - imsm: Update grow manual. (jsc#SLE-10078, jsc#SLE-9348) 0064-imsm-Update-grow-manual.patch - Add support for Tebibytes (jsc#SLE-10078, jsc#SLE-9348) 0065-Add-support-for-Tebibytes.patch - imsm: fill working_disks according to metadata. (jsc#SLE-10078, jsc#SLE-9348) 0066-imsm-fill-working_disks-according-to-metadata.patch - mdadm.8: add note information for raid0 growing operation (bsc#1129900) 0067-mdadm.8-add-note-information-for-raid0-growing-opera.patch - Remove the legacy whitespace (jsc#SLE-10078, jsc#SLE-9348) 0068-Remove-the-legacy-whitespace.patch - imsm: pass subarray id to kill_subarray function (jsc#SLE-10078, jsc#SLE-9348) 0069-imsm-pass-subarray-id-to-kill_subarray-function.patch - imsm: Remove --dump/--restore implementation (jsc#SLE-10078, jsc#SLE-9348) 0070-imsm-Remove-dump-restore-implementation.patch- Rename the following patches, they will be listed with new re-ordered prefix number in following commit, 0001-Document-PART-POLICY-lines.patch 0001-Makefile-install-mdadm_env.sh-to-usr-lib-mdadm.patch 0002-policy-support-devices-with-multiple-paths.patch 0003-mdcheck-add-systemd-unit-files-to-run-mdcheck.patch 0004-Monitor-add-system-timer-to-run-oneshot-periodically.patch 0005-imsm-update-metadata-correctly-while-raid10-double-d.patch 0006-Grow-avoid-overflow-in-compute_backup_blocks.patch 0007-Grow-report-correct-new-chunk-size.patch 0008-policy.c-prevent-NULL-pointer-referencing.patch 0009-Detail.c-do-not-skip-first-character-when-calling-xs.patch 0010-imsm-finish-recovery-when-drive-with-rebuild-fails.patch 0011-mdmon-don-t-attempt-to-manage-new-arrays-when-termin.patch 0012-mdcheck-when-mdcheck_start-is-enabled-enable-mdcheck.patch 0013-mdcheck-use-to-pass-variable-to-mdcheck.patch 0014-SUSE-mdadm_env.sh-handle-MDADM_CHECK_DURATION.patch 0015-Create-add-support-for-RAID0-layouts.patch 0016-Assemble-add-support-for-RAID0-layouts.patch 1002-mdadm.8-add-note-information-for-raid0-growing-opera.patch- Enable probe_roms to scan more than 6 roms. (bsc#1156040) 0028-Enable-probe_roms-to-scan-more-than-6-roms.patch- Add mdadm fixes from SLE15-SP1 package, - Create: add support for RAID0 layouts. (bsc#1162479) 0059-Create-add-support-for-RAID0-layouts.patch - Assemble: add support for RAID0 layouts. (bsc#1162479) 0060-Assemble-add-support-for-RAID0-layouts.patch - mdadm.8: add note information for raid0 growing operation (bsc#1129900) 0067-mdadm.8-add-note-information-for-raid0-growing-opera.patch- Create: add support for RAID0 layouts. (bsc#1162479) 0015-Create-add-support-for-RAID0-layouts.patch - Assemble: add support for RAID0 layouts. (bsc#1162479) 0016-Assemble-add-support-for-RAID0-layouts.patch - mdadm.8: add note information for raid0 growing operation (bsc#1129900) 1002-mdadm.8-add-note-information-for-raid0-growing-opera.patch- 0012-mdcheck-when-mdcheck_start-is-enabled-enable-mdcheck.patch 0013-mdcheck-use-to-pass-variable-to-mdcheck.patch 0014-SUSE-mdadm_env.sh-handle-MDADM_CHECK_DURATION.patch Improve mdcheck (bsc#1153258)- imsm: finish recovery when drive with rebuild fails (bsc#1126975) 0010-imsm-finish-recovery-when-drive-with-rebuild-fails.patch - mdmon: don't attempt to manage new arrays when terminating (bsc#1127526) 0011-mdmon-don-t-attempt-to-manage-new-arrays-when-termin.patch- Detail.c: do not skip first character when calling xstrdup in Detail() (bsc#1123814) 0009-Detail.c-do-not-skip-first-character-when-calling-xs.patch- Update description. Remove references to historic software.- 0001-Document-PART-POLICY-lines.patch 0002-policy-support-devices-with-multiple-paths.patch 0008-policy.c-prevent-NULL-pointer-referencing.patch (bsc#1106078) - 0003-mdcheck-add-systemd-unit-files-to-run-mdcheck.patch 0004-Monitor-add-system-timer-to-run-oneshot-periodically.patch Remove mdadm.cron Remove crond.mdadm (bsc#1115407) - 0005-imsm-update-metadata-correctly-while-raid10-double-d.patch 0006-Grow-avoid-overflow-in-compute_backup_blocks.patch 0007-Grow-report-correct-new-chunk-size.patch Other useful upstream patches.- Update mdadm code base to mdadm-4.1 (FATE#325869, bsc#1111960) - Assorted bug-fixes, minor improvements, and code cleanup - Add PPL support (alternate change-journalling model) - Fix Makefile to install mdadm_env.sh to /usr/lib/mdadm/ (bsc#1111960) 0001-Makefile-install-mdadm_env.sh-to-usr-lib-mdadm.patch - Remove the following code base and patches since they are in mdadm-4.1 already, - mdadm-4.0.tar.xz - 0001-Makefile-Fix-date-to-be-output-in-ISO-format.patch - 0002-imsm-fix-missing-error-message-during-migration.patch - 0003-Fix-oddity-where-mdadm-did-not-recognise-a-relative-.patch - 0004-mdadm-check-the-nodes-when-operate-clustered-array.patch - 0005-examine-tidy-up-some-code.patch - 0006-mdadm-add-man-page-for-symlinks.patch - 0007-mdadm-add-checking-clustered-bitmap-in-assemble-mode.patch - 0008-mdadm-Add-Wimplicit-fallthrough-0-in-Makefile.patch - 0009-mdadm-Specify-enough-length-when-write-to-buffer.patch - 0010-mdadm-it-doesn-t-make-sense-to-set-bitmap-twice.patch - 0011-mdadm-Monitor-Fix-NULL-pointer-dereference-when-stat.patch - 0012-Replace-snprintf-with-strncpy-at-some-places-to-avoi.patch - 0013-mdadm-Forced-type-conversion-to-avoid-truncation.patch - 0014-super1-ignore-failfast-flag-for-setting-device-role.patch - 0015-mdadm-bitmap-fixed-typos-in-comments-of-bitmap.h.patch - 0016-udev-md-raid-assembly.rules-Skip-non-ready-devices.patch - 0017-Retry-HOT_REMOVE_DISK-a-few-times.patch - 0018-mdadm-Build-check-the-level-parameter-when-build-new.patch - 0019-Introduce-sys_hot_remove_disk.patch - 0020-Add-force-flag-to-hot_remove_disk.patch - 0021-Detail-handle-non-existent-arrays-better.patch - 0022-Generic-support-for-consistency-policy-and-PPL.patch - 0023-Detail-show-consistency-policy.patch - 0024-imsm-PPL-support.patch - 0025-super1-PPL-support.patch - 0026-Add-ppl-and-no-ppl-options-for-update.patch - 0027-Grow-support-consistency-policy-change.patch - 0028-mdadm.h-struct-mdinfo-reorganize-ppl-elements-for-be.patch - 0029-super1-replace-hard-coded-values-with-bit-definition.patch - 0030-mdadm-Clean-up-some-ugly-multiple-actions-on-single-.patch - 0031-mdadm-Fixup-a-number-of-whitespace-inconsistency-cas.patch - 0032-util-Cosmetic-changes.patch - 0033-Grow-Fixup-a-pile-of-cosmetic-issues.patch - 0034-Grow-Remove-unnecessary-optimization.patch - 0035-Grow-Do-not-shadow-an-existing-variable.patch - 0036-imsm-use-rounded-size-for-metadata-initialization.patch - 0037-mdadm.c-fix-compile-error-switch-condition-has-boole.patch - 0038-mdadm-Create-declaring-an-existing-struct-within-sam.patch - 0039-Create-Fixup-bad-placement-of-logical-in-multi-line-.patch - 0040-Create-Fixup-various-whitespace-issues.patch - 0041-mdadm.c-fix-compile-warning-mdfd-is-uninitialized.patch - 0042-mdopen-use-parameters-new_array-to-create-arrays-whe.patch - 0043-mdadm-manpage-update-manpage-for-readonly-parameter.patch - 0044-mdadm-manpage-clustered-arrays-don-t-support-array-s.patch - 0045-maps-Terminate-modes-map-correctly.patch - 0046-Grow_continue_command-ensure-content-is-properly-ini.patch - 0047-systemd-mdadm-last-resort-use-ConditionPathExists-in.patch - 0048-Detail-ensure-export-names-are-acceptable-as-shell-v.patch - 0049-Grow-set-component-size-prior-to-array-size.patch - 0050-Grow-don-t-allow-to-enable-PPL-when-reshape-is-in-pr.patch - 0051-Grow-don-t-allow-array-geometry-change-with-ppl-enab.patch - 0052-IMSM-Correct-examine-output-for-4k-disks.patch - 0053-imsm-allow-drives-in-a-container-regardless-of-secto.patch - 0054-imsm-allocate-buffer-to-support-maximum-sector-size.patch - 0055-imsm-don-t-allow-disks-with-different-sector-size-in.patch - 0056-mdadm-mdmon-deleted-the-abort_reshape-never-invoked.patch - 0057-util-Introduce-md_get_array_info.patch - 0058-Incremental-Remove-redundant-call-for-GET_ARRAY_INFO.patch - 0059-util-Introduce-md_get_disk_info.patch - 0060-util-Introduce-md_set_array_info.patch - 0061-md_u-Remove-some-unused-ioctl-declarations.patch - 0062-mdadm-grow-reshape-would-be-stuck-from-raid1-to-raid.patch - 0063-sysfs-Use-the-presence-of-sys-block-dev-md-as-indica.patch - 0064-sysfs-Make-sysfs_init-return-an-error-code.patch - 0065-util-must_be_container-Use-sysfs_read-GET_VERSION-to.patch - 0066-util-set_array_info-Simplify-code-since-md_get_versi.patch - 0067-Assemble-Assemble-Stop-checking-kernel-md-driver-ver.patch - 0068-Build-Stop-bothering-about-supporting-md-driver-olde.patch - 0069-Grow-Stop-bothering-about-md-driver-versions-older-t.patch - 0070-Detail-Stop-bothering-about-md-drivers-older-than-0..patch - 0071-Create-Remove-all-attemps-to-handle-md-driver-older-.patch - 0072-Manage-Remove-all-references-to-md_get_version.patch - 0073-Query-Remove-all-references-to-md_get_version.patch - 0074-bitmap-Remove-use-of-md_get_version.patch - 0075-mdmon-Stop-bothering-about-md_get_version.patch - 0076-mdopen-open_mddev-Use-md_get_array_info-to-determine.patch - 0077-mdassemble-Use-md_get_array_info-to-check-for-valid-.patch - 0078-Assemble-Assemble-Get-rid-of-last-use-of-md_get_vers.patch - 0079-util-Finally-kill-off-md_get_version.patch - 0080-mdadm-Fail-for-kernels-older-than-2.6.15.patch - 0081-Revert-mdadm-grow-reshape-would-be-stuck-from-raid1-.patch - 0082-Retire-mdassemble.patch - 0083-super1-Clean-up-various-style-abuses.patch - 0084-Detail-Remove-pre-2.6-code-for-printing-info-on-rebu.patch - 0085-Assemble-Remove-obsolete-test-for-kernels-older-than.patch - 0086-Detail-Fixup-ugly-if-foo-abuse.patch - 0087-Query-Handle-error-returned-by-fstat.patch - 0088-Query-Use-sysfs-to-obtain-data-if-possible.patch - 0089-sysfs-Parse-array_state-in-sysfs_read.patch - 0090-util-Introduce-md_array_active-helper.patch - 0091-maps-Use-keyvalue-for-null-terminator-to-indicate-un.patch - 0092-util-Get-rid-of-unused-enough_fd.patch - 0093-mdadm-retire-mdassemble-in-make-everything.patch - 0094-Query-Quiet-gcc-since-it-cannot-know-errno-0-in-this.patch - 0095-Makefile-Default-to-O2-optimization.patch - 0096-maps-Simplify-implementation-of-map_name.patch - 0097-Don-t-use-UnSet-with-consistency_policy.patch - 0098-Detail-determine-array-state-from-sysfs.patch - 0099-Detail-Respect-code-lines-are-80-character-wide.patch - 0100-Detail-Reinstate-support-for-not-having-sysfs.patch - 0101-Incremental-Use-md_array_active-where-applicable.patch - 0102-Incremental-Cleanup-some-if-statement-spaghetti.patch - 0103-Create-tell-udev-md-device-is-not-ready-when-first-c.patch - 0104-Incremental-Use-md_array_active-to-determine-state-o.patch - 0105-Manage-Manage_ro-Use-md_array_active.patch - 0106-IMSM-Initialize-my_vol_raid_dev_num-during-vol-creat.patch - 0107-Grow-Grow_continue_command-Avoid-aliasing-array-vari.patch - 0108-change-back-0644-permission-for-Grow.c.patch - 0109-util-md_array_valid-Introduce-md_array_valid-helper.patch - 0110-kernel-patch-Remove-obsolete-kernel-patches-against-.patch - 0111-mdassemble-Kill-off-the-last-remains.patch - 0112-mdadm-util-unify-fstat-checking-blkdev-into-function.patch - 0113-mdadm-util-unify-stat-checking-blkdev-into-function.patch - 0114-Fix-typo-in-new-udev-rule.patch - 0115-Incremental-return-is-not-a-function.patch - 0116-sysfs-sysfs_read-Count-active_disks-and-failed_disks.patch - 0117-container_members_max_degradation-Switch-to-using-sy.patch - 0118-IncrementalScan-Use-md_array_active-instead-of-md_ge.patch - 0119-Mention-endian-in-documentation-for-update-byte-orde.patch - 0120-Monitor-Use-md_array_active-instead-of-manually-fidd.patch - 0121-Monitor-Code-is-80-characters-per-line.patch - 0122-mdadm-md.4-set-page-length-as-1000-to-avoid-warnings.patch - 0123-Allow-more-spare-selection-criteria.patch - 0124-Add-sector-size-as-spare-selection-criterion.patch - 0125-Monitor-check_array-Centralize-exit-path.patch - 0126-Monitor-check_array-Reduce-duplicated-error-handling.patch - 0127-Monitor-check_array-Declate-mdinfo-instance-globally.patch - 0128-Monitor-check_array-Read-sysfs-entry-earlier.patch - 0129-Monitor-check_array-Obtain-RAID-level-from-syfs.patch - 0130-Monitor-check_array-Get-failed_disks-from-sysfs.patch - 0131-Monitor-check_array-Get-array_disks-from-sysfs.patch - 0132-Monitor-check_array-Get-nr_disks-active_disks-and-sp.patch - 0133-sysfs-sysfs_read-Count-working_disks.patch - 0134-Monitor-check_array-Use-working_disks-from-sysfs.patch - 0135-retire-the-APIs-that-driver-no-longer-supports.patch - 0136-Monitor-Not-much-point-declaring-mdlist-in-both-fork.patch - 0137-Monitor-mailfrom-is-initialized-correctly.patch - 0138-Monitor-Fixup-a-pile-of-whitespace-issues.patch - 0139-mdadm-Uninitialized-variable-rdev.patch - 0140-super-ddf-sysfs_read-takes-a-pointer-as-device-name-.patch - 0141-mdadm-Fixup-a-large-number-of-bad-formatting-of-logi.patch - 0142-mdadm-Fixup-more-broken-logical-operator-formatting.patch - 0143-mdadm-Fix-broken-formatting.patch - 0144-mdadm-Fixup-broken-formatting.patch - 0145-Detail-don-t-exit-if-ioctl-has-been-successful.patch - 0146-super1-fix-sb-max_dev-when-adding-a-new-disk-in-line.patch - 0147-md_u-Remove-unused-ioctl-declaration-of-START_ARRAY.patch - 0148-Get-failed-disk-count-from-array-state.patch - 0149-Monitor-don-t-assume-mdadm-parameter-is-a-block-devi.patch - 0150-super1-Always-round-data-offset-to-1M.patch - 0151-mdadm-r5cache-allow-adding-journal-to-array-without-.patch - 0152-udev-rules-introduce-rules-for-cluster-md-to-confirm.patch - 0153-Detail-correct-output-for-active-arrays.patch - 0154-imsm-rebuild-from-2-disk-RAID10.patch - 0155-Error-messages-should-end-with-a-newline-character.patch - 0156-Use-correct-syntax-for-passing-DEVLINKS-to-mdadm-fro.patch - 0157-super1-only-set-clustered-flag-when-bitmap-is-presen.patch - 0158-Don-t-use-exit-ERANGE.patch - 0159-Monitor-containers-don-t-have-the-same-sysfs-propert.patch - 0160-Monitor-Include-containers-in-spare-migration.patch - 0161-Detail-differentiate-between-container-and-inactive-.patch - 0162-mdadm-install-two-more-udev-rules-in-mdadm.spec.patch - 0163-mdadm-set-journal_clean-after-scanning-all-disks.patch - 0164-mdadm-bitmap-examine-bitmap-failed-when-bitmap-is-ex.patch - 0165-mdopen-call-modprobe-md_mod-if-it-might-be-needed.patch - 0166-lib-devid2kname-should-take-a-dev_t.patch - 0167-sysfs_init_dev-take-a-dev_t-argument.patch - 0168-Manage_subdevs-Use-a-dev_t.patch - 0169-util-Code-is-80-characters-wide.patch - 0170-Close-mdfd-before-returning-main-function.patch - 0171-Grow-stop-previous-reshape-process-first.patch - 0172-imsm-New-disk-controller-domains.patch - 0173-Monitor-Check-redundancy-for-arrays.patch - 0174-mdadm-grow-Component-size-must-be-larger-than-chunk-.patch - 0175-mdadm-manpage-disable-bitmap_resize-for-external-fil.patch - 0176-mdadm-fixes-some-trivial-typos-in-comments.patch - 0177-Don-t-abort-starting-the-array-if-kernel-does-not-su.patch - 0178-super1-Add-support-for-multiple-ppls.patch - 0179-imsm-Add-support-for-multiple-ppls.patch - 0180-imsm-validate-multiple-ppls-during-assemble.patch - 0181-Zeroout-whole-ppl-space-during-creation-force-assemb.patch - 0182-imsm-switch-to-multiple-ppls-automatically-during-as.patch - 0183-Grow-fix-switching-on-PPL-during-recovery.patch - 0184-imsm-don-t-skip-resync-when-an-invalid-ppl-header-is.patch - 0185-imsm-Write-empty-PPL-header-if-assembling-regular-cl.patch - 0186-imsm-always-do-ppl-recovery-when-starting-a-rebuildi.patch - 0187-imsm-use-correct-map-when-validating-ppl.patch - 0188-imsm-write-initial-ppl-on-a-disk-added-for-rebuild.patch - 0189-Grow-Use-all-80-characters.patch - 0190-imsm-Set-disk-slot-number.patch - 0191-mdmon-get-safe-mode-delay-file-descriptor-early.patch - 0192-mdadm-mdstat-fixup-a-number-of-broken-formatting.patch - 0193-mdadm-mdstat-correct-the-strncmp-number-4-as-6.patch - 0194-mdcheck-add-some-logging.patch - 0195-mdcheck-improve-cleanup.patch - 0197-mdadm-grow-adding-a-test-to-ensure-resize-was-requir.patch - 0198-mdadm-mdopen-create-new-function-create_named_array-.patch - 0199-systemd-add-I-to-description-of-mdadm-last-resort-se.patch - 0200-Incremental-Use-validate_geometry-instead-of-avail_s.patch - 0201-imsm-fix-reading-scsi-serial.patch - 0202-To-support-clustered-raid10.patch - 0203-imsm-More-precise-message-when-spanned-raid-is-creat.patch - 0204-sysfs-include-faulty-drive-in-disk-count.patch - 0205-Monitor-msg-Don-t-print-error-message-if-mdmon-doesn.patch - 0206-imsm-continue-resync-on-3-disk-RAID10.patch - 0207-managemon-Don-t-add-disk-to-the-array-after-it-has-s.patch - 0208-mdadm-grow-correct-the-s-size-1-to-make-max-work.patch - 0209-policy.c-Avoid-to-take-spare-without-defined-domain-.patch - 0210-mdadm-allow-clustered-raid10-to-be-created-with-defa.patch- Add missing patches which exist in SLE12-SP3 and should be in SLE15 too, - mdadm: improve the dlm locking mechanism for clustered raid (bsc#1049126) 0218-mdadm-improve-the-dlm-locking-mechanism-for-clustere.patch - Assemble: provide protection when clustered raid do assemble (bsc#1049126) 0219-Assemble-provide-protection-when-clustered-raid-do-a.patch - Assemble: cleanup the failure path (bsc#1049126) 0220-Assemble-cleanup-the-failure-path.patch - Assemble: remove the protection when clustered raid do assemble (bsc#1101348) 0221-Assemble-remove-the-protection-when-clustered-raid-d.patch - 1001-display-timeout-status.patch- mdadm.spec Change %doc to %license for COPYING file, which was warned during 'osc ci'.- imsm: change reserved space to 4MB (bsc#1101110) 0212-imsm-change-reserved-space-to-4MB.patch - imsm: add functions to get and set imsm dev size (bsc#1101110) 0213-imsm-add-functions-to-get-and-set-imsm-dev-size.patch - imsm: pass already existing map to imsm_num_data_members (bsc#1101110) 0214-imsm-pass-already-existing-map-to-imsm_num_data_memb.patch - imsm: do not use blocks_per_member in array size calculations (bsc#1101110) 0215-imsm-do-not-use-blocks_per_member-in-array-size-calc.patch - imsm: correct num_data_stripes in metadata map for migration (bsc#1101110) 0216-imsm-correct-num_data_stripes-in-metadata-map-for-mi.patch - mdadm/grow: correct size and chunk_size casting (bsc#1095177) 0217-mdadm-grow-correct-size-and-chunk_size-casting.patch- Assemble: prevent segfault with faulty "best" devices (bsc#1082766, bsc#1095729) 0211-Assemble-prevent-segfault-with-faulty-best-devices.patch- mdadm: allow clustered raid10 to be created with default layout (bsc#1083881) 0210-mdadm-allow-clustered-raid10-to-be-created-with-defa.patch- policy.c: Avoid to take spare without defined domain by imsm (bsc#1076588) 0209-policy.c-Avoid-to-take-spare-without-defined-domain-.patch- 0208-mdadm-grow-correct-the-s-size-1-to-make-max-work.patch (bsc#1074949)- 0207-managemon-Don-t-add-disk-to-the-array-after-it-has-s.patch (bsc#1073862)- Update mdadm for SLE15, for bug fixes and new feature enhancement - 1000-The-mdcheck-script-now-adds-messages-to-the-system.patch is removed because upstream has similar fix with almost identical funcationality. - The following patches are not deleted indeed, they are renamed and added into all other new-added patches with different perfix numbers, 0038-Create-Fixup-bad-placement-of-logical-in-multi-line-.patch 0039-Create-Fixup-various-whitespace-issues.patch 0040-mdadm.c-fix-compile-warning-mdfd-is-uninitialized.patch 0041-mdopen-use-parameters-new_array-to-create-arrays-whe.patch 0042-mdadm-manpage-update-manpage-for-readonly-parameter.patch 0043-mdadm-manpage-clustered-arrays-don-t-support-array-s.patch 0044-maps-Terminate-modes-map-correctly.patch 0045-Grow_continue_command-ensure-content-is-properly-ini.patch 0046-systemd-mdadm-last-resort-use-ConditionPathExists-in.patch 0047-Detail-ensure-export-names-are-acceptable-as-shell-v.patch 0048-Grow-set-component-size-prior-to-array-size.patch 0049-Grow-don-t-allow-to-enable-PPL-when-reshape-is-in-pr.patch 0050-Grow-don-t-allow-array-geometry-change-with-ppl-enab.patch 0051-IMSM-Correct-examine-output-for-4k-disks.patch 0052-imsm-allow-drives-in-a-container-regardless-of-secto.patch 0053-imsm-allocate-buffer-to-support-maximum-sector-size.patch 0054-imsm-don-t-allow-disks-with-different-sector-size-in.patch 0055-Allow-more-spare-selection-criteria.patch 0056-Add-sector-size-as-spare-selection-criterion.patch 0057-super1-fix-sb-max_dev-when-adding-a-new-disk-in-line.patch 0058-super1-only-set-clustered-flag-when-bitmap-is-presen.patch 0059-To-support-clustered-raid10.patch 0060-udev-rules-introduce-rules-for-cluster-md-to-confirm.patch - The following patche set includes the above renamed patches, they have bug fixes for bsc#1068030, bsc#1069165, bsc#1069167, and some other fixes and enhancement for raid5 ppl, imsm, and general mdadm code, 0038-mdadm-Create-declaring-an-existing-struct-within-sam.patch 0039-Create-Fixup-bad-placement-of-logical-in-multi-line-.patch 0040-Create-Fixup-various-whitespace-issues.patch 0041-mdadm.c-fix-compile-warning-mdfd-is-uninitialized.patch 0042-mdopen-use-parameters-new_array-to-create-arrays-whe.patch 0043-mdadm-manpage-update-manpage-for-readonly-parameter.patch 0044-mdadm-manpage-clustered-arrays-don-t-support-array-s.patch 0045-maps-Terminate-modes-map-correctly.patch 0046-Grow_continue_command-ensure-content-is-properly-ini.patch 0047-systemd-mdadm-last-resort-use-ConditionPathExists-in.patch 0048-Detail-ensure-export-names-are-acceptable-as-shell-v.patch 0049-Grow-set-component-size-prior-to-array-size.patch 0050-Grow-don-t-allow-to-enable-PPL-when-reshape-is-in-pr.patch 0051-Grow-don-t-allow-array-geometry-change-with-ppl-enab.patch 0052-IMSM-Correct-examine-output-for-4k-disks.patch 0053-imsm-allow-drives-in-a-container-regardless-of-secto.patch 0054-imsm-allocate-buffer-to-support-maximum-sector-size.patch 0055-imsm-don-t-allow-disks-with-different-sector-size-in.patch 0056-mdadm-mdmon-deleted-the-abort_reshape-never-invoked.patch 0057-util-Introduce-md_get_array_info.patch 0058-Incremental-Remove-redundant-call-for-GET_ARRAY_INFO.patch 0059-util-Introduce-md_get_disk_info.patch 0060-util-Introduce-md_set_array_info.patch 0061-md_u-Remove-some-unused-ioctl-declarations.patch 0062-mdadm-grow-reshape-would-be-stuck-from-raid1-to-raid.patch 0063-sysfs-Use-the-presence-of-sys-block-dev-md-as-indica.patch 0064-sysfs-Make-sysfs_init-return-an-error-code.patch 0065-util-must_be_container-Use-sysfs_read-GET_VERSION-to.patch 0066-util-set_array_info-Simplify-code-since-md_get_versi.patch 0067-Assemble-Assemble-Stop-checking-kernel-md-driver-ver.patch 0068-Build-Stop-bothering-about-supporting-md-driver-olde.patch 0069-Grow-Stop-bothering-about-md-driver-versions-older-t.patch 0070-Detail-Stop-bothering-about-md-drivers-older-than-0..patch 0071-Create-Remove-all-attemps-to-handle-md-driver-older-.patch 0072-Manage-Remove-all-references-to-md_get_version.patch 0073-Query-Remove-all-references-to-md_get_version.patch 0074-bitmap-Remove-use-of-md_get_version.patch 0075-mdmon-Stop-bothering-about-md_get_version.patch 0076-mdopen-open_mddev-Use-md_get_array_info-to-determine.patch 0077-mdassemble-Use-md_get_array_info-to-check-for-valid-.patch 0078-Assemble-Assemble-Get-rid-of-last-use-of-md_get_vers.patch 0079-util-Finally-kill-off-md_get_version.patch 0080-mdadm-Fail-for-kernels-older-than-2.6.15.patch 0081-Revert-mdadm-grow-reshape-would-be-stuck-from-raid1-.patch 0082-Retire-mdassemble.patch 0083-super1-Clean-up-various-style-abuses.patch 0084-Detail-Remove-pre-2.6-code-for-printing-info-on-rebu.patch 0085-Assemble-Remove-obsolete-test-for-kernels-older-than.patch 0086-Detail-Fixup-ugly-if-foo-abuse.patch 0087-Query-Handle-error-returned-by-fstat.patch 0088-Query-Use-sysfs-to-obtain-data-if-possible.patch 0089-sysfs-Parse-array_state-in-sysfs_read.patch 0090-util-Introduce-md_array_active-helper.patch 0091-maps-Use-keyvalue-for-null-terminator-to-indicate-un.patch 0092-util-Get-rid-of-unused-enough_fd.patch 0093-mdadm-retire-mdassemble-in-make-everything.patch 0094-Query-Quiet-gcc-since-it-cannot-know-errno-0-in-this.patch 0095-Makefile-Default-to-O2-optimization.patch 0096-maps-Simplify-implementation-of-map_name.patch 0097-Don-t-use-UnSet-with-consistency_policy.patch 0098-Detail-determine-array-state-from-sysfs.patch 0099-Detail-Respect-code-lines-are-80-character-wide.patch 0100-Detail-Reinstate-support-for-not-having-sysfs.patch 0101-Incremental-Use-md_array_active-where-applicable.patch 0102-Incremental-Cleanup-some-if-statement-spaghetti.patch 0103-Create-tell-udev-md-device-is-not-ready-when-first-c.patch 0104-Incremental-Use-md_array_active-to-determine-state-o.patch 0105-Manage-Manage_ro-Use-md_array_active.patch 0106-IMSM-Initialize-my_vol_raid_dev_num-during-vol-creat.patch 0107-Grow-Grow_continue_command-Avoid-aliasing-array-vari.patch 0108-change-back-0644-permission-for-Grow.c.patch 0109-util-md_array_valid-Introduce-md_array_valid-helper.patch 0110-kernel-patch-Remove-obsolete-kernel-patches-against-.patch 0111-mdassemble-Kill-off-the-last-remains.patch 0112-mdadm-util-unify-fstat-checking-blkdev-into-function.patch 0113-mdadm-util-unify-stat-checking-blkdev-into-function.patch 0114-Fix-typo-in-new-udev-rule.patch 0115-Incremental-return-is-not-a-function.patch 0116-sysfs-sysfs_read-Count-active_disks-and-failed_disks.patch 0117-container_members_max_degradation-Switch-to-using-sy.patch 0118-IncrementalScan-Use-md_array_active-instead-of-md_ge.patch 0119-Mention-endian-in-documentation-for-update-byte-orde.patch 0120-Monitor-Use-md_array_active-instead-of-manually-fidd.patch 0121-Monitor-Code-is-80-characters-per-line.patch 0122-mdadm-md.4-set-page-length-as-1000-to-avoid-warnings.patch 0123-Allow-more-spare-selection-criteria.patch 0124-Add-sector-size-as-spare-selection-criterion.patch 0125-Monitor-check_array-Centralize-exit-path.patch 0126-Monitor-check_array-Reduce-duplicated-error-handling.patch 0127-Monitor-check_array-Declate-mdinfo-instance-globally.patch 0128-Monitor-check_array-Read-sysfs-entry-earlier.patch 0129-Monitor-check_array-Obtain-RAID-level-from-syfs.patch 0130-Monitor-check_array-Get-failed_disks-from-sysfs.patch 0131-Monitor-check_array-Get-array_disks-from-sysfs.patch 0132-Monitor-check_array-Get-nr_disks-active_disks-and-sp.patch 0133-sysfs-sysfs_read-Count-working_disks.patch 0134-Monitor-check_array-Use-working_disks-from-sysfs.patch 0135-retire-the-APIs-that-driver-no-longer-supports.patch 0136-Monitor-Not-much-point-declaring-mdlist-in-both-fork.patch 0137-Monitor-mailfrom-is-initialized-correctly.patch 0138-Monitor-Fixup-a-pile-of-whitespace-issues.patch 0139-mdadm-Uninitialized-variable-rdev.patch 0140-super-ddf-sysfs_read-takes-a-pointer-as-device-name-.patch 0141-mdadm-Fixup-a-large-number-of-bad-formatting-of-logi.patch 0142-mdadm-Fixup-more-broken-logical-operator-formatting.patch 0143-mdadm-Fix-broken-formatting.patch 0144-mdadm-Fixup-broken-formatting.patch 0145-Detail-don-t-exit-if-ioctl-has-been-successful.patch 0146-super1-fix-sb-max_dev-when-adding-a-new-disk-in-line.patch 0147-md_u-Remove-unused-ioctl-declaration-of-START_ARRAY.patch 0148-Get-failed-disk-count-from-array-state.patch 0149-Monitor-don-t-assume-mdadm-parameter-is-a-block-devi.patch 0150-super1-Always-round-data-offset-to-1M.patch 0151-mdadm-r5cache-allow-adding-journal-to-array-without-.patch 0152-udev-rules-introduce-rules-for-cluster-md-to-confirm.patch 0153-Detail-correct-output-for-active-arrays.patch 0154-imsm-rebuild-from-2-disk-RAID10.patch (bsc#1069165) 0155-Error-messages-should-end-with-a-newline-character.patch 0156-Use-correct-syntax-for-passing-DEVLINKS-to-mdadm-fro.patch 0157-super1-only-set-clustered-flag-when-bitmap-is-presen.patch 0158-Don-t-use-exit-ERANGE.patch 0159-Monitor-containers-don-t-have-the-same-sysfs-propert.patch 0160-Monitor-Include-containers-in-spare-migration.patch 0161-Detail-differentiate-between-container-and-inactive-.patch 0162-mdadm-install-two-more-udev-rules-in-mdadm.spec.patch 0163-mdadm-set-journal_clean-after-scanning-all-disks.patch 0164-mdadm-bitmap-examine-bitmap-failed-when-bitmap-is-ex.patch 0165-mdopen-call-modprobe-md_mod-if-it-might-be-needed.patch 0166-lib-devid2kname-should-take-a-dev_t.patch 0167-sysfs_init_dev-take-a-dev_t-argument.patch 0168-Manage_subdevs-Use-a-dev_t.patch 0169-util-Code-is-80-characters-wide.patch 0170-Close-mdfd-before-returning-main-function.patch 0171-Grow-stop-previous-reshape-process-first.patch 0172-imsm-New-disk-controller-domains.patch 0173-Monitor-Check-redundancy-for-arrays.patch 0174-mdadm-grow-Component-size-must-be-larger-than-chunk-.patch 0175-mdadm-manpage-disable-bitmap_resize-for-external-fil.patch 0176-mdadm-fixes-some-trivial-typos-in-comments.patch (The following 12 patches are specifically for bsc#1068030) 0177-Don-t-abort-starting-the-array-if-kernel-does-not-su.patch 0178-super1-Add-support-for-multiple-ppls.patch 0179-imsm-Add-support-for-multiple-ppls.patch 0180-imsm-validate-multiple-ppls-during-assemble.patch 0181-Zeroout-whole-ppl-space-during-creation-force-assemb.patch 0182-imsm-switch-to-multiple-ppls-automatically-during-as.patch 0183-Grow-fix-switching-on-PPL-during-recovery.patch 0184-imsm-don-t-skip-resync-when-an-invalid-ppl-header-is.patch 0185-imsm-Write-empty-PPL-header-if-assembling-regular-cl.patch 0186-imsm-always-do-ppl-recovery-when-starting-a-rebuildi.patch 0187-imsm-use-correct-map-when-validating-ppl.patch 0188-imsm-write-initial-ppl-on-a-disk-added-for-rebuild.patch 0189-Grow-Use-all-80-characters.patch 0190-imsm-Set-disk-slot-number.patch (The following 1 patch is specifically for bsc#1069167) 0191-mdmon-get-safe-mode-delay-file-descriptor-early.patch 0192-mdadm-mdstat-fixup-a-number-of-broken-formatting.patch 0193-mdadm-mdstat-correct-the-strncmp-number-4-as-6.patch 0194-mdcheck-add-some-logging.patch 0195-mdcheck-improve-cleanup.patch 0196-Move-mdadm_env.sh-out-of-usr-lib-systemd.patch 0197-mdadm-grow-adding-a-test-to-ensure-resize-was-requir.patch 0198-mdadm-mdopen-create-new-function-create_named_array-.patch 0199-systemd-add-I-to-description-of-mdadm-last-resort-se.patch 0200-Incremental-Use-validate_geometry-instead-of-avail_s.patch 0201-imsm-fix-reading-scsi-serial.patch 0202-To-support-clustered-raid10.patch 0203-imsm-More-precise-message-when-spanned-raid-is-creat.patch 0204-sysfs-include-faulty-drive-in-disk-count.patch 0205-Monitor-msg-Don-t-print-error-message-if-mdmon-doesn.patch 0206-imsm-continue-resync-on-3-disk-RAID10.patch- Add udev rules for cluster-md to confirm device (fate#316335) 0060-udev-rules-introduce-rules-for-cluster-md-to-confirm.patch- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- Add one mdadm patch to support clustered raid10 (fate#323171) 0059-To-support-clustered-raid10.patch- SLE15 continues to use mdadm-4.0, synchronize mdadm package from SLE12-SP3 to SLE15, re-order all patches. - Rename the following patches, they are deleted and re-add in next part of patches 0001-Generic-support-for-consistency-policy-and-PPL.patch 0002-Detail-show-consistency-policy.patch 0002-The-mdcheck-script-now-adds-messages-to-the-system.patch 0003-imsm-PPL-support.patch 0004-super1-PPL-support.patch 0005-Add-ppl-and-no-ppl-options-for-update.patch 0006-Grow-support-consistency-policy-change.patch 0007-udev-md-raid-assembly.rules-Skip-non-ready-devices.patch 0008-Retry-HOT_REMOVE_DISK-a-few-times.patch 0009-Introduce-sys_hot_remove_disk.patch 0010-Add-force-flag-to-hot_remove_disk.patch 0011-Detail-handle-non-existent-arrays-better.patch - Synchronize patches from mdadm of SLE12-SP3, the above renamed patches are re-add here, 0001-Makefile-Fix-date-to-be-output-in-ISO-format.patch 0002-imsm-fix-missing-error-message-during-migration.patch 0003-Fix-oddity-where-mdadm-did-not-recognise-a-relative-.patch 0004-mdadm-check-the-nodes-when-operate-clustered-array.patch 0005-examine-tidy-up-some-code.patch 0006-mdadm-add-man-page-for-symlinks.patch 0007-mdadm-add-checking-clustered-bitmap-in-assemble-mode.patch 0008-mdadm-Add-Wimplicit-fallthrough-0-in-Makefile.patch 0009-mdadm-Specify-enough-length-when-write-to-buffer.patch 0010-mdadm-it-doesn-t-make-sense-to-set-bitmap-twice.patch 0011-mdadm-Monitor-Fix-NULL-pointer-dereference-when-stat.patch 0012-Replace-snprintf-with-strncpy-at-some-places-to-avoi.patch 0013-mdadm-Forced-type-conversion-to-avoid-truncation.patch 0014-super1-ignore-failfast-flag-for-setting-device-role.patch 0015-mdadm-bitmap-fixed-typos-in-comments-of-bitmap.h.patch 0016-udev-md-raid-assembly.rules-Skip-non-ready-devices.patch 0017-Retry-HOT_REMOVE_DISK-a-few-times.patch 0018-mdadm-Build-check-the-level-parameter-when-build-new.patch 0019-Introduce-sys_hot_remove_disk.patch 0020-Add-force-flag-to-hot_remove_disk.patch 0021-Detail-handle-non-existent-arrays-better.patch 0022-Generic-support-for-consistency-policy-and-PPL.patch 0023-Detail-show-consistency-policy.patch 0024-imsm-PPL-support.patch 0025-super1-PPL-support.patch 0026-Add-ppl-and-no-ppl-options-for-update.patch 0027-Grow-support-consistency-policy-change.patch 0028-mdadm.h-struct-mdinfo-reorganize-ppl-elements-for-be.patch 0029-super1-replace-hard-coded-values-with-bit-definition.patch 0030-mdadm-Clean-up-some-ugly-multiple-actions-on-single-.patch 0031-mdadm-Fixup-a-number-of-whitespace-inconsistency-cas.patch 0032-util-Cosmetic-changes.patch 0033-Grow-Fixup-a-pile-of-cosmetic-issues.patch 0034-Grow-Remove-unnecessary-optimization.patch 0035-Grow-Do-not-shadow-an-existing-variable.patch 0036-imsm-use-rounded-size-for-metadata-initialization.patch 0037-mdadm.c-fix-compile-error-switch-condition-has-boole.patch 0038-Create-Fixup-bad-placement-of-logical-in-multi-line-.patch 0039-Create-Fixup-various-whitespace-issues.patch 0040-mdadm.c-fix-compile-warning-mdfd-is-uninitialized.patch 0041-mdopen-use-parameters-new_array-to-create-arrays-whe.patch 0042-mdadm-manpage-update-manpage-for-readonly-parameter.patch 0043-mdadm-manpage-clustered-arrays-don-t-support-array-s.patch 0044-maps-Terminate-modes-map-correctly.patch 0045-Grow_continue_command-ensure-content-is-properly-ini.patch 0046-systemd-mdadm-last-resort-use-ConditionPathExists-in.patch 0047-Detail-ensure-export-names-are-acceptable-as-shell-v.patch 0048-Grow-set-component-size-prior-to-array-size.patch 0049-Grow-don-t-allow-to-enable-PPL-when-reshape-is-in-pr.patch 0050-Grow-don-t-allow-array-geometry-change-with-ppl-enab.patch 0051-IMSM-Correct-examine-output-for-4k-disks.patch 0052-imsm-allow-drives-in-a-container-regardless-of-secto.patch 0053-imsm-allocate-buffer-to-support-maximum-sector-size.patch 0054-imsm-don-t-allow-disks-with-different-sector-size-in.patch 0055-Allow-more-spare-selection-criteria.patch 0056-Add-sector-size-as-spare-selection-criterion.patch 0057-super1-fix-sb-max_dev-when-adding-a-new-disk-in-line.patch 0058-super1-only-set-clustered-flag-when-bitmap-is-presen.patch 1000-The-mdcheck-script-now-adds-messages-to-the-system.patch- New upstream release 4.0 Multiple bugfixes and various enhancements including IMSM support for bad blocks and 4K block devices. (FATE#321941) - DELETE 0001-super1-Clear-memory-allocated-for-superblock-bitmap-.patch this was included upstream - 0001-Generic-support-for-consistency-policy-and-PPL.patch - 0002-Detail-show-consistency-policy.patch - 0003-imsm-PPL-support.patch - 0004-super1-PPL-support.patch - 0005-Add-ppl-and-no-ppl-options-for-update.patch - 0006-Grow-support-consistency-policy-change.patch Add support for Partial Parity Logs (FATE#321941) - 0007-udev-md-raid-assembly.rules-Skip-non-ready-devices.patch (bsc#956236) - 0008-Retry-HOT_REMOVE_DISK-a-few-times.patch (bsc#808647) - 0009-Introduce-sys_hot_remove_disk.patch (bsc#974154) - 0010-Add-force-flag-to-hot_remove_disk.patch (bsc#808647) - 0011-Detail-handle-non-existent-arrays-better.patch (bsc#966773)- Added 0002-The-mdcheck-script-now-adds-messages-to-the-system.patch The mdcheck bash script now writes messages to the syslog about progress with check.- Do not list XXX@.service files for anything but service_del_preun. They cannot be restarted by systemctl as they are just templates. They don't need to be restarted at reinstall anyway. (bsc#979749)- New upstream release mdadm-3.4 Adds support for clustered-raid1 and journalled raid5 - 0001-super1-Clear-memory-allocated-for-superblock-bitmap-.patch Important upstream bugfix relating to uninialised memory.- Add missing pre-requres for initrd macros (boo#958562)- Own %{_systemdshutdowndir} in case nothing else does. This ensures build success even if systemd-mini does not own it (happens in some versions of our package).- Do not BuildRequire systemd: it conflicts with systemd-mini, pulled in by systemd-mini-devel (due to BuildRequires: pkgconfig(systemd)). The reason systemd was added as a buildrequires was for 'something' to onw /usr/lib/systemd/system-shutdown/; systemd-mini does that also for us.- new upstream version 3.3.4. Important bugfix to honour IMSM ROM settings when RAID is disabled. (bsc#939748 bsc#937363)- new upstream version 3.3.3. Lots of bug fixes, particular "mdadm --assemble --force" would often not do the right thing for RAID5. - 0001-Grow-Do-not-try-to-restart-if-reshape-is-running.patch 0001-Grow-fix-removal-of-line-in-wrong-case.patch 0001-IMSM-Add-warning-message-when-assemble-spanned-conta.patch 0001-Makefile-install-mdadm-grow-continue-.service.patch mdcheck-careful.patch mdcheck-no-devices.fix All removed as now included upstream.- Make it build, that is build-require pkgconfig of udev and the package systemd as this one is the owner of the directory /usr/lib/systemd/system-shutdown- 0001-IMSM-Add-warning-message-when-assemble-spanned-conta.patch (bnc#882634) - 0001-Grow-Do-not-try-to-restart-if-reshape-is-running.patch (bnc#887773)- mdcheck-careful.patch Be careful about reading all output of "mdadm --detail --export" as shell commands - it isn't quoted. (bnc#910500)- mdcheck-no-devices.fix mdcheck mustn't report an error if not md devices exist (bnc#903051)/bin/sh/bin/sh/bin/sh/bin/shh04-ch1a 1763136486  !"#$%&'()*+,-./012345674.3+33.g22c212a5-150600.3.17.24.3+33.g22c212a5-150600.3.17.2 mdadmmdmonsystem-shutdownmdadm.shutdownmdadm-grow-continue@.servicemdadm-last-resort@.servicemdadm-last-resort@.timermdcheck_continue.servicemdcheck_continue.timermdcheck_start.servicemdcheck_start.timermdmon@.servicemdmonitor-oneshot.servicemdmonitor-oneshot.timermdmonitor.service01-md-raid-creating.rules63-md-raid-arrays.rules64-md-raid-assembly.rules69-md-clustered-confirm-device.ruleslibexecmdadmmdadm_env.shmdadmmdmonrcmdmonitormdadmChangeLogREADME.initramfsSoftware-RAID.HOWTO-1.htmlSoftware-RAID.HOWTO-10.htmlSoftware-RAID.HOWTO-11.htmlSoftware-RAID.HOWTO-12.htmlSoftware-RAID.HOWTO-13.htmlSoftware-RAID.HOWTO-2.htmlSoftware-RAID.HOWTO-3.htmlSoftware-RAID.HOWTO-4.htmlSoftware-RAID.HOWTO-5.htmlSoftware-RAID.HOWTO-6.htmlSoftware-RAID.HOWTO-7.htmlSoftware-RAID.HOWTO-8.htmlSoftware-RAID.HOWTO-9.htmlSoftware-RAID.HOWTO.htmlSoftware-RAID.HOWTO.txtTODOmdadm.conf-examplemkinitramfssysconfig.mdadmmdadmCOPYINGmd.4.gzmdadm.conf.5.gzmdadm.8.gzmdmon.8.gzmdadmmdcheck/sbin//usr/lib/systemd//usr/lib/systemd/system-shutdown//usr/lib/systemd/system//usr/lib/udev/rules.d//usr//usr/libexec//usr/libexec/mdadm//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/mdadm//usr/share/fillup-templates//usr/share/licenses//usr/share/licenses/mdadm//usr/share/man/man4//usr/share/man/man5//usr/share/man/man8//usr/share//usr/share/mdadm/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:41638/SUSE_SLE-15-SP6_Update/bf617587889bcd23bd729b045878cc0c-mdadm.SUSE_SLE-15-SP6_Updatedrpmxz5x86_64-suse-linux directoryPOSIX shell script, ASCII text executableASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3faac440ff6f0666eaae2d93cad7b1ba88b9af6a, for GNU/Linux 4.3.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=ad02b3b92ffe66277217a71ac575f00caa56757c, for GNU/Linux 4.3.0, strippedHTML document, ASCII textASCII text, with escape sequences, with overstrikingtroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)Bourne-Again shell script, ASCII text executable%RRRRR RRRRRRRR RRRRRRR RRRR RRRRRRRRRRRRR R~6wĶiwUr8p if test -x /usr/lib/module-init-tools/regenerate-initrd-posttrans; then /bin/bash -c 'set +e; /usr/lib/module-init-tools/regenerate-initrd-posttrans' fi/bin/shutf-898752cec7a35efc5a122dc81909399a47734dc0553716603c0d6d72849cfbca2?7zXZ !t/ K]"k%a)/]P08>KT5֙Ch /.%e- 6`7@|dA0BMل-mE^0NE,#MC_AG;o:W jNIzR"޾/3sab:G4ڬk(nsekA^F<~G䘢%[ph3^el5j_-WKB[z2sU~g.4{N♗*P Ӟp*bNMq>OgJw4ywd]^E2Ώ=Wp{ )+`Uj;ӷT/Ɗg>nà =䠉?cej6]ᅔVLko\_lN,m7I*#E 74yK D);DbPN^1 uAWb Vɑ:rWٙVfD?wbcCӠ5HdM@b?+aU8heRoGLR~'t$+9nW*/E* H(f^]ó#~fГ e7n*(FrḰ7KMxءX $W,n<ܭlU ;?I=2Y>&eşQ#l~pqTif}ud-s@׋ixJE=QU?{'f\ΊU Z<" sR6lnTop*HcOKfQ&9YVc i?6tTH[~{Ŷ ^~(AC:f|n;L v5XOW?9ã'z7ҩJ=Oqf5X޶fi=OV[#` q rB?9O3]tRC{QyflsV# ;^q{>=Nг[={p[6% |X_탸 SGz H-}9^4I*[!4ף!*N ? h3?r) K*ct#0:%|L;$yГso0 ­P92w0'MN >JAbcn WmupխÿҎauXtqѰeoƳ]U&|.S 8UG͖Lb&h.\T>c'p4Pփvj2= 1Ɲ>4fiq AIr6 !'g[7Ϯx\Qbk`|'ṚtT[NaKN,߱dX;eԷ~Rvy9[i0t!9, ~ lY/}wW6#ez[-Jsק3NգOɐ%RsxYjX{Le APsC!5n:ENEޞqAe0/?#x9-S%PWrJF]]m`;{&0d6wyյI +2P?8 ~$4Ũ |UӣDsOk]+V^Ȫ1[wHJF^3#S-+Iib6ۛB4I\Sm <2\E|]?̑sjaPFGaoNŻ2JbEhu˂/Al4]T?fVfGד:'. B.Ues:p {; 8C' ͅKɠΪP:+̸k u@ %XY6ٙ^Hs%&5D\oR.tb4s⠤:ɼKp YRMGR nydWtU%HQ Cp%xZguŒbGDv h Fι  Gm2kArgB7!yTo@/F~#G:Be;oe?0`MNX*1˧U~bI:No)V'TȠ@G8C]@}#ZNѫp-w &[lHxé0C#Tmz]ͯhbDd񌌾k:*VM߿E3qr,U|f|r(8>K L)|#I0VM lYfьFI-GLGCKaheRRxsB$i"Cyq~2=( am #PvM2'"?/tGRriCAan8 &*l YkXNլ`KEa$Z,yFA6k8S@D$~4" }SpH=8xo/uඩ,Óν n >UC1{GtסEBʗ>:\FE(pJ} 9&6K+}N;&'ũjoBUƯk_$IAȸGX6w~F] df]ILbduq:"K2IC?lIжViUAY *8a# W-uc^ ,jB]=pao#N54[~ZԋZցO7JGUưݖ&zo{]`xzdDc#Ut^E g%Nܕ$oa-]+ޝ[OQ4*ͳt>v1;O `q$KJ(q*MJ`JYUz&T017JG'XJ0)XY7^a\dƙN0ʀ?JY! "zM5J>T|&a5p5aɍAcZf:LE0Yyݿ #k59d%o~KWS|CL:p(BrܿRi?Ec3kxXI3tpFHkpx^nH4n!LO>Lxx(%Wh=`j8=3E67QGT#RE?S.U3^1" 0>KӨ&īע'g^@^lLfoN Z;MֶKZ#vҋ'Wd&BStz3=luYy}_<GZpk]u= ﺂC (\~Ҙ0+-Wi}!9nƌfWUS|'wT- ;a#Nn_Iki:."dO,q5+:Y3+Pp;=f4J>"/h0fb% \Wgn~b莖۾vBkBMy HqްhlKԞF+j8FKm/ShY{߿VoajnҚa~߯ YؽdhM?ԂpxBZ⠙Ah{R=5PAI680)֟mIM[K5E! a5AY\1 ׵٤"+TDjnCp_=MS7TLGM$~Tq*cB3Q@bf|skㅊ% 0n?:i0/:bsA jqA|;<.w,m|@:0ዕص~g ά|P'_"ҞЪk!?N/^i(zGԆQPl efQ.ǩUD|G\O8P03Q,e1.K,lg049R:3zKl"l =Ĝ$Z6|Hv> ˪v:9?O2h?ȈK6$BAzR V{He `k7V׍ᘼVsb{kqc DwFh@+\e *A\{WCz dp=!aHiv_ k6]e>z:RQȚVG|6,+YB>Wh˾(7up.ϟ8G9:ϧ.ʓN'.`G:3m^8^D-Q"_nkx4D'w]ԕVujI- ,̀nU ;qg֜#{L_G︡;{|ރ2YQ6?ǔ}!q(| g+1Sg^6Tõ(Y1+%&ʺx]p5> ͣ8Io*C66w4iڿsDPD!]2H9 fN==V>9J$QU-/RϢ4gյnЛ+(ktT+)PäSYX ` y4)dz3_p58 z"[I ۏ?مpݪBZQt(&U Uk=6{h\cjOS׭ }1JA[ FzrȞ1`!~)ǩ'rۀn&!]0a߬\r3VW*#Bl=T%3I`OLD=B1cEO&֑-S wOfi gp$c7f逹MZ_Oy0‰09HlT}O?+0ocA3!0EZ o8T|pxfRt$`P=rמTJFAc<).W -A4ZE9iŴ6- := dS[CQ(/{ʰ61,yumon % \٨p5`.KI(GBem'D#%VL8;LZcЏmVLkWk00rv`+˹8 _{0wX1& UC+Q,^ˁkeJd)hӺ Й.zF mA[Yz2INpޭ)䍫{ NFKM9J48C/(JYTWK8(7#z5˴d7/4ETB$塠sx+֤.⏂Pu<|$ GFc{V|"]e0v.u~4px;Z>IAGCn.RdrK[ǿ.sWvC,S-_Xڑ;zNUQ!>1lDߍ|r]A Rֱb$0'P8j?rk#ɖI` nK?VHut|Wy+91W/ 6;QNkO8 Ʋ{>ѵV`\2r4A~# яP*"9:Jh-+oƥ` TغɿvW"xC[EF6ȧPbZr !O@ =L38kJ6< OC:P_2eyˊ>jaKm*p,6 ^3j>sWM'l%bj]b;{f`|+2$;{D\h(GmrqܫOQۆNCjzV3)-h2 4Vu e6pkYUp$,AGBMpDxD6ܿ9 g\NI / L[u왩Ъ3VdӀFT~̵2Iv1INGh}-ȐkDa!'DD.H_UY3؂u)œzvl ޕq& w'>yf-[ BC#:~\ׇ$"b |!?HSŇ󜠩VI;MHLy;IcfXycDǞL^ "F<B!Cnjk/N1a2#3# :8ƂR}tN'':-Έ~aXTJp9kl`4N>mM G`a&$^7lwm}'É^(ea-#;FUA>}[z )ErXpgPxUT$Œk0S; I|D6t0zU٤t-jCb꺑ҠZnk^wɫG]F¹MC kH'z:*S++?wtDVt㦁U>6&ow>wr,>m;6p2Grؘ oew=?S3W) ,̲'&Su\_\ V%(J#ůw ~KE:~+%M*7?8a"DCjuFZe~B (`aOv-Iik#&Sue!hՎ1UkVuOP5PnGgmjbs5n+0WhnITS=Oy: q纥丈9P$F6j?҃{/VO 0`)54V޳/Wh%=S<{llU]i [̺ލV0XO< {x'0t!]WSM.c C;M VQ@GQyc^_!Ng+V%D!}i;,V!F2[lj~+ptpA!h  Ba_RŠʬ2MxLVYC?})&$z9:V``@g9_8쵛=o̐n{X|b#m,dц_caIJs{۸-(\V)ɻOL/h5>U͡鬢DW90vt0V0/nK:n`e ,]Ate dqџ'ViT1E)1t;gkZ滟X+J O"zsꙐQNBkI،&4 L] X?APk [Ζзӻ 8pMq !~=6r7P$Ęb 402twQǟT77 bs%fOr^IAz$3̊1ǧKq vkhA KA Q3KAǹ>mnOLaV-76Y\UP$B f9 =pY1ged(p;OEgAa \ݯF^s9CkpGaj`ѿPSiu-UMGs]~ .s}gUqI ~m VSWv 1KVr P@3?9+y0V kw/x m4 <۱TQ_[*bF#nas. Z Á6a!ew r50S8h [v)2!_d(dZ@w@ K Cd`MJs0><1uw9Wt}J?iϿc 7Ѿ"}tay t_N۠%|kbW. H`0or.G.yy.Bm,]اb_Cn]nq̬}=Z$~  //_i >q$%sh^⡘Wt |XŮLTn0;&gc(̉x)d7Ɛ/Wbi/cNAwFvrQ#7~%K}xYbe9{†3swdJUl5:;RoZm"D?w~V\[f;tnwJ†ˤiWcA(B=cLdW MVז= oQ# fJ{G6Kۗa*/h\ޗ#%j|TlRgqT#ߓɈB'!vN t:ok\CVS8qofP32Ŕ ŋS=B㿰lM¸')ۘv=asVPfb=&5'NPO8?#V sl\TGDKGEUim QõYz8FTmhbKUf y׉zVw~J%>fR/Tx7ڇKGe #Xd[Kv6k0M_&/-%THէ# Zm6fL&CsOK!QnM-hp 3!pr+cWCqV:pUD6ℴ7B'&Is[/cK4=?N +ZQ/$lT,`ChȂ?',F 9kā+\30l2:״,HbG K٩5ۆX݄|`teezm;`S]:ᙯwA :6,ZdW,1vr :]~$~5"Aה{LeOrʟ"+HV㥂s[Bs8K,n 7>^tO"J䗂(UԂ-3_ =J%v:S DCwI0gܮc9??'=-kCIP b ).qvjmE|IB|[ Iirk"1]]!EkSAѲHCq ylqB8E,aJze, 'җx<чv($&s>Kp sfsyo5DF0Y88ӧh2e篮ipߠ+Ր꼹?v&BQa s =ݤdgg8Uv5< &^qدOg,Kx>4ɰΏPne7`#r9쿐$bZ/zq=6E 2ـq~9'Pf84d fO&f[mՄ 쵐t3y æѷzkTWO*<= 51WX3~0swp,fn}Kӵo?xȼ#Ba*"/˾ևcjmxᏝ\7vg .0l Kp^?aU+=}i.cP'w}ehLb5ՄhqMcµWeg+H*wNm|89[Gzf@ VXz5l-n Z]oZ-;T}HB@OΞl:=.Frux;тIf{Sߏ1L.ڊ#ysu?.T_Co=/$J-&BVWۍbC;J ] <@>R:n?7+xWݺ;;nةE1*wex,0(+A$)72/urEO*<+΁)eъn{ `fGQ?{bD,3rV04)n,"N!c{ 7*k6ERs'EB"nG/:HР4q자1Qnpҥ@lNGhIGnEڡXBEja)UMtړIaAe63GNgor)s" x h3&6$f@=Ae|VK5P7ؐljsu0^M_ Yr6 KdKDE/zJ#-2R@=OBL<5j7̝׏([ &J80 wW2PuSA3 D sB/rIߓ]m̶BuuJiAsѵ3n-苻wAaͅZ+ !͋^ZW0f秺YN C{RǡnFHJdD6`AWΖEt}6VJ$nBuғx8iAÉfkcPF]PIdgFCOj:$N`+>s~bRWxLF>FǼno^,ijVo*3 |t ǀZj@,fSj5;eEA" pf<L2` B.Fxc%'/~ŀ44bv׀{u0fC%0eq`\ɫp%^\X\Ynn,Нպ Y]x YRM@i NdQ k0`99An!WR ʗ;nUD=N?!w3Hm/Ex7TVMNӏG4}<16t,nvg: K@C9К#\e4*ۃ[WnAjZVo`t{Q17|(> *fldS,/։y}ocEQ*PnRZv橕8;Wy8CO<Ǟ$| !ZӼ(g:nGKu_dޜůԮ6З"HUM/Z$TD߆ܯz)ݺOl;+i-L-LA3תEDX:/^ Uz9J8pOe)]GvS)~djwcRNI**^,Nj`*ZlD{񢽺z+vyi Z=m@IΈz8)-}{H6҇5^*^AeL_[53MthnϢv]%bcw#6`{Rj;Nֳ"G7ДG\8x"i۵~ ,+ HE0K\d,z\(%mkB-?lG TpmWjb#cZH}#e!aJ&]7,{lf Xx&(ۦ/v-Nvx{ LiH62+X 21Xo N Vp\n"b+ ]y>/"4TYFx. (<~ 'cYrt.*#}Dn\ *Q*j=f2TfOuwȾm>AlU 7['_Y.F>ՑsmeJn?%PhlUy*vWUjO(!;KrOJN?wE_Hacr`͘Fn Qc46SL6d;No-7ĦQV<FhC׀YJEĖ Γqp74`Օ0 A >D3}=3ae\`˖l`[9 P lTdYe\[S/$\8!䝏>0X{@Ǘ+Oo3[r)ba򰅍_qKٴf B/16E8DtA4]%9ڹ9x>V0h9a Hh*2y͚׮xZ~)Rw*,3E4:|/H'n~m&aDВM]NM>QSխ{ i#DX 3׶WvPFLϧBW38kf oc9}Ѭ'nXf y=wH\ ::9jiQΔ>qceH+AaH9 ;G[Olk/kFZu m67.ֶٞŕ|x-Vq.9JD1{qʹ@` ` kGZ#\<&@M5\2tJD+ SڝtfXCCF- Ƕ3'3#JTO%"aV Cb^óEZWp'떬(dFkiԆ [h݆tP"pA G[mB/8VI-}"wd WXU+XA#ӳ"D@8I%X˪^vi,ǂ =P[m{9:h7T[GZP+0$،4|5lx6& Ԣm6Vb-nH-ᶇ۾r>2S6Lx'TVzf 3"geho՘gz@J=12dl~ծ '2 j-r D+]8]9_@Lʄz\x`XF#*q3oL.ҭ/ĪA3?lM'32(DNl}үDzXwZIYq:ۻ=il 5+5sٸEQg/=QJ=jCNן~h\8a|/ 3XD;D9DA)oE.7soC[(fh*[UDz `D~?nؕ.A|{"X1Pvr.'_u}ktZ}^3>@D]N/Fڙ8!Kg)xCx&,]OTjg}D?WR8bjYVI$#dMwQxaAV zظ*bVww%1j4Z)ס V3nz]"}lGhLB|p41wu :<^@QKbR(xqRs oM&m  !X-#t˅"Y#?_0:2LG>^ ),[OʟjXjTA- oִcoJ)zr^Ygl@ܮm;`qoJw;K C2y>#oF]↦x8Y2E޺f-^K+CiVx|͋eWd&qpQ _ߞ_n6&8&Ñznr1{ԺhG$鬰wcҭP~L3@1Xި"X#פњ =Le. =pVY7q˖Gw/)uLA0Y(#̟V ܯ__ڰ=0'cIl@3g#TV 9PKԱTN, !l}txo _\k.N :y.S$H%gT5Hg2W(c&H~̴(V*Md(o&( ׆{#= #^r2Ԏ|uBL9x4SLq[c@'̧ LF-{R`fψCa*FǸT~e i-s5Ϩ&9l>[ % h7l_(ٵxAqBXٙ[^B-UaadIqρCZy|4Q? #}<+ARex9W3@7/iՐv+H%R R0Yh>J.ȶ7va }c|v~PB,S}+I"]gNz(57#]_t(t؁_~Ǻ{ x2c/9;S,$B2nV 㾀qɤ1]2T[RC٪S&fWg7`nm`.\;:nI3̖٢֢6ggw87lp^A\ug?yBK &,q`c"_[B")տ$LqȱX撬j~^a=zـF ]OE\nD1AcqOa;uKn˨<~c;%Z偗, uQ"[uO +Lj+3>أ:svb7΀epf@%u63zto ' 0$.W}fBo,K٧e9zL]mmvtwHbT%Dv/ &Ĉҙы&M2Z BN{UϚfvr?40ߩJ-JSfJS%Rϵ}Lw=jzك2r p&viatQd3{.PFQ!CN.ת JN3Gͻ󧜓{6!Bu8 *2P TH +nT!~)7\ar_ʼnۗpdbknÖbtTWL N&vwAmB!QɎ>=L:*hk[JbSG2 ;)폵zqT#%9qod_0]7qQ$*s=z8v Z"F1`8,n.l4M/'I}ϴ&B^ժ&2d,{3g@@fKC|iw3䥡 LhpEu(//M*^|<]P#@3'W15[{MW@5 yr'8,V|q$l|viyZ8owdf7Y;Ps_JsQFX G1@#_u>Y<ҹ_Ic 8_袝C咺'ھ8垨N+ҧa'~0&wFRytIRW_Hp{M=n7Y2ue XyʫPw]>|>s.L3Cu5C*~e*:^dGb ln\%f ~`n1wHXhmoa9Zy i'՝r-ZRp—C ^M$cN[ĭY|>syv*fhX8x-n Xͱ2JSqtmVr ~eV**hii}JU6,izE- H_B*@33SQV:%wA#Q{e AU'ĨLľs8#IJ.~Ĩ+#!g} GngaȢKe0PSlRe+B3 0 *YppiX}m[ac=5kYIEP#IG9'R"fWUf8?D\,Y<iw:rmVma0s}ML +n ſ\Ҏv}٩o{96uT,Rf_Jblښ+sK438&Ro-jZ"=Y%)JU 瑡geyep DĀeG_HK0`'Va Ws54в'@~=uN}by[ \!%6uLm'S*LAVovq5k|h "SlCHSmf AN*lT4ן7ԇJ-3*6G["?Wf-K*w!L$D(ڄ$NCpһ_!;420$K *RLodO6 06[Pj;"Q䰱Ig4Oqsٝqgi?ƿ=n,|ق" /\V$XYE!J WU>=}#8H(J_1ݡHx;?vrNx\ZO//L2ȕ]ګCAazd^nWHV>X@`Uf}FTJ9%s5eߣ͗PQ_zT#,aV;%{$|rl^Ȧ,{`ZҷlmƠJ0.0$ ۻd`"bM6Q7k@ZV(iи eDu̹A&cִkL"A.*G>hfƕA#O|ҲCNRF#L9EQ yl}gY{7,ccSX)u1=giv2 0XQ?m;4B/% `pPZ'O~z{gH׿ v@) b<$/ ;Ke'M( C} k;_2;:dVN3#,&>ޟ"g뷃-eM `iL[:xc$zZBGj,^H!:.y~5rmt 5_MuS[P("wFlKvv+G4ķ],v_<5*[ƃ߸'YCg7( |Q $ͻVgTZ[@).f߲r ӻQ?Qo]><7ŁUYY]t4?|tsÞhEqB3}WFwzSQ%.vQQ)BI![\RngScy^HqO/G槹aNhS˩D%3Yc,_!vBA ęWဦUӫ?C=3-0égqui 5!Fr|ٺ %KE;Eq\!<4áK^!˘~{XKr!(v,Ʀ3 5=:™pn߰(y#5V;rS.Mxb9Щkj<oD1zVcH5 r` ((4t` HR[?Ҿj~axi%GFm\'XgY4J~Znh]rB.&܋`,%xWR f8hQ7 I3lf|ڒEv$,uߝ9`=xoP (IInf],⯣r4;S0KiK75j`~O)ъ}tȴxT~_LA_tH3*1{MN'Ĥb.-kP-sJJ9#Ia5#::rUqaC,94"WTv8.ttsL1!o4ݝՅ_>XӎU/p P.4@3 _ddiL2g .妽UC_d=76& 7N)dNQۅ;q򷷽lL&u9NC6kDIKk#\*NҔoD3S6x뜙187}Jp(sTolrvx" rcG0鉍-y CRf d'=,;;}]и5E;\Y缨_ e|gRF|{-~S#Uo}@ !YZ9"sˑ@VLuʰ:n 5 M㎤~`2HQ$dʁxZ>8hH$_4}T}Y"-Ŵ@ or[?[pb:%:/Tk%v$bIb 0uG`nDZMP 9t/6UE(&aUVߤaE& k Zϲ_Y{m~N"o\-*uIm*@\@_oDŒ;(s0NwԇNV0鈇kwe9`ئũ7,(däENysIk8)_J*f߬ fkr]0\É[߳8_9oVN~F NSu[ w&HL@268I M\p ؓO U`-\(x-<.T$$l/'j&g(p',h}nEKp\z5ka̦r@KOAV5:;x2 $ l |-/|׋<{)± FAjzqg\jZ*Iv7w`9 ) -@kpeܘ*,nYKaX2CY(N]Ya.P_u2EyQ%Y D `,M 3ϐ y,=YLm \B&&2 O}!#DŽ3F{sp >l@쥤M> i_)g`7o*xq lR <`C#4)\gO& 恠z*DtJZg;=m]s.}CnodimkTtxbv4W<@ Oެ~m8u-0K@I *rF{xQkb|CP/U!R+s<$K Z}>Yʟ^IDc71iR8D|e*/ev.)l~'*_lv Ŭ<9^Dl8%(glJUI!F^ 1,",QJDP>;G Xz.w S8S \)7Q->SU2^V|lmk8&+$QBLf6z|q2a!* N9Vpcny.ŗ,9@sO?^.N7ĕpupnvC;'=|k,gVd2:.$s%t$8CaϠY){D%AUfCjOA~8.S&QR/*]߭W=pm1z~^y.'3i)$rwElJUDVĕv-'fh/)$d:ɗEh](_=:6} ¥zY >?U1 pu{6EԲh<>C&'P::`oK'VҾnʟl7 99{}$/wZ*іU u ^Rw8~"es̓c֪'cmD:$iG9M䡍&;ŀ_BJԨ*E\< 5k<j\V؃s '[]۫4^\DOAC88:L[7 KJrEZ7V_irL$,J<<-Bv 9ϱ=X>8yo$&BuD<{tQ}AfJsslEQ&Ĝtz"o_#3RÖꀇ'(*r= L~RV)q.Z O56M҆4|U}^y1@_QW?0зdGŁs̎_nyABC}M(=9ҷWؼS;ف^Hh&{t*bvſIUzKs+ۿQ_&MӇ.H 6 4圜2[G !u8D::?ѓ9 橃a՟ؓ@por(eC>OKT ؇y7YJxJkDpI٠fOA ɀl'$=E8*)=&됨.,n3M'T8)Xu0XN5!hR]l#Za"qps7У>onpCm׋,)d-DEI/:D>Y^9-{w=WYW I-xAi.𦪶%_)^*okT~V^{2[H,k$!\7YWW}f;Nׇ9taCn*lPhgOX0nFOyȦD=f~0.L2M}/T')&%4S'(|G_N)E5w`1Ȩ3gA_۸Wvz`N 1Rᨏ{ad^}9A vG(pT!BV[`Eg)+9o^}O.o@a̖vw IKBShT:ܕ!'FkyI(?IPY5TՂ%W_$YVcV8HG4Mt1PhWo7NO=ekMr;T7yGDʭGY8Jb"B&@=(=GDFhu{n|i:2B%c\Դ_iA}~T1E *Y*ԭipoIpdҸ3ȟ(Gg{fi-C4D?urtK>:ɦj9fF^qU>y~(b Wqӣ& .-[SjyU2g 7p 0ggQv gXM]TNJ1!yV69!.gs26  1fwHHQ絘tl Tw 'kS9!cr?];H#;U/׎ g -Lqov\:S_'B9O'^gxVGޫ} gfFיz7k X$vu9KY| w@{c穇) 21B(8hͷ!Ћ,! $+gFRf P46I*Vp-j 6g_ e65Q4K- |mjD)ID; E78NPQ}GXs_#I :|Cb'퍺8.7Dqֺr֌]Pwswj;̑X~awx@)+ \2 aԓMGܧh?j7sۗ}'']⊎Pm>̽3:Mwu󔚍KPPrE}]؈,j CI1kDRF6yxX NÏ ,M1-*Q^j$i@vocܺcP=* .lZZ++6_>CCs%LS}˜2X"E>)AS?Ru0҇tvMr\BRGt<#ڋ|2[qYl1ċdxlB(b02pN,U;/8V}p'F,\|v/p3K_gn?UtI{͗ =L#v K2^ I'xӘ0]+ 1LO+ fgZ8r2N°כuo/jɵ-$bh(DBztM m`XWj^NF 37)[߆>]֪5'(`N <߿yE{‰ s4Wyhwhyu=3,bk:E{\?iGTI ͼfzk{d}ye`yDfbaKSҔ+r٬#J;l }r4Ϝi9]Z//Rk⼥zQ1̅rEP^IܺW\7o2)ɡؙ#@A_M}:]ќ&T-- ]2 fglܜ`ÕT,b.Skx4L'`RB9\ESSz3tvNtǣmp{N*ylp 2®]$3^2 9+nesM5]i@(rm Qwi b6!LeF6M1m8ϴ=1/(j.⍀Wb"{)^8,c4 J>=a JV-ugֈo<(i(aj2>F|SE1Z@ _6z; .xƁ 'n>21dW>A$g^ɠS)f>"crWQ JeWh|hȐbK{Ki^V?Y 4 B:9f/[-pOLeĖU. m =Yz̅?MYdfȰ[^v;2fXZǭG6Udr5n{ngfjMլ2nQ_VJzA J;ԁ޾a$ـYkydy jdB\c!Rhdk7=Ql?;yY_6aq.5 ]UNiVh5n h)($T حn=0QrI-q|ᚡ $I~VjS-foW׀X8g2H;-n!&lΖG|'7zў!o3w:qȶR껨J&1zd(Wᦨ^?XAԹG% rJKsoH*v>a.x0C$NyLӚ'-b{\Uߛ3$2 X'FYXcC+T0EyA;.ջ6v ]6TqCU'[~O[ yoSBoXYh=  q =73'mVZk0 RtCB.e :O>ʮ?rGI~A/V-M:Ԃ:{ CFFz} ز;[j&l[u"N$VAY^cnGiKENG`wۯm.N e^e&"h j'ݰN~-x>)P+̧qV@<_*3L ݾ('OSpv^+\ !hyŵEkNnӘ#Un`{0Vyь6,(b'#ܓCZdsEsLF [spO>%60TM"t^(z_M-7U'^DiBZ+mOt@|ɵ$+,hĤKت\ ,htom,@qkwkxv4 ^5)jx˞}%bL;DVxRF_$#HbxO|%;/Y|HssIJ?|l3+¼>! XQ4菪U3$m PF} Q;97>Gc2/e N䒨bIAWcy\3[UAJBz(#jmjIw]ӊXpF0O) P.c7IĬKzAČ'icCs| k'@j6E\YXJvF4I)l*zQftKg$ NVdk[ ~)pYMom `“vS<6DyMA]Sj1!݇P #!5j\W2鏰a`Sb߫)zwZh 2k½bg&TifЭf$>b]رm$ThTR)Isd}CL2[Ba ѨnZPn4Y}t#6qD9ȫ4#B;W.ZI;€bM HR:pzWTfvGf x1ư&L9>#8%7uMoN$~W 0z@*wc`/e`0a:daz$j05}'}{WLE-OtI`C] \uE`NU~O6mcb5$.WŨ_]þDAAwSXQ7S |sJ*֙B:r[:pG˖L={'Kސ8}P;˸Ƹą=cF\>a'U881ai: zEYfNSː_ӌ55J^pIپ~BDaI݊m~}Si ]1a[4{I-1_n2V:)@T59hZ✻fn|i&q}ZOY+V쁟0P(ݠ(DĽ(RRyV}pϣ|w1p3$[2SgHBw=K깷I΃SMg^uvZ?0pW fOuԇ ώdN |577D8"} i-qڌj)m󥝓T1.u0@5k)t$Y[rQdjg?Q>Ѡj작pqd[u0Nq,t߳j xk}^QfPKjIGfV6 Uj5:Ə"r?ݤ OPQ^z ]4s1eBK7rwfe:U/mPI?v2H :Tod MdQx{( D^`Lc$SiNnժݜ"gRڸa~R`-$WD1hb$țYm8!K$%ݱN%KzPm:t2<T[m3Z~LEg$nBGF7L G[TK5eֲ5c4aMjhX_4ڽ&]nzJ+!&b2) VdT_h|6X_tpC Q5%@VEc aÆU`@sh|Fq5QK}πʚԣؔsY=ٛȧƁ#e}jyA j214Yb5&.aNM+rH1QYG1sxK!0C T5V@Gwgw mxL|i",d7EW_!g\vWb(d 4t/\.m7vHINy +xdnwOJ-+r+@qHcדs BV[pn_1J4YɌ Q6@~i1:pNUqWʃfF۷d1.B)Qְw`eE+`HU0n\{ķ¨0ьu'@&˹|SQX5_)kyT9sL 7]F`]^_bD kR+)r^8ҥ7q U9SnWiG/hN 3(?z3TV0MMCj)_L5 #3iop%8Rw(4Z\r'vJ oUFz5ym[ȶrr*k쿉G*|XOv]榐u,a=T2P  kV!2t0ڟ\ TO=q9OpRM|@UcFOVXJ-_>@n¡]pBGYwN,7ցʽYYXDK*]r˯҉G}p-b[81\a.pjqʼn&r4O?bBr8xSE>7M}r(څO3Q#-A6#AtRLls!TE?_[P06}%-ewXЕR=p7LC.HbF 0pԩS|,-Жr!nsUHT H_X /;ݥ$33}D] kP5ͳiM(E:`qp'~M\?E\owHmplP#F7/NaE!.Y.L caWbjxT}9 =-'5Z(ŢEsB HAĽsYQ/B}?`\N?\CO7`hWݪ ) :tfy6"P%ѿ/jC\H3/e- î}BH'ṻ$9}M]y DWw%-HK\gLuRu<8BzίXs"p kaRM$btK#9'' (軓4?^ΐ_ x3g|;"͊I * `o9[yzx,#S=̭d8$ylESu"׊D{|s'%)fKagi!%ƺ?O"r'ٱyL$qg8mEy]1[H`sV?VS0[OmnJ*}zb\>q"io,e "U 440]Ddž0{"1h 5I]䚕sE o|wqݯOȾy:wJ ev#gӭaVMrDHNqeߣv!w'y1mJ 4O * fۖ{s0R,F0mJ%3 &gk8楩c2}&fTII$n޾Λ4bHEc\ A5}6m pbuMZJUVd⌫;z\$PUoyadXѫ; bj0(}JY() oʦHEӵ SI~K^*ƲڭƆاbYO6WYh'E>!л{5 뫘vG} kI^ l6]\]j4(vH-<귮r$]Cjɷ0)S؉,Nw"O]^#]F m^7"9{\"Kxde1 4?I[ | c^ GË۲.hn{=w'mXe ІFJ}.o=5! t!1|kJ9 J?KN٥+_ vgHGZLn4y޹#j J`,'fYoRNYNLF>;CѠ6P[3AlHay3l$'Ur긮fvSsP?!7CJqlQRaLMm٥WNڥ۷],RLy<뼫{whɴߑ=;[&iWέ'j[OڥNF39}S!frjYx@(mDž<[ouk6΅F)](Ijf#!&է ɁwL1+=<`4?"w\Py V"<[Dz FSR#[|t_dTn4ϙԑu 3 |郊J3Fzקe dlN],7޿63JDk͑(=2*)Ġ:7`㷧%tǜN![⾐<ޣ5׆USVѻ\U@<5 C8% U|$ޒx78*8^3)֬^b YZc+T$WGNq30 6P8a:Dف%W'gH|T#>WCJWct"tV<䧶D\eͮ׿gdJ% N hYCnR3XQy^)h P=>5UD`MJ>1bzu<y)L_^=ǠE9 Qځ u2nYnSz[ ʙ* *S1V \xE[^o!LM=٘ʕ#N j|l}YӔUA  ٬ޟne=m)#J]27xhk]PhY&Mm8& ,,D;V?D)EKKMݛ WF@|1br}ѱ}X j_ŮdHheul-7ONAy8S5^|h"Z^0&j f6NzOwhn/)r b pE5^Z8yrۈZc&2F_"4k8YGY~"἖|ydn֖5f4T aZdpE!dŁ0Vo"˵WOla-o"Y 7p sY۬&Py& Gm5F OQH`F, kc Ť G^JLpn΅tl_c\);ʨqbGQy @Dluʬ)i0X:+{u5't%V @tH"U(3k>{ ǔ50gJ鬺(CWt9椎э?>!L-GxA./ s薣w+c3MT0Je)X{3SbwfOPU4mk0*z3lX}:Nq3+ۛ'FWi/j:A4!כ"i7h8IҺDsMY j%vW1~UerZt'S贑uuZʭSb=n|*_X<YnL):0?V(črf3WFw` ~4HoRNÒBćtkUU>1@7@w؅/"(9Ǟ 5͉#N_IAx{ѿ8s?_-M,>"d(8.0}U`w6?"o" ~8|TỬ͔GWs24QR%tŸJ9ZW'۲,C j~楨~FUߊu}Z7Pȣ!JQ W@vZNi|&.%^B~WLů(;/!R}&4txKc7%3̇Q[fn_V#2E{M p+ ~/K _E0Yu?9=q#Ecjcubȵ\wV8Z`Aٟam)\KғsΦg _1j8JiQyWc %ށl|AS<kOi35e+]è4Z{7[Fl;Qt.FՌ'b=O 0: ?,|R`{qE}ps=d7G,@I:m(xz`2 N\no}2 Gee$b:ΖӘ[vuyN[6k1tb/.D1L.و#>a\_hMo|64)^JsdfYzEc;ho3"U\-3f1ԛ -Ȃ[6 ,Q Cc\A>>mhV\KAvBdeNUȬы^,캈U (` Ja ppQ11aZ¨<)+uXr@Ml:=6MIj< z|h`L7.0} R8N' -7$B-A[7C 7cOPe#<vD7`BYm pwߑXӹu'\q9:e}(iLq݃*}C!Mz}NS˨d "e}t4I䚳eG$0!s~.ný:19Q3zv4 ƕaI]u ɫGuJ-3D=e{;~BOlɤrL,}crcQ ?BI;'?q*D)~}*..M>^+w0 ˆ<X/uUfe?c j&aOvX 7ssFLG껿٤=RMʄp[cedKL}p/'7WBҼ<`Y/,m7#?]uKڔkNVzd/Ws]GO O" V2ۡr_dOƁafN%=ʖ ]yӥ)n{WvSP ɮO) 0JD\u^qȣ F|4lùVXџ܁()B}7謭꽼։ q.48KeaZ9~&x,+%#N> *JjWowԎ*!d/8G#`v@ZuQסK_=8ODIk#6Éx\Q)*iM<lupoWW;_ƷĞ5z'ֈPů"ZZ1W< NjuA4_FhymwaK@=m] EMӌqφ*Po_bWF,_h2pޥVEgp3(7HMG2^;wWirxonO H v_9C23 =,:z$Җ.m82\#L쵯a:1ӧ%F%@*% "=aqh{VjjDH [cwRef["j}^czB2ɕa7qFk #JY"Bՙ鱫|dOlDKu3nV.wF*P )@4 p)v-ys C#ެI2ݑuaNcnse:=2w7 y [lrWd$V>H?D3qTI7Dɿ.ekQRT5Vk:"kq3pa E*(Ve&1Ys;}tOôIZMPbԓWV"9{Ym~}䍉LE"BB ҏQ ,'K8 n ԙM\ ΀fޯ- \ʚjTX`GBX`'Qݯljg-J(fuz&^fDJ_a3- ܣg T_̷W'K(XU7g`nɛ }Y~YN|傈Rz['uDt-*ܨ 0SaZz> (q%xf9eۼ n Ra„,I,z9gcSA Bh~r%PO6go ݀9!VYr/ @ 6FzHoFgQic̎@bP'<*tFuT2 قo9]{8( l}|zKh Nj\KC1h?hxA~Ȑ']RcD(YZw:iW'o ),ZcuCHٯOl5&dFա*}y\Z%>ϔ,H5qy-fSaۀ *yOh ojdVe"`WVlZ!)HUV|gSAu/:D8%C!IZeP ̱7khvaiۃ%/N.1 DeJdLjs{h+b@ g ҅Jk߆3WN0hdMzwEcֿT*,r(/b2_rhij' +הGJP8[c=\]~>-&L ߅e%Fu qn>.chbG~D .{ysݢgӨE5o,βq ݆WG4ֿ*|y ƣ1ն֠#͟ W(iXh~ *i3flBe"Go I䴵1R$DΥt&؋ RҁG tb,F -#\ 4YNjsI_z 80 HfS8ϖQ*|{BcSUOϭi2`;U ˆ;rHuߟIPnaz'~h>B@,h-P{ybڬ\(xY?sC>ӗtvq($xkνQ E*./D]MJ±k-@ r_ _f$EE'%eGrx_4o?enʔπ_+G1="P+YŚsA:UuLe+J"[V5%K9ʉXB*Mf OM5GuQʚBbgp.0%& +W,ťE暎)8XU`%I?>O5_;Q|+u@M\8C=5j)3\لa7)q!|5PLN}^]̀vc'FGv̩4ISHt)"QѲ0VoQj)>H+1%\/ʟ{(@V}|2 \N$]5!N6`5&L:lh|az J19p }'u VH_43Q^CdptY󨢖 / ݞh3YHarL͌æ.ʚ[W/|wŹ2ĦJUk12+(qvL<1KM]$AO38b/AK:gC6MuJ#NwLt9~L$t#QڜZ2 8WCv6k決7H"'="NjDШNK>J4ef c~L@YSl0Uoq;X%i5o^ƈn73O*)ˉ|(h1j7_hPmA3uU7-0,gu6fIp/IS m OgY38tTqZ0՞0*G-tv|6bٿAX:ᇎg?:fG#%1@(k칐c|bM#GBg>N*}F{2єF%*ν~Y`,$W0siÉ:WeFWSu]R0f(>J5 zIـGM ЮiPoI8~-%Wæl Ex(,D`\Y;}q/4#}>R50Պ)g[ lYphM m5t>O]JSM~d췻iC+P݋j~B iΟyqf`5OQfiDjX轧`;m#14MGVPVܔblDQ860!k9\wE G>Gk+0"*k@GHw">ȅ1afiS!0xa7@\=Iq7*~s&+9mhoOq7IpoCK*tA[*&n_#8>mvPo.2A|֮ Rڕ1P]ⶨ(Pkz"˵pBޞ"08g,`@WHŊZ䚧3[RNLb"$ ctiu=So7in9CyKbC@YVnauS UbLRT3v wo=,q1{WY&qMOV Ґ` >*76ܢӚrΧ8Fh$*ˏ3f9_5Cb< Etb;Y@li{`snRVQasnAjJ7պcu栚v-aVZlOu7Oc`sbUY혓 OY1Q1Բ  \NÍ|WaUE#吽I8>{ 0ic5wiyzLVKhȒOiaXͧ;M{FhWGDz70wwV 24J7Cf C.loOhRXeUsd95wJa֔?'#bŒcZ/-@|V"qexTעh$4hۼf>-8F \^VULğ=y.l)1nk:nG)Yѳd E*T؋Ǿc*Eiퟠv#|%H? i=XKUr<["X[̒WJб|nt"hLzn)v6j'|r#~ÌMF1'P -!uM4u\5㬐۩u3j[D7 )ƦsWA/ P-s!(?k!huhid@7DH=Ndvh8TQbeZA瘗;Cc׎Nq7CPdSEdE' FO&7GLc@,_BYR\/Iuuǜq~2v,c^fv8^aE-k2~( 0YQ_+@ ɬ}lz`Mˢ#al#W/>U4m%:,gO Lz6I'EG$,,tzAؽu> (g@.X'~/N~K7WHϟur]X8KOTJI8 qkiBwMR D=' UCs[\@*q܍}?=l4 -^֢~M[3!$xϖ(4)X#3R:4'g*:uu3N  ^Av u'~IV+-cbH2gEHN{Ht֤#յ6G)! :T5/|!γڢ$D7 OL!;I%*3OgFD"{Ū1khp O-+,c^W" XՍpP^vt}0kI2%;?q"t3ٞOhV`qy ;9.!@ՙIH2U0'%tm; KTe&yTj7H0JjeaճԭmjMFGA}Ϟ{wc:<˸m(OI_^ig\]Gdnrto=]XejmޖU_Σ9jFZQ1T\Ft6Cx6FI7Oʫg=]j'Ɯ?+sQZ A0h0*p62][I!!Q@gtnn!:lΙ(q,ׅh'@ Dqꔴ'avC27plfVc'hp *ZS΄- Ø&{`ǵ:PّlSC2l\xc;6|ۼh_h%$+M9#~/2lE<".HR%[C€BrfʊiNYR:dڬSՎJ ̓Sk^d ,9YQq5$ꑦ/+t]ߺnpL.fN_klr %B"DOXK4 Rfn$HV]X,rÔs&Jχ"3囈('I{>Sf Њ^4z-c(O͞};Po{VEW| cMo O0[S ;F׼&UmL?_Ck3Ҏ>5z|?nGsUN^&aAjS2YF |%e6qcu ZQA.UPb8b]s*o))êK [02^'KϡL *.vKQ-d |Ӯw#Źc]&KkpOػ<=%KXCP<ыA,4~'%z-)T=)I7 ԯR@,"Lu~ =doivT.oZ-cS TkȐh8'c*r3M؇F?T k pR$y]a/dq qwG_zc–nOg \$Dwl¡M !ՙ)s _)&5)x7dNʱGy*NUf'v,b27ȁ:B"G2Ӹ:dzQqZc$AcG:dEjͷCg80ҔTt)ϕdķO]FT+v{gJo#º%2 z fN*o)g#4 є,ƫYt%0d|t]+|;*~a[<,X q؜TM &-LEu] 1+jһ/m!gM9ATsDe ( XjX M!x YUFIaπh[x}&[*؋ҰέQo//ҒV"1ujnSGOrn)Rg5ͰT8=(o?fĖrWikTw">>Ĉ6ەnB8٨Yw vO_ <<-_!Q@NHMypś!|%x}l܎HFh\?G@pL7&M%bPu0Vu'ఛ[FFM"Ѹi!UQ;eDh-D!)fTz탕A .ҭ(5ٝOJcw_1t.J64jаvt=#/fdPן3+**}dNLT0ϯ<܉4H+^KFP0D#5`/!6^NHD3Mr-`~AϖWM6zYm|ܜbفc,ʃeeTS6\-'" |Q8*p=9}a#g*p!af/ s˱ɵٿe>^~%=@ޓX(Nb''g5˔D&.@&Zq:c%XiFZ{ cEFMfZ5hV'zC eN4%~U֕:|IīST]pq⎷VPUt&BvؿMhRplt)߽XaZ=f,\vV=Xs?S ԁH3!c?(&@_5E>"SڣzntN}rB"crRfrLw0IPzƉaE ߡ^E CTa/&F!t'b]=qOQfor@O%~ nfKC޾0 םT]Ê*OߔkzdԢ][eпqwrE`yYmmЋG]֝S [<wH4=R.^gDOѸC1&tMWjQ.Lqo^ׄ.$5:\MYTaeETrh<| ] qB[XT7 }*ZHW ֨"ï5/+a3Cџ<=$ Y]5q:Aʂ\2.j(uhOTflsػ-ўLN ; NGhE===umVDN_ؠJ@zqȦ=dxR1u2"!{|O9@m.R _ҿ`3 JffWG7&>x5^wQj/%?gq?䋥]r"Z[ A"ͽ?81½ İUdvw8k<-u0'6X_]뺮_lf-f٣$ɓeFjhh"nVhS{C0Lqi[ Xaễ. IJڢR.M Q-n|PD.{'^B Zd SA2/`BnX'^sd5epyT2?oAX:2'ujN/^Z.[kCJ$RXڂo-qP6_4%K3 aB W70$dyEV*g$5}-Ŝy?y IrAj5[y[YCj-e}Hy V.AC-l=9`UFVɚKgI}|lACi6stĺ "8+ <Qg}_U’G~Vk7EUF4ۦ]!_Lnd:u :}u!IEggZ(d9ZU3ڴ~~37N6U$jU_̷trR6~=@jzA:Q F`jԩBm?*7 t2 6d