mdadm-4.2-150500.6.6.2<>,dfa~p9|N n":NCmJw-}7!˽2, Iޭd>ƴ]Ϗ#D`Mä %ә1q2E\ j ,Jq .8ɵ# R /"$3;ȉ%{.Q5P|W4_oz?d>Mڔ(;qvBzPWp0L*vwzaWٍ@u[u%[KKŁOl AfqB5jͳc>KYx?Yhd   L  ?EM 77 7 d7 @7  7 !T7"07#C7$V$x7%T%h%'('8'@9(@:,@=H>H?H@HFHGH7HI7IJ7XJYJ\J7]K7^ObQXcRdReRfRlRuR7vS| wVH7xW$7yXzXLX\XYYYYYY"YdCmdadm4.2150500.6.6.2Utility for configuring "MD" software RAID devicesmdadm is a program that can be used to control Linux md devices.fa~nebbiolo6SUSE Linux Enterprise 15SUSE LLC GPL-2.0-onlyhttps://www.suse.com/System/Basehttp://www.kernel.org/pub/linux/utils/raid/mdadm/linuxppc64le 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 ; 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 ; 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 mkdir -p /run/regenerate-initrd/ touch /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 || : ( 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 ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in mdmonitor.service 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 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 mdmonitor.service mdcheck_start.service mdcheck_continue.service mdmonitor-oneshot.service ) || : fi fi mkdir -p /run/regenerate-initrd/ touch /run/regenerate-initrd/allR,,A GZ@ uv9~1vzV O--e.Vm  F?U m,A큤AAA큤A큤Afa}fa}fa}fa}fa}fa}fa}fa}fa}fa}fa}fa}fa}fa}fa}fa}fa}fa}fa}fa}fa}fa}fa}fa}fa}fa}a a fa|fa|fa|fa|fa|fa|fa|fa|fa|fa|fa|fa|fa|fa|fa}a a a fa}fa}a fa}fa}fa}fa}fa}fa}de65e7c12626c8650119db1882680d4db79d46896976919e413de7261961520fbd6565d1f12c78726f95826d090e82cd2b5ec5e73db029bbc5d04191834bc6a974749acacce7cfb528b21470cec1902b761118573fe3ed5f3e3cbb27cbafbf67d789d3d1867df89d312d17cfff73b0cc4b47379486bb0ea4f059708dd2012078bd8f33c83deb95ed60e2983e2f7df2994a086e6fdd505a00f168db6ae7b856ffd3957a71e448cd8425d585405606ab1c5f27cf72aa092c0cf1a9a9fa46d2036fa73495654d7d02f0b3da7fdcbb9e6ab35e7777478818f4fb226966efd1d0ed8d1d23260664142e2def5f249899645ed5abc16fe158bf586e0ee12bc0c3b6d70c0bc69279653d690bdcccd412fb613909578910994b926dde53ad63071575f0fd615e8af9d8429de6c1a70eb418653eee2b201b8061d92526cb4b2f763be1d22287befe5e61b716be922ebd2be3bd05fc24f512082a00e38f7742cc2b7d52957bcf361de81af7cc2962d7eaf79f80ea64767390a6c9bae0d4eadda50d8589a2a179f5ab1e4c7ca00916e1444d8d47e1181ff6e9bd5fc8a511bf84a16a7ca833ee94c8d7c15150c5b9c826eb213217c30035733103349ba38d06fd88e5c6bc39c41bd0e53d55ea78b78f0b442c2ee32ac9593ade4dc3e6e2065f0984ba522e1d53b7a0597152d10e09dc4f6b5e9deb85dde04b48ca19bf458cc8e0679aa66c7bfec7a8b98a69aa04ab96fabe36591074b5106e0a6bf9a3db6b6abc3d685a20c28a4136c61a62d4e1169d8b0f5f8362a0478669e66344a2767c6db1d0151e8663c079944fc8f53b3bd76e4bdddd7c268efdea995df4db98e4ffa49337de54375bb4d72b3245d3f6f6fee432aeb23fdf7c0c2ad5fe2c1e197c757dcf1f8384515e66da08f4125c0a269c6a67b3757b7d9fd09e14c6f67bb8c7ff1e541d532dca4da308a09f94e7c1c57032e19e3ed4f5e8c18c5ed533e47d35d833e608cdf7804e3207ec768327b0e324eab80693a68852d342bd19285bf7356753e566c5e179f889902a174c2f7e71b4eb1b1f3781e9577564db0c7b9b1b5bafab2f6f2ce99095a3e6f6d62f227eda2151af5db24ad5e728ffc437a3d672e828a1e7b81bd7783bbb76890b029d204368a9be769d3ff580110f0e7742db48b1b026ec56a0a556e786dc763e2231d021ebcb1ac6b81b2b86c7d53a23368ba6f38b0f5f347278156f9496707ed85c848e03daf5dd08d0a66e448308ec62df3bfac5e8529ba10e077447590676b7918d24d93c8eaa4b56926b83ff31493b122e688e44fb967258a36752921e40b0e7e1ae3303a4a293d063f4b6ae0a95f2f5590fc184371cd20c6b6ac9ac0448ed2dc45a3ca9b523bfe870cc904f143139c50f827ad981314e654d39ddc46c0dd4ff25105ad19addefa46ceded4a1e13c43d45441729dcf14d6bad9e656f25779970c7da4d4620c6b9af103a91a3f2eea5729c496979766e5e0bd858c7732fc467a5756529eb357d4ed5bee9c8c234e812454211b2e12ef75a4489583dcd5828098c7845bf48876f3a2b8d66182bb0e893ddbda1237c68fd1c6cab4a9f27bc2a41b759d69136223ee282ad38013331a98c864dcd6edaee4a58f2847336eeda765be954c997b8cf79038c7fa64223c46505f1e8bdc65937ace772cf423b314c5722b29ee8a268bafb4044116175f6155f21c9e6bf843fada369fbf0fff3d0c6892ad74cce318c0521dfe2e1244449e52fde377fcc5edca1c4eea179d208945c7c3caa84969b8c5ff013505a35eeb1c1a8e09629fa471eb3b9e05ca138d68177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643efdebca020982dab2413f0e21186d8a6064fe95477c63cbe758611611fa3e34d61aa07a330c93a980cf7b290fb637202e4dacd00645b8b9d1e07a805544437d37c63974846cb9ab8815d924c11e16135957ce8883fc01f591e24776baf737eaf9f43b6c92cf23e740ed51d0b828879b46bbab0515e7611c2d11735743d7f81021c318d317bc193e07e27c83dffc45832ca1aeda1f4d99df96e79e16e41a5325c/usr/sbin/mdadm/usr/sbin/mdmonservicerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootmdadm-4.2-150500.6.6.2.src.rpmmdadmmdadm(ppc-64)@  @ @@@@@@@@@@    /bin/bash/bin/sh/bin/sh/bin/sh/bin/sh/bin/sh/bin/shcoreutilsdiffutilsfillupgreplibc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.27)(64bit)libc.so.6(GLIBC_2.28)(64bit)libdl.so.2()(64bit)libdl.so.2(GLIBC_2.17)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(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.3f@dp@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@colyli@suse.decolyli@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- mdadm: define DEV_MD_DIR (bsc#1226413) 0062-mdadm-define-DEV_MD_DIR.patch - mdadm: refactor ident->name handling (bsc#1226413) 0063-mdadm-refactor-ident-name-handling.patch - mdadm: Follow POSIX Portable Character Set (bsc#1226413) 0064-mdadm-Follow-POSIX-Portable-Character-Set.patch - Detail: remove duplicated code (bsc#1226413) 0065-Detail-remove-duplicated-code.patch - mdadm: Fix native --detail --export (bsc#1226413) 0066-mdadm-Fix-native-detail-export.patch- 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/shnebbiolo 1727095166  !"#$%&'()*+,-./012345674.2-150500.6.6.24.2-150500.6.6.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:35776/SUSE_SLE-15-SP5_Update/1651c239f9b9bb92c90e8a5e9c942502-mdadm.SUSE_SLE-15-SP5_Updatedrpmxz5ppc64le-suse-linux directoryPOSIX shell script, ASCII text executableASCII textELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=581ad3c52c56d09dafd58919f827b8f9f5f09bf1, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=51f0a73c231dd1bc504eaa541caaead56fada3fd, for GNU/Linux 3.10.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 RRRRRR R RRR RRRR R RRR R<ɹXKj" 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/shsmtp_daemonutf-82d917360ab94f5cfe25569b39afb2cf5d3d09f3d18fa1948188fce408123b867?P7zXZ !t/3]"k%f2)/]09;v෤1QmFBy]oV8Q-G hYfJ^Պ"9Bd#4w_fb%C%PG? %mڤcʻ?S9ɡG:ɧX˦]C| HTiOuLAԴ|qdmnO z<;- A|EeMf48GjɀO\ FUfS y4r1t_ǽܫswmB:=-#X~DGߔQOʑJO҈jw_<5C~[>+q #U1Bpf-嬛yR|&r~"ipt8[& ^pk 4S @{'e^yh"(弫g=Jy' ((ĨN|j)dz7lЀ Be吕@?**}RL\;sF!AiCbWG`@qw&*' 0X4fYHHN m{qӧ٣+ML]@ƕ(&kMp>[++ObH\SdTŨaOM@3]OxcQnzW(c⟻wuyGB2v528\8|vCўiܲ2^D9h 9|w'{Yr̹y2!3q9%J&eACҸ(Vo)5[>rLmq}Z]" |.ʾ\2M[0R?^ޱѕӪǮ3)Fs4_wHtJuTgL/cWjN,)GO!H0pHGRoU ͖CvsX>;Cu/W u/6}4=c>U"7YI \ұK؜|Til8e\wψÿ$]D"|gSZz"S(}9z !bшrͻՆ$)C.cZVr˛rL_ebiSGyn}I|J")A6s_W9Ўxq8?̤5xc.lsdeY%/,˼ls!|b)XvEckvXOC.o. Ժ`8޳Two!>Qjnȼt\ Pֲ.JFHȮr-'Yt!)y%Oe%7Ȕ.S.zx]t?2CU[h.\9â$Ow[gj W?tqoJiՈ(g9Wk}3x<.MuצpbHD{W@0-N}ܣOUTX3]!;r.6 $HXa.]U :rM/oK߃uyiᾗ/ٛ  1z;˞M4| ULvT-82K 㵾3&m:[Ai58z 7bc$@H%H9Q抛s]LFχWK9QI$~5\|CWoP )0Rh8#6k_ * '؄vB [(U5)ƄfW7|i0#K7? 3J%(A;]-ɈAd#7x$h: \[/C&8|K ۣsI2|*;4J;^[ ]8B;>3{ a{]vgV 0 T 7D 8Lzw8S$NenFBFO:EZ7_\U=kApxib261أQQ0F Ӟ6F̻LWFo3NtKg~s6vdAH{vGRjwbڱ=NΌd4$u0_bImCTS:꫰)`#dL@"! uqY$[8z `u<9yZԓ#Y!i(e2?@^-#f7kߞ|bQNxёL'h9YD aqkӡ:S4C wZNJ|t2"nn&r~哚,sڟ f $% v " |MjS`{ !,j: $"]8+7"fdr}nnAa'2,4wxK2)ßvAfyI\[3?%W$vG$"#R&}& ]"⻜^fs˖e~ O8)|G R'?tU;Jps,b7q b ^Cu)ul.Jﱔ.zh< V .0GFO7!Hֿ 5[EHQE]9l3q/<YLQT54f' wr;0=[eG"e7e廊w+LQ[3zr: 8[#ZnJnT8Ipb/CEK3 yNչXzWmv$LZG|jQP`0)D]25Wmr$TYL1R_IْAAήr<.M/x!)6"sKmlBo _!8opPO,7un<#" OWj"mDQx_ glpЊsߪ^pO4+gӪ 8nj|%2~O,мJ!8R6LD1bкMq\o{EcmxLP<\y?BUWgnob Z[ۯ9&xm r.XJ,߉B xlg0Mg?̬{DX ߁Vs~'lNbC;aw,ɟYdx&\ZAY;f"S5li'2s=Pш*V$PPuƜZ,bHG0l ,{4B:a3؆mO*2Nvҩu lJ(M3x =TActԉf,[ gCko? `D#=mIT*^Tf* j~>ֵM9hXlEyV™&'AA0Qt7G?SWŶ@Wܷ765A/J X nf?(Z4ĶnIќh#PG MYiZo}Q{Z;gG*<庋9vzb\݃JV{tzXߵXˡ08&O=Ȇ̫`+Kp3^ݵ~#XKs/vnCl~& !酸)f5:"Wǃp,uzƽB=^pg) ymm)pSu.P+188epch͘[TyUQED=oV=m}ĴY)(c2>VW~c]bXw!DVܦA@%}YS B|s*l.ZBz9۩kz\^ך _ 6vqS͆ص7g!i!y *P4:utأ>0fo{lH?4͈4#3f9L\)\̬O ꘚmijSq1`p_u!'}}N o[`8(FSծdmw87{XRp@ltlxJ'_kL}`ʾ}H2걣*zՁmV/!0800R?wuTN7v7ܷP6q}:> Pu{ [HJm%lH? E9xtPtV$=Swo(6HF+JV^Brm\mSyA]#b]lEE`ɼNU(0e/{? *b$]F(l5S'wz2BH8PCTJ^)v6lS !S93#,ȿWн~ _^ {pߞp)66 +Րob)wvy'aqY8PJYQ5enn=7^;YoY4lUB7[ͅQ#%^,vI=H:/.q!Բ _0Dk m\_!fϹO% x6Ÿ#L"P|V ր*R&Z*jwLk9z- $Us:c)YB=kƨR;sC`~;hQ#nPxߟ޶-z(Jo蘓%9d݅Ϫy~A5hT2ǂI^=WuU)V?=G}7yqLb ΂zwḾd/ox-22C4-(m^.|[ _PUSx~W[k$ Ml/ŹVtM7KnfKhGz{woDGlt^`$K',kWnb3N`7Wq~p>% MxraH "?]!eS@?#ƫ̰Z\Ou󺒴u6l_zcm[ #t`)bӣH}l!)~i}&No[!g?\NdYP̥Xϝځ]l nFUΞZ7q1 [sc_i9'Wn)eu )5#1E< -!Sxޠ2> tG5)Ϫwo5a}L>-xz $sq&sQ,Wm6@qtEG+(ϱwwщ̞R_MWe u$&}B8UI[3oX>7}yU%Ў@A$Bоi썺Ճ`1Wx u=ՄYb e eJ49Jt&\+}n?M:J\;f9kx5h,.3s5 4]Df4 ;tBK!d=D~/|^\W^ֿrl LNرe,A$ч3H'C0z87.|p-gkrۯáo!wl5 9Hn{'s;yDbTWfCI[`hpG<}MTC,-@啚9p!m_|œhE(5Vs3A7\E&.˞wcU-&wB%\C&ߚA_>;1"7fy.,Si_P JկhA;PY6@C4>e$'F#'ZgAGM:n^"=>a]y2JVR:*"/oWAA0fb .HEvf*J}KrpDz}/?oe8_ 80?:]@%8%GWUZ 6Lu; 7eGQ;?휗_1lci2 "Χ7(G+;Bv㣱6IA>>7RԚ4($w aoݰ!0lPxHauZ/4o#_H|T56mJ7grQDё„+nF-HU?23}[h/}tSß^/^hXT LEfyjO•ih؎*0ϻϬp̟+*B j^sq$P~]0t:R7#K20uJ/2[QG8A Kw􌁙KpT<4/;{Q%l8.뉜_! vCa&+'`JN:4ge4C`\-nxrkC~RE]7z~LR$}++e]-ғؓ0d;GhY2ܶLw$GYi|u{@hyDc%እ_fا3VJ!U5϶ &1ʤ_G[ڞ:ܶd&..8q^2aM_R׃s!ʹb,&ۊQ߂n{ܿ˓cz!GNTxCA]N .|HtS[|B\~?j'U?W䄫uFh=A!e14a3[Q0Y[ǵ,p9aPV#I&`q&מřhe@ 4fANxafC[fX7w*1 (9g@].}w97u_Lۂ~m}5/KQfuF)4q!&yq$JU 'B[ lYBio4jKwrZ{tV|HȒVeI~>"i\$N+U2yڲmkHY/V)U1|m{"MיwՍJ4u0lI2gS7[.፷^"QG'qڈqݕ38s,^3Br(W3N|ƭ@&7qnv<j pC4ao{(!1BPiPqb`q+[wN鲺 t#ݴ²qt:'|LМwxwz,Fw+x&SF+P$q4ZG4zH%>ZU~ԻW&N"/,50mn>`qݞ2jP 8LCz6۬Pv1MI؉>ʄ7ka7 H b/:z(Zxuq{m?ͼUKT ro$.MEzblJ8efhXERΐJĝ1 d,cIJ&S4Fw%דvT**\bc2f*Nʟ)1RYq(o7.EJw`<_d&Z MP[ Ȩr{k\-aWv+ wf(aXFsF3KG= (>LzqX5dg<̡k7<ά Z[~,4`рuH%l }[ >T;J/فb"r!vx"}ξ0-},K|}q!Ź-oe y+K2eXtr=b1}>QԤ΋fه7n. 5%˾-Dʖ;}7|y%AMrFSƙ6։_.fHDZ6QVёfE C 5nդ-ş~VEVyRڟ˯..UHF(]eao>,<&e@$S2VR ORC{&dj%ZD{bDsB.a@ȗ4-LҾK( L(RK(p){ @9~X 63L-Vixv%OPxP|K8e۶D!*ݐWքBˡOk֙inХ:A \4C?*g7կ0[xONQ{7x٫ejչo<__Vea~H۲F3XX+%LLcSFU10D k0a Dg*n)2dz + ERIE)\ ςH^-ŴB5]F;43`[ddFnQێѺT2YZTjxFQ{U;Oky!jOyyq24cO- %&%`5DBQmDUMo\k(L)r2|ndd[)Fᵙ7nӸțROpv0n}_r Y{Ѫ` O~Pu]-vcKM 1!1f\a0#)yE5#rhe,AqN cNq[X"*4rr`Wv‹fJsWިS:]jr1$^}eؘG^g0H11W0󋢦iҿ.cpNfi:?,m'MR7rf` q?AJl^QZ?c+,%ىWv2_QWkaSwbvp7MIƹdѠ\[A53/+.x  ݼ9~e6s:a??xXý­3^c4KPk;T,)KBl)EޣxL*L1QZ<{|luu,N(XGŌz=!b[4M>V ]jd=GukЦS0 -ne X_4oeвGr-NԆLgS3s؅ l38f$M0=^$[IJA-9fl@$}|ͣ*K#*&(*n~q+mJ*LfFvqGW]~xRHSƇ.9W ~p-}oyI!_A= |dҜ1I]A>*L,l”.&'(lUGvr-s] I:?au;0G>: 0G* ”$BI_d볟Nz_+ݢ#,MX{N {X t \xFXPk?]cJ@ ܯ@XoL.:[l~˴~w'~Ys϶CڙGY䂕P O o{LN<%0ca+9TN6-KlG(n6@(gIT ّV®qo}qM1t]}b{缡JY[CM0+5z;2,jF1y";0(lA/ll抢U͎@P5E_yt@JnG1]xCla,Y܋c 1a"`ؠ)_(=7wK2 &}]tWpq +JpPr[/0 {U=%ᜉ:<ϟ}o|qD̗9\] :Et㋣}/u%dXo'M!}[{ hOD2U 圧[2XPwφ>!rjI8vR0 5=B/: 7 9@Nt7_(_u. pnףXTҷ[hdˋuX`Fh5{"Av!Xv((RF?lłe+ ׾Xd5Ho~^lBn q]6=S7 :R𽀆4D6V{z?x|wE'R mK"'Y01Ֆ}$*L?1~_W*괳C "MP\^XOO+`9Jm.3XӼ :ȄjC|mGJN*8n.$iS>mIuץ^9c 5u79+pRfH&))z72loj4CyF TQ<"mbfq)a􉁜;猣>9uQɿN2KaһӀg$%׬`l݅yT_nsyET0;Xګ<x.鍉;0#"-@;3 -|xBLࢵ- `018GtFƒn.tOh۹/(0#ݔDzܽ+t k?c<\.Sztlh5(̰d׃"y0wV&EWRs^@D i< cʒC+ ~[^"%ˢA%b'EA\RصeaB#`gt=b؅v)uϦF3iY\p igxLkd)̈́8x;we)T1cqis.4iͦTeA"~Wڗ4u'YT5fY$\]륥.ISACi185AɃN@N] !9q/ jO hqhH[b\nlQ!D eň*NT/U$KkCj.rMw]&Pv^tGۑD z ٗ^ѩ0.s"!rɸ"/h~ C*f>,+\k6$g0N5f4ogrH)#(_H'.ExBU9d8|/(gZ0ZHW!-;62i: uL<Ӱ7l↽Uʯԋ%ì㟝3(98)ne@0 Wfd8adr4Z 9Oy[hF2Kl83eAU2ZDPai =c pN +pZzi!vP1*+u&0>fG H 0+cf0}S<^[ F˄θ4}ĩ>qͣaƹ5 ʨ74Flke`<)+(2B>g3;}y'ZMp`Պ +~aM( 2!Rڒrl}?y)Ny=Iy]e%JHdVkp|#$酞iݚ$EÌRV mW~ЪA 2Cyc&+u'Q8C2dIU$ȓQ&vŔFH؈Gx:=H\Mھ̨N5 o) ;X?.jSC:s%!ʱ,LA@Dž(掰t+>5ڱR"M#K=#'6CgAbJcfWog[il:ŁآY@ƾxJ+Mg%} EI?ӥ @A؇^&hd]I-槠ۣU֍yb)MÔ-Ck/%vu?zvj"j[E8%hGܳQ$H6YILJ[ji2)Qd-"BD\ҏEĽŕK a~֘ QLt1H?JޣL{6#`'{t«#U;Z0IQLQKuQq2+gL,1xsG3/$o|ŢY Q"=Iux?:[yLЕ5mC %vд@oϒrS;5fhp'q4+:}|Bɬk!v37^1tG7{Qvliqvj\MKaSѓUv^WvkqnP z[ 5#+rπ]d%.%R!_|m=`jy |'˧g(IbCqpzB54C _9-ϣt< )ۃ5bwj2Ge%^ITA? y'CzJ ]]'<CHONi@:MfjcYjmAg_?g;v%3qʋ(;lH=<"IdOazхIzZbIAi(Fj_\%wX6L&:KtݟW/;)s.0-s2}kT* p0,d즺{xx%&pN#lȴ+ʠ"kWtS}>b[^_56#X!_.%K7k.b-'R/?{MO*2\,h+x)h^in"}h[^0?ƌ61a]*XQKe%3qR?f+mwb}"*zƜ~F:rb\[sǜB׌_:Ifqb T+KQV$Iu;[GTj[*u鎨o}=) 8WzGI4˹H =Xj<>?E.8~TKm<.=^ahq`=Pn- xA޳"v4cZ.hՊV"i=t"v)1#'ZR*YLBYqXN{W3n'"ush#NKRA_M$m?bnTT ֟C'3>-{ڢ”GxQ|{7,+ /*zQ2GP|c"L6 7q=h$znR`nؠ\zLrP_>b-4}5xPҒWfE5[CژI1ߒdBHSf .D=Ie $ 8-I@}T#LV8(0#x DRU.]F/PɁzz@a7?{O-e@+ ݖcxa)̹q\#%*o ^+8gH%9Z?ӯD0M"W=RXB yGn8g֞[-"5F$_ DLŤk"M9MXA4e Zcb<%aQ<3 ^I#flC512/E$=9ch ,`}A̩d`SqG^o{jZ:UŜvvQ`M#="EGTQ_XlO8Jt,[Rw<];cJj!k0 x3ֲ)2…G`դU͑?\n_&¹X6N{];B'o@V{4mnDNb>|gQOcƠyr٭p߂0(nC2#90Jٱ׎_̤M|fS3NaR_\+T:#sĄ!>;N"stcz j8IDc3Vg)fcc8!byl&)tH CO:}BI Ɗmx@-6qzjh)#d7\UI5VHwݚ.w-,t]_Dg7Nɉ+;/]2(EsRކ&ZK>7]|TBLAT6_f bBm]ߥzxb}Ƽb_+YH,?׷Kc̡;|9bQ{{75qkP;G'@92?\F> Rk} !;WM#<7kl2/0ŇqtWTL{0O$]No j t8_ط +Pb|LJ2s> F:yW/M%yWVpi0 0b5aK$:V|ڃj:N[$ [̹rđlP7n],Ed##}+Nrt;`n"}`Mts';Z큖wQ]ިBJy@Eld)KM1 i\HR.]"xZB[Ipٓc\Ej*BWԵI#2Mɯ1n@ @jH0=ÆH7_BAn{ b:qg'Feαm|0c,ͧe24*x2CcC8yc&e4,ńYd= j-;P4EŨo44)i qDܰ6_Fyx}2|$uvLh_4K+SzF"=ȘǥSo<{_52"-8bTg`(aYy`wvʴGxOWD\M([[\kg@_9guLVB2g ".U$dX Y&XJ7JWfK#!q&hՎfKI ‘;Єaj /|(r chkn+ۿ>#0:"a]>g~ U1)QmeܗE0bERĿjDa,K)ffp5!n3p.3ֱZhHi.?{Y8E1J3~LJߢ\ࡑL\qPog4u%75F6뜚ؖgk&B7l'ìt9D21QsV륤~ jʘbܣ3 l4r jK31hd?k%UKZrK8X}2ӲpUxj$Cm cFs -*9⸍ 4rAVf.Y"CE̖:Dg6݈i>Hz[o$Vf RȹR$ M! 7}yw/C:jYo%>RL: 6]9&AOB=`=t! ݓ}2Q >.QrF<КeO$5P 2zS-":V)271 3h$B(l&;2B9) /\s7|:86 Tu2Вc@wC#ʮK hL$7[z"qc-Q`%nA-&0r=%5:qI%_\%=-l6O[bw:4/t"&s v#)(%uvl%`~ce'>oo $@mQ#@13nm RT )@0-6ɒnw2!LsRM7-r5WI*~j/^Í_PFA:z[3_k}y!ˑ:~t)g(c2_{fbdh:7e׸,^Npim~&e `8Դ+1/ qH.⳦.0XHEP=|&E1!$<2p!OҌv!yVi,4191\ tR j{AYyxGѨCѩiӤ ɽS)^2qW~({K7bsdWv$%F_+#]~^UY0>[f^E>U}&ƅHjinq)c>ZC̐d 30RM[5;g`VU~{=ؼOYC1"x@kMv@#b!"GQX8p,L a#qvd',܌ezfVk!NcL;3T7]ah5(\yvŻJy" *=B\LSVob>,GV=$h!si;мhU122{O3"JD5ox T%D8"P,}͓ݦ۽yA'H3#Dd^zB)R&ʺŔo^ 70hc4ڝ`U[X3.RqgȤQXR?[BizrRܰV#Bzsz8*0,M8DXMVpn˧&M;w,1 B|@ec6(xޡ5tV8\Yt QhQT`}7E֔^quLgkoPǢi8 CL ebxMi.i|,s|ɜ]XdW8$D##8شPɅT|}T%YchB0;X76&]>&+{^Z>=cM=A|7-7Q~{|4o)ĻP612ܵ}xA uɐI=LQ|:-,lV!AbV!/ghw.Fi18%Mdz>-fy9LJ۰`Rlg#jڇ Xrۋ*WVNp&AʨXI o6Ё{8|=V<# xР{af\ҩ=nhǯ=SBlqV 7{qcT&iiS$=}0$ZvD]Iȃ@da/XŖ)+{iOJn*Zֲ [7 %!,ktCqxb7|Ʈu.Ad`X N 4#sAR-5̏vQ(kR{L:8*+ŏO] ݵ2j ̳&͊ӏmc}?oL ] ^S޹ʾ hWQ L3IqMRs #M#"ǎ% DKnen*~$LBo@JjhsKRj9u1d\}DM(3(@zQ5in5|6 =C%cGwlυT]#cZ ^dGί7`08fҀnSr#l{pP{{+h+ ֯ \yЩE/ !hn"k*AcJpˣ4dSkӄ3 I@ݫ`]eEC'H{t{asTpԗʥAX'YiK K0ef"`vT5/-&laBO{Aѯ#Ot],}{[`y9sSqf0|8=^V;r>'z;QCFG?U3t}ǥv$U X*ދ8B:GzI#6|#Ryf'\ mlS俣o5`vP`g7a^x3%ͮ|ٷ t RDq'p|e1Dy ͷ|=yڮ Uڈl Lͽ㪰cӶ\8[נkD<BU2hK$(kz9Y8cBI?{T}&LHebW|ߜi#2t $\(IdĽPTB85O۬9+fNFdRI$5)^c8ʬ|"&ܱa#VN@Bt nfb*uTAZ,%}|#&q/b5j%\[EwGj;wq $Qĵds[golnN(Cft]FvL+Ɓ#öxlImgO@ ;6_0lFۇI݉+T̳@r18//*0ڇ9tT]JܫjQYd׳mZ1;i>рiӾ!HqD@o [ɦ<x^PkW]kࠨX`#s:瞎*y U x\GF~kIQޟe3I(v!}fj춽D~oo]0 ^;Sm~"p*rSSmE$V1V Ą=oBBm͑cΩ6=Ge2Q ,{r+Rk']$M7ʾAtn^]e ^6*U:[k0!kM 7 @MԈ@8׽} MG`LBgжG.)$MI@mTX۵A-w}r!e gB'gʭF؃Zy+ f<ڒEpxԅzK.Դ*lQ>C;fA#;Eŗ]@&O+c1 =2l$b VaB<&ćҥ]<А0aX d4WF [4 Mͼ`&dTՃ5Ec$z[R .>`FM'8 -e絢Tbܛl%= 5 x0.z0Ty$Q休ʠXY!V[J#}v6,) BȚ\hÞs&Rt-+ƄO>O:{afefX,q+:TR EHpF&Bms3 U4Y:&<(&ȖP>{};(ƠzHZKD~{dqu5z hO.r+fL:zmlU$,1<$X[ٽB܇zJRKW[룸z'tq}9 SCj1<hNdzd4LǯcK&KIӦZn1 ޷5_n3Tl0SE|2+1gD\ @ *ktZs/4s&ߣV+pyKm.|ȍB Csh8wBN ,VTi$ $xS+L [V?GBv VLkV4qWrx Mur?0|rĔH p'$OKP]}E\ɡ}OO8z8 $`IjSoۖecݢ7_odҀf`itMa(dDOe,Oݑ`@0{+B/5K~3%.=U!1ZFb1 IJ(&S>B3C*n;,Y^ x0T+#Vbʠ #ñЏb $ׄ`{оP+O&Ƨx/<\ f CuFa; I%hh4 u%P߾تPsert3ʹtdӋtr^"?BN+TKi ї jmEŜ; 7I0TXGxWܡ@*@[,. E[_EwZ+Q@7f;^3\\tOЛ*~D*{TW%r_&4LRDdˆVg.SxYB^HAUs[Wwa 4dp_@f]tsZpƞo:!WDAu7_"ۍxB6\˒{7GjGvK|U<͔Ȳ`Md>Tq%3T "⋦iUT!fV59/ coLj֧]w$ I5)߂,*9Ceʌt:?We'c%3O3g>Є! guFqk~?t5o{ϒ lwRv:(B3N=*G]z~?lJjR1xϨO C4ծ:Ytqn)W;@ޚ PF摈 V-l2w/CBGn.l X)Îq{]WkZ駝,o?fC3?XФU}a[%n! {Sb)\ax} >l,It3 _wO\\pYDBND4,>("4Q,Ĥu'ڱvqtKިq#HgavK&vrBH!98*u9hGŋ$C3|2VpwL_gVK(69NEw|tGK[lWw}̮t y$DHY~pf̽q|b#^1_)m5j ,O&vo!ǯ #;g5ÊV 8H~Va=hq1],0mme}MUʞ68uEZlVHe3h#ZAXFtOR%8*n}}MĮ`x8|þ@M{&Z,0īyahbl`+C DG#!rCR&7N㖙52Lj>I%D_QԪl?傄,ʙk"OѨoQU"9ZO5l6p/IJ(U=BSvG{mwB;%r%{n5.Qj0Zs6wΉt~暪]X 叄+ed8((TSg3+:&Oՠi'^zhr-R%HgmE/ `IW[n 7r8*"M1E##?v!Єց5\  ̂]G v alY1RWO.TЕy,CW[4Kb} >^vFERd%<`H4h ,~6M-gj'bߴB:^%}8q^|pYGPSފm,Xg`/+e\ZxVPn3.CT*R0DӪjdXA!K0*?W̝ [@uqcW6|ڃo>N0Y`jB#?4i҈g/|~EB0FS C !RL;Ɔܞ iAs(m 5 54ȐS^5X=+ K=%<~M=M'Xb%FqdY oo3_ ķl*Յw&t=U Zo jGѧŐ IP oh6Eo,1Xi&0zG(3uSb / "{~ ,JrҬ),=f\q~ (5E9??r:"Y+?L(\3O8GR, [6l5ꐲLpq勽K~,w/O)=5/ru(! #zW E) M2b#R[W#FMa4fA1Kn K)/E2 TuWIk+w[d?ߧQ!-1./.2z# pٟeR8P7:tns(3ÉBZB BKo6-Cd9-=dթCkyR _87I-hͭBGݶ^jWŬ e" D%:H2/"g\#2hivcYaTyV7iЅ~8k$uWHmf@ U4kOIe5y5`q(5!~AJSA%@Bꜞ@I^,tUz04Kg $$yǔ=|+$))5"1pk+:~[5ߎ;q Y@I ٪طPO`Bᛱ ׆"kYy=@>ݜG]Z3mΜDmO υr[zR+Jl+a^oGYhJtδ};]lLIލݕeGo P i|T-2FoGG ʂV>!"x%"l$^6Ü\Шڻ]pTcQ ֳ|n~ w *؊ɡxqv`?3%1gY]+t(Eߡe"O$3QD/L$[&y-1LZd7J)֍qQniQ( I|&k'ZŮw{i@:@4mqps4`FNKn˂V}hDƙ[m DzAM)vY@dB?r\_&;jz-_(j5߅&ԆG4[=Y86U-v-Teh˪=7*` ! ,*110֥ߵW~%!aVE|Ajg?:rܪ4Kh$ޅfn=kkȾNܔ0 g:fniy},%AkHwk$h'NdyCI5qvfU; *kx;RC砻ה;::)?4ʣ^D,\j,b c坫raɭ)eGx/.@ˊ`j`$`b3M~хR[` P>wd\E4 RXmB$ 4-`}փ^V`} @G)6[獳D;nJH`h8u5/Ө (nCt+_AhX1j9cdtoVѪ۵-;aogqO_ifԆtQ^wf#^C JS$ pu,iDoxviƔYec|C<[a%h=ՕR1jmƫY6$]H:y>:jq[#"&7AN3|yYM|Lxs1{Jlbㅩ'R..f=p?^֓jeaϣGp#bzȸO$2Vf~ L|#;Klgactw?o!g -/(BkArlg! j?Wn(E{ T?Ai*-(%n܇iqF߇I0ܝI8h}~r8VRFWНHH-b . 4A/GUH8w܀RUzB)ב+<ob4f;c&?T<ɍ r+<edĞv")ŒwSFu ^94:ՎUĒg/{H2p! dD yq^eCALmJМ^5gvń扣)||~Ziu9, Q3s2G͏uop`%oj sa,?tv֔b7d[ DSBS n^w}6ǶgCtFIu^J)Mclq:#j~n- qp8>K>h UAa@L^AHAx3 FOsadڷ.)4VED+soކ'/Du ρCk[t}RU\ u0Hj+'eL . }+ME/ϵ}I.mfv+.2 #{숦|6Ο ! [&<^hBqO$#g~ejuo.Tϼ&cV鎏Gïiwf]mXIq`S:E\u2ce7aln4޼OҍH ̩X i8N]nħUᰝVka$=U%ޮFf0}rhX혽?5)ac"Ǫ4򒾛"Y6#؜?Hs@ƹ.Aq\b4MͦjC攤Rؙ?iфi,靸tiuDs%!fR^/}nD]-ܨ_^b-aQ"˚y}kʄlxohɊ;& 1:o,烢6[F&#f_W/(w%{nU{wCHY^%_鲤tK4d\X>Q Qq"&y'\ OC8`eOlH4b`F~}@͉0^ĠH70X!ԃ(?l{5iTmqlGҙҷDׁuٔ^)Jr6Zr<(Un:Qɂ?}54;t'jx+H*Zؘ8{+6kt|,\+h߀yI1r\ɂd#<^(v"Îjj7e.p6 Q5/ tu9|&23/䷯:lV$AvMJ`%𡺅N5*o|K#,[h=vqq8}^>/6'J^͟HCd-njۺEaAȢ 3W'J,F8YgA!(CAω[Ux'K?AV'; ('2p88?e0@1FZߚcn< eU% ,Er̉2u# ];?%e=++ˎz_{< _:{"KceXn8P [,9/1< Pz5vEP.sqJz_#A' UsթH<QiOݴ/ƫAv6$a`0'y鍀5?lgSfe-p_I`|Bb*2A" pyYE(.% ܛ;ln9Zh FOiQho/W.aw+( 7MNZ@{Q=.!9v`}oja@mb7}'(Ww8jhʋBpPYFZp/9t,y-R2F/3tݕs3[\ܛ03lyzT56}w^M3*_7[ŀ>"Y=#šn[i To/*{{Q`^t 9E.BsjZ[m) UI/r㲕KqXub#4sj_*&n0vv13-s3Y" GY]zL>_1)4b?Yf#죵>3 y;,L=jWY<3Q痽㗱{(e|nLRAj j92+2R;<Ȼ+[v[?KB[|!&d!ޝ>L 3ݝÕCbTf%!9󂼭RC}fqʕՙJsk1 œȭZ0"蹟SNq %sG8 ?%:3hq2M#[Ho vKJ\rNWj=O&-}_]c{Yhy2ZedwJQWSWxWD8-lmΣ~=vOnzC7pDԠdg#Tct yWJR ̓݃:FK" Ps')KܸCHKrY~ dvvpY@‹ԥ'aWxr9Z[.uVQ5%?q:ш O5lH8A .zlC7!$=?$~ 2CZf%\exAw=. mtc"j;zn[:6\D\6RG LyR2 Gz+/[@E۲ l VA` O9pvq %qAОq3'm~βLJ _fm3&I HPWBҷ( #ÿ%*90+%~JIDt B~#NJG1KO@/>=?-^X}N]vPNthޖjwYw Xŀa 4e>ǣZfYTEöٳ&߳r`7L]ձ03ؑWȒl{i(GJyi <%dW{ _AAOV7|ֶpٕ1iw5lRg0TqŪ,F5Ku^MI[WpvHZA1%;h8kj,M 0do(mGIڵ3MBpw"9/m }0>hϧ3#u!" 裚 ڝKqerk1oqQ#|d}s3RIsKk, 9|VF3YgJ#.*ofL*ωgж=ipjδ.Cԣ F=Z3`5w| FiMD8N*]-Ye-^­`HӬ6{(NgǀIIDbk.>2{M0iKG{w-:MX5ޅr- K 'tX-4ۨ|n:FFUh:զ3 &msԭ+}3%qȟiFyXG"-!f5U 4,R)zIykV[ӵ6CXTP¿y,Rϒ?a,.Ji+u"PrEO\j6oaat?-5&;yO= ܧƌO :,/8<9Z&5xl+Yj*CSm G*Uݔ UMgP(oFs*ڥ,cAc:>շE1\.9iFa#/9 bf6"O ].ry˱$`@jJ߷NJJM@:T $mcS8]MJU}nZE\ gSw>a{SN6+wjfM srڙIJ&P[}\[]P(O(KzLo- @wۛqp?s% o1erq GܾZ΁Vo(JWqX?,a}>2iI՚,8w+@n%n#nL6r m/s}bD>)n/S@8޼kF[}wع %bƈ!¨ k&̲~јF\ŵk ptod;L57# ") WWJIPaj+SM"#\䰰BQ3ؚ;#Źhl*Hm߁819Mn 5Z;^LExXu3B%/@nWcTO\@.gV>oCD@7NVd}NP*pe-spq6{xLu.fA5ܕXX|n%1rF3&Z'$B;cl /xAGkuBt9X [wƶh""-ވioe[/ۇm|gF˨jpxJnHM:"ыΡg?*-+w!$z!}! }U:DwHe|,at]Hŗ8z;e1; uV )&Sk&5 -8=[pr< OTa&f?&ݶ^P'O |kloo?$ C:m,idl/lX- _dyT;D`7?:+hZ7a@zwױF!g1(ѧ[8,Sb›tMxc;JKMTS`CyK;+H 5 ~ {{ϧ,*"7dn'/qOɞOPuǽ-ro:wlA#ȳr6o"vJTZU]dxDfjwJ{ 3c<4˯*nhPC,.^m{ܬ*Iz&:MӽPx$_:EQ`z5%V-rT ?G=~S`ئqd4wq8 _Vjh8vH?(yjl9\[IvT-D$NnEv{?\ٌK~UMakEk?4h$LBS-Mli@Ϯ`͗E;1u }J7-=kHh:Mƺ}A=\2h>`28Kzhumj56T9,mJ&!> *R׋xnjmf@a`5k*.{j1:HxNqB{1_=!R,1PnׯgPA{7Z&֓l83DwV__UzԿFgu"qhW0\̗U@ x7vb;c%/ޏ_c/re(]_ɹ9|Z9,#8 4$:5|UnҞ:@锖E/5ͤ`ᶼEQ2_>`*/(4o"HlȷN,?f]mh&dT^lna XӉ ml^:B~44g.jkx*Sa.n&W*fGEZҋ~mNQ1f4s6^C"(5Þ&Lݴ=_l3hP`|DlT_4T7XA,SMX0}Gd5bit bDM)րzT `_]ʀG>DE9Rziy}ٳVv { Ws{#cݱ=k꜑e3z I%,:1.z/wh)0?.V"kkmH2y_*LVG^ry}{qL{v75SeT @`m9XKƺW UyNOS8;~=3hm!)1NfD2& qfOJ4Tv%: AdG4!.qH}CWmEӍUJlU*(@H_PRVh`Nl*GdY~zfݱR+~2q%589 *e;-XfF&ըDi=oXbJ.S we֙7I2~){8ߵH^Ɛ%(ʝrKƼdw{ 7?+[cx'f& ڻ8CMl!bLv4_ pr8Gh|%g8tGsQlwvqJ-/ƈZ'ݠyX,vJmvY\5u™52<)wzEnjcGArI j=z:&5 rWbxY@ĚJFy(@{p\2ϐgaC$*>y&?-LHG v c! -9e܀r/ZmR73IqJ?wE4ïvr`PqvMΉdžхn#&nUTW|8+uI0n◚v5vwjtpTߜ~4_=bxfd2C2jr"tB5AEZ*F>WlNGra < i&`;Y{ Fܭ 2^5b$HB`bԗńi&Ah{/‘a$F"ՖgYȪϲLx8F},ƼC5 2C{\#K+. L%䨷 펒Didו'AAj tZ55U8\RJ"&˓G(_n#w <96ʙxZmC;wlj`KdCp E"٘vI G!IyZ };ȑ|7w. g`Roӣcg0ޛ h Q+{ ډ P\a=䢘Z/*h4GĒ&6|0l1Zg9r{}ZY:Вj#WoAk2Q{A!ʵ2n`3t\\qZvk*@V*iԄ&ӖQC1)k.MW+G@*I\0t#AN39F(T [s;_!឵Ec1qTY H߄̀˥YeE7JXSRa\(;gSc}-us7 ?f0Z&S4olRsEOv}s "LýkJjk0;*<ںzНCV87AVWcY*DԶjD djt{Зڗ 'Xj*/7wq 5h.cAu]ÁGņ9Izz Ot^֤~GBs^DSI?J uQ.',,}Qr+R a2TqmUkN*}Zs9DdZ?3ETk2;C0]N,][9 dr8ϭ]ATVBJků >ɫ(UcaJխ[3!KP.}ޠOKnlք ̰P7Qþ%}sz"`\$lΌoMcIm^Ֆ4d9+~glRX[zN{'K bT? `5gPtidh|꟫rh}5;`@tΌ쎻(\?N*-53BҀ9U^+곝jۤI/:JMr}f,.QV%ARJ;hrC I:T`4"}~֧qw̙QkJ̝"(mZO!mfѐ gƫ.[!Qqw5gāmRjndjnu>ӟ #p@Sg֬S4HA=ܴ7}2((Bx#_m6`> 8/B?#3h#:δbítEXX[N ЯJfbfII~uƆ(Frk_?f1+ں Y3LҩYg(]R4J"@S ~1/n lvn6d~IQT># NvЂ"VknHtV yUے$Bo;˥R(lϑCKsEDUpĔ `}%4-c~cURq6AL K=IlĶ>LۢY-jm;qPx ~@OjbZGZMvߦ4%|BPE 8Ѥ9߱<̘M޷6LB=LCeqk#ok9m16W,U脽M)S`q!Mq9}weq%&j*\׸E>֏N-59d{~dt}:I8Tb(7hSO&w9'㖛e u7d D𤰖ڡ;+k|- @:27'yajï?mK9, y(Ih%+Y>\C4wp~T%v&aKa|עWuG:Q ~:WEG"\:-il7)0!t)ćM9!VcX3.lf>km6pRޠ.B$}l+o>eV,lEEѥM[*ƯG~ݒ1L5cN9EB&|H07ۜԞA}KS3{2U\!0 ?neijT}pU[$ EhLyZwI r{d=0=kaJ'D]fUfp5a+OcNg+Mԫ2 =$`E-Ѐ%0 CV:^HbNÇOq^hIA%T#P'n!ӉE<'EFek\i\QT&rϧnP ;My,%y]ëy '/qΖcAPzc,hZ} i7_GdAY%)2$>C'k4^fv}E'c!D4,(_$*t $|޽@UՎJ\r,0&XΆ^녆Xڔq#zM- $@:1nP.~`R/Eu֢gNo-pK=^j6|b'38@;nEj+/]+ףc up*I[KM!lbxB!ʏW-SDT~$ ?ǟwg 14T[w،`4;>ԥ6hddXGPE\.F!SaVLj4 EY4RSw3}֫WPsj2=kfԖA6ޓMk'Pxʅt*I lDsJ6)޵hi=bo PNHIyish@0"(Fjwǡd`+»e7F(/D"en#4~ BѬ];pEwnrLp\HCϋtY٠>ɧ~?ݙ*DspDj!!i7KYL ڸ]?EJ1l+,IF1yReߙD+ adamT$ jLGY=#BsAO-DpP8d)h~.ߠӶ^/޷_%g'AqA ٣D8nBaXQeІ< 2J  ~5rus/y<}OPekYjV? p9`aЌbn#۪[U',3%BԿgDU:7$6\.> Pp[|1냲qt~`1LV[℔Ԕ\S M50BgU2'RDp"SAJ[!?Bd"bSJhUd\m(se57vonic iOSZq/;ݛ(AaIM@u%8Ig qIQQw [`%?Z` ^#q5MN<?{N3g˹9cgMim+ɫ)P`{lNysAHWPQ4UiN\dw79ZъʂބƲ{q= p\v#:t|z ۗ0UH{AB%:Ώaf!_x2E}ˇ8JTe0;E2W+2jR~M +j쥡5Zaob~؞J>聑aznL ^ :!] [8ɸ?Ùw/-7qeK?¥/w4lM[@DbоC}i_g ǀnH'*~76 JP<`ɔxƳ+†׭ oB wyΌOƶ4GflRfI5jc:_Pdzݽ~9~'1zTpcMZO) rRՁL&ɮƍbP{lz'G1;$ TGMonǡ8NkGcpnX!/=~52Q͹hYL_uwk2C; Hmc[Qnю!~߯i59͒$ Qx<#|îms5d6,/ H_ )DM=FYk>5Izsy2Kжlm 9|BO9}i/Eu:jH8ā}q@ 'k㠲йYsz#ʫa RoG'LMd- 8):w#i9>T08P8QP>'zKf* ;Ll=u8*o5&` o=:dB;ҴnD.Ego۲p<A銧h,#[1Rʣ Σ;S5s;0zL,=x:җ0[7e 7kiu5 .? ]ti4DƈusiaYms- Z :T=GB5Alָ!: 7R'S*zfa8|(俁7R' I%|XO|gr)e{<}k|%I_4s̓ [W;E'zT_9ώ9yjS԰ea`4.BQ7}65b'mg-E)9/jJ]UtDPNM8'2TiGc<><>{{O PC}x;8;S]vE]ֈb_Xl*ߘD#׀+Wz9, >URW3e`Ayz O<#PMjqZ!?Sdt58&{v |I7YoHSH/SFsͫI ]f:*E2M`a))*'"+|yn-5yI]ZY`S{bv9z[6' Su4"R$BBw:?CtדPI wy!23w~E %;؉)M1'I醕/ ;lS]݄<w cɪH"a[G@ M PL5 Oܹc MN+] KLE"^UIlQ]J߱3g)zafXއWeeL0vz9"#'NSb-*#$:(.eXxbHYqERr}:.H9ʱm #E 3BRK w7QqH7l³x<0 wD։1_#T% }5j~]mmsIeio;\ يi`$Kl8n %j%"ca.>!SJ: < A @XmC뾡^Baon2V1ۄژ% **OEO`K1}Q/I%=ϼCW 7h^,˃W,(z& n}#3 dOv:>8U'a_tb>y,|R`gK DNQYHQ6{v A&^0-PXfX< p&+ [UGrKl~OF Q'ZX 璞Pxi dYn, 1`@Tf孹HXgn`f ]kvqZ /ZrDLAKmn"%T cK'jf) #X<`"a85dqP{h4 q)HY~Kb/p4iWCP2w9Cfo—=Cپ*ߌNSGJ6[}ǥ?I甬 B V&?b Uq [WT''0?sFK..hi gS`!K'A\לse3_-9 %U8dU\O}"e`~K~am2W`ޖ\61}e: $6rXE6O'#-'Vi%W\*`?k^nKET h1`9Y묭U<#sڼC*E=Hž֦x67g9IPVBwn퉢%NTp 9cĶ>},G DUQ4+3CU #~J"@_{F$Ԛ #=Cm»u]wRόn?J&:I.k%QtU)"Ew4̔s2EfY3w‘©2$P}!q&+^9[B)_1ړ;7H50 7Kp.'9ტc &:<Ҙ/cy6ߋ *h$֯7{J)C}?d $Oni` 5n߫c[jʍjH~FB׍Lx ?G=H? 35U GמB?mqU8<˔e`XΌ \PF땁Ex>dRw ՘ZDsZ=dGšZdD„OqVLc#HTU4ʘGfO?V"O'DxKLeWt.4H іy Yo|BٟZh&3+W?I YT9<'cB*m8?l]%-p Bc_h^*u'_/|J vnØpU G#g`M#EMW+p2O!Fl&on:cqycRO3syc\_@.h[U"dlܷq$Y0zeeo"Ҫ'p=}00+"E~0;<a~s~xuX7>T1I Gxy3r rE+I֣y m뷅8)99ԏ%S!/l5- N JJnِy-QIiOii~oP1A{ ~.#[HECyA33.0z<ToqQ$ -AVJz+x|D h};3N.C_/8.*?_}`׃]ƂSzg+Yk$^2OFUc-_vn#|Ċw6dĝvntTVS q=uA秣"L1pO~1qzNG.q@OP^t X6 0 BNt#+uKAXr.L>1/rO~q\5 1!aܨn .P,} h_@kޑs5f٤1Br>UD/ j4>OEj' ZORjzF[es^@ڐ+Kiz\)2ĺ 4!ԩXȔ]^klXnNwar:A3kescHS( G @P&VfRjW??\k6BTĞ!$,e*]_f;a{HKL+gĭd`,nANBf%`k0q/&pn5Mfya!&~"'ZX^KR۝btPxѩ*lkG@G;~>6<~;)5q> pydzՑo`3wDGmHi {(y->\T58ZvlgIJB j#}dYةCbLDS| /+=ٙDA>%C+팠P" G=ðo^t!a?LXt$"K˦*f*P+upm&FhXs/4='f+ KJe]ޖBʪ/ҢFĸyTe1z2i Z/w^D?%#% J%Iy+3!菾J|VA)wp)8A&UIAKy=*~5r& -YAn2/*քS}:`7<6d)G;;wC_$Yg41P uw+H@B얌̶AE0D]:B@XٽhbR`7d9ӡLsx0 $MǙB_v7S~wE6Es34%1Y E֦B*jY W|7¼p/p:ۼX!=7uV\&_6ϳV֤\tA%1S2J^@A[2{;nA#-{ksf &N+Ƙsn {0Lף1Ʊ.8C4)dr}{n@ !R,ѵc*ۼ.YLnrEiP*NC琀]:39ޡ&2t7^6]4ƧY󈘑ZS 7Iߞb4G~,!Ydw(ϋh SZÖm0)y,UZ[BebaqhX _npa=9^[ u/&DE)`{d({C,++D3̅Z<۔"f5 F RleP9'Uϋt3։)e^G=R ~h'7$P)K| D eͫo'WC?d?PE'ձĠkfDcDpm4cwE"~?ɼ;8_oc*dCy\sMtŸj 37 KZlAee8-G`j:" {Ot+)LkTxibbkۏ6.aqR"Oށ1o"##/atZ1SXI d\?ڵA wR3 .rdd,YnD>ը&'ܛ_.W֊YwL2ɦO?4LK?953U1][e(Jί%m>%v8c=⊄@wK~r*]5۝tXHf6s^#t $zpO͉Gk0%wڜ׋1pH^neYJ*`+Pf&jԽ$R' >g+@ u?4aIxуb{E`ih6b\5*!u|/S -ʠq1_>c$Nk :-@\IɶYOm uGyʌqZff.ZL‚u_v![o:EvJ.%zWrG ;RʸA6GG P\Wn`t 2-Zv^ϤgDQVy)pվ3Wjd(?m q`"~RH765О[po x: ܉A= Sn9ZWΌoMWҢ'D~n\E4O1 d@BdX_b!zmyWSe+"Ћ}DzA批zK1!D9f0Jj4 Ģ~囡,iH #֛]*QXf%47ªԇ F5}}#ai>-לR.dz D-BUײ?#/b)n5mu/!Ms(&qW Yh^C9v݇jiԎfnKa(Hx-TXiQ`N 3^̶0eJAt6<u阏L!@ X|$"bnX[$u7+/;)12?cGs<%Qa1>tR9v`q79s¸8T[H/,xnVXHbR>L\#bS%ԝa!b<}-?"Ȝw2xhŐ-QsϧB.zeE'*fkB^68n\f(.ٺ@X)K+2$gwd"5z(C|dvߗH@Uic6`B?/^y04[mî5bVzZX=ǦQw$"'U\QY~Mplz- %1=);QvB]1~/-=4d{쏋8kQ~g.OMlL3(fy.$77l.wx.j =ʓ2 c"'m$pBL{n[3#/[,VR#N1aWFzfW픂]}JeI DT$d?#^Knक%`CYb}o񗤫q*8toқAWo,,gZE*F.QFvh:t͚t34+0.6 {f2áQ`&PC9ȥt5S{ܛl'[/0aז9. @}*oj6T'I{sSt5 k=q@p\Du1 ~8nlfM+M -$)8Tb;\+RC$gԨq %p%\c)=۝gUֵ 8`unFqK c.^НAWZՉW=-y'9 L_ mwȌ|Nv LEx(U{ìFxQCHA5bfw|X5q@Pq5=bt q&z`s Q\ӕNsOq0}&,uQ\dI zƦ#5~U!XWU%,w.i?4ߕʟSo)~"cL:W$||qf4\v_DؒGR@mU;jf\`(` f ϕܤ3<'xe;Ue"K{FN`n"$êO 'H'^TH|=,  ۏ<6{ėв(_h 0 OہdEyc'i^7?gq^hZKik|*}W+׮΀ErO3XL<^nH1ܸ1!W9ials|^;3"q+h/DL_;arȄ]^g^ f2!>UtJ,Vf.g`gϐJ@]D$t$7WfiЫѮ')7OcZ7!K\iUrUӄO獍wY[\4iJռZJt? 6qf2ȱ7BOTmб& ${jK'^fSL Ag0%S8m^UЉKu(ONT!S^I!2TdIZ\J2|D_3 66~5';labFWX6A &}g˖[;,Qq-L5q9kj,B C-+M ,yQߚ0{$#"n ǿ?t(p}+2fɰ`ws_GS>9oʆ/ָ0(%4Q3 웙3'@ JK/B㸴mOѩ4~-_7PATf <_S`-''v$*Bd֝)8wՆf(eX-By5A1۸՝rC_GS7Q⿬g :*Y1\$I3P2`@7IeZC|Jz7 09zH,a"5$ӭI fa-)g;aRFR fltR9*9t';8Ds^1|ݧx贡ʑ<cJ8z+kt"KSL UHX&Ùl( 1sZyFf˱֥׮ ބ>.87}/[&3%NYR=R¨$WRjhכ $yLJnה@~|L%F:gj ɒy_?a.y{(B=gO9jg+0 b3 vVI 8;2}] <"dB'p#Y}!`m}V?>TȧC|16bOXF3$ -_"6Kl"h\p@ 8 ESv)r'_)|DfנXGNa>~Ws8u[liuY9DWC"Dj Aº]RZ=7_7x^bQ}A`Qy`R=uRE5L Q+T$֮LZ-VeLFl\øv{r-e:?%q@ idUW.4hĂܜzw5ם[zCs@F=s OԼ&#lf|dh'{Bd-|P$'+-s)Ǥ娗rGrHY%EbZq>l#5H3){nܶ>ncq +"?5V?icJ7Y1Q6Kr#DwDOׇR=]6~6|#nU4&Iќ;nemգk(*Y0II!;H?*!G4}ˣRjRKr-Ht:1k*/)jmy%U.[?c '|mLkOr—`WŋqZSlSc-&ܸ ]URKg]+ jfYn[{2̘M(ZDZ m98g6U9tW 054Ǯaug:SѨDdyJq[C * [L$x"KgY^x̿J QQ|kF\Ih+K*яhZ i5~V]Q󥩐&KL35z.㞳rc;WaELLZb[r)<\ǡˢgJj~&?y)^♳E,QX6LoM._NIp&:/ҷ #2%̫dRC&SۊJbKHX'KbAF9#fe#;1UR pDh^pZ@NH]WBM*8UA = 0NkYk؇uw E'Mb@W W(jZ))v HBb84_'c:SiJ<=kH#ڑ.Bqx&f錾x?cp;r/i`(0ʵE TK,6HMuVoepUTj8ez1[XqIG@cuCik::w ^.¾SwW¶ ct5:{S=Љ;_SQܜT9 ^~ta)ޓn`EVm+qR:M fo0T1֏5UVת@[d&+1I98WaZ#2*lU4pWDݤM-3u0wE!>#%Ɣ, {up `|b{2 ~ɘ\,Wb{Mi.ˎ'=aMˢ˞5GSZb=ӨPb[ګP7_擾<2gݒ87_>nA_+57N5L;\"tQθH&Sk,fkbDL'~AZ|X(4WݖLj$z & #^ &N,G H}WgQMdHCpS$1Aeխ_yNJ:=e,0Jr'gD:^'Py~<~_Yz^=̼iJܱ8 ZlEc@3"7uʘu٫]\xI F՚mԐb\?2Hl˘  VS'8ҝMއ6nŷ.ѧ(kB}H̖Bzǐ,D 2Wu/}6V' awf $ʮb%5|YbO\0P\~ʩXHZ )W8lxV :X^ k{  ](@g)@a$:˄/UN7"CB7c'x}E@sv٘T)g߼ QY4jW=P}z+]Z`@ńs,}+dP&*/Q&:8)]lv L?A4rET,N˂ U\p9۝{kՎv')7UޭݜZ+j) S6~8uqo=d~"<.oX APŎ*QUޝ\txp^X€O~S#&0+`?ɹN?UV{e7l A4i5tl~mPL˜qLh ŭZvK*I 92cӵKLn|t0D z=`RD,_ 8̦B]?Sw~.ۇim2ެUz̒S$_M89 W)%/9C&?RhY$vgO0_[R)UOYރ0ۆ ͊X؄XOh&֣O EzbGa#,j ~Es:o&e*gjiŇݐlNܟK^Q6}BdT8WRͪBՇ|n ]f# GN9ѹ3[˰=>] ǂnc$!-$LP°,XQװ3kٍ֧gO=!֔CXhh X4BԊ_DV{ 8)AmADO Oqͩ݀\xv_s";)nƝO qQ }NCKSP&_yYגȯwa%}A\Cl6}P I;r[zO8(o$_*܊ \5r1%ז̓eK|ST';_.*tɗ=tYW{koJu0S }tDjL|MmW! Ej[GV {y%J!4j̃FQD=di_Og|b1ZúU劙ewlevҡI }N=4l7jF(FE2E8$fC?9ezk1ş,r -{w1+5ijm)ذhUY8؞u' (U-s7Ћ>{Kau-Dd'L'4SaI+,-9Tƭ4FR!MDQ9bX$1,H%V4Qڷ;d( y.%+cbf|5baY"_5^q@ ec}iPDz%7+ǼZER̺4X.HG&Z)o %=)2cYԸ F!HU}pKo< 䎥8lHz\͉xpKKtJDi =ix|Vϯ0n֭,W>j&_Lzp 1!EaK0B73leˍZlH!hzS6l.=8Th:P6!'($'җ$b$={(0JaoqO_X7ĵ.zf{Ҥb=uKom湩`Z7Kr'tDb$ǺT8rR4kY9׉G;iuIKEQ C-H\:3BV}=Hu۠NR m<}- 7r+& 2kґY.c= IU<euxXԒ jbѦlˊҴǩ;%m%Td[sf/ $<^ҥiETsM{7> 7@<bqsiz mOI-^XK_udݧjAۑnNêt{`|2‚7Sa5{zދ@E@3E¼u,:mbE[x{pKщ߻;\L_m-Ȏ@~w nS#ЉzN=~kt޷bW,B?.<ِJI(_a@ֶӚ'48H?N5mhju3 ނgAhrN3j>KFLυڸU 0NGlʞxa V٧gٮKɻdjW߆; K;fr9s, nY@uyYF:D+!B{K@%qzjXg xm>}HT9'o1ӑH4uu)f}( <9 V{hy&SXhm ǒ?[ #%MIc:W.T>EM|ٯIXsNVmsW6 Tu5[3`'_xMIM8Yj5S`;(]';.$#|6{׽?O!Ź1i4!&h4'q; ^WRAc$^;[s*s[VQ9fXҚ2"v*ꑪ Zs\ IwYԴ 8i>LkXSRbl{6.WN>HiMw.9dDm7ߑXD ߾24ƚM "$y&f-G _~xtLU [,`>p{Fב]bW4HF6r5rPC&Uf7>.tUfYOXUw[0o-yo/Pu$8ʘg\kM`HAMf=x tPJBSslzITljNs. P9 >lOܞɞ]VIڹXjjDPbJUWf_0xiR2j\K\"U݌$OXApI"yhVVI;ޙ7\O_TZ PT5DWH E;aHixA͗&ǹ%!X}17 $744eu@WQ5ccA9*:N:y.5{sĸ˜KVкe,lmL?}vjz wwXPg<nANJ#wcުi%-E G_BjBM,Q&ZG@1{|s9> .Yn5 ^[*)^NQ6>Y9h<"uFV`~s$6n,bQT剄}֚<&mS C^6,Wxb+ZN Jж`3#‚%|􁻖UQ!H*A39'hbc'}؇e+.D-#Lq aT/D1Б}\oV3NAɗg/:=c1w]%cd7<.7^Ne9\7`}<( %݁~eã襣!"z/orO$;V 8we1k(>VI#g,9Bä"l˩L4QCS~YY16)whkqR)R_-nd$h;uG7>u9©ܧ [>Q''0U!HW0 8h`(WH3Ydj 2(\3zc GExp >tvV6,$6L׆P z|ڍGYONhH@/?Zj8fRo'bUO}=\RC&h35άQQ3vάg-qӞ#аڪݥWnlC`H)PjKL!O";KLXi$:]U8 J>BmH1^A-ޱg\i`V'eP8;&-Z Qx3.(&Jbwjܸ x5#m{tRM̳^*&ӦS\ DxlJ^JN=VaO_R_ҥgN dj[8@ CN W"'+a5q,lP{-2]%ˎR\#93{vK -k4@_Op. 4PA"'`v!FU ,/hZM0It<=ͼ&3/ăˣm"7 -#N~ᛪpwyxd_Nӊ=UkbQΛnBm]o.6D7i#:dw a̢|ܻ H7Nx#e0|QK*)P8^Yk8۔ʨ7B9>K[G yyiX_-$!1XC^Z뾰I0P;vgEV쯹UiP~I]X}C~uSbi$ޥl"-O]E8D  *Z9_UJPܨ۱ Ej$?2dH툹mlNk\Gj @K{UyȣErȞ0O^ oOpft޵#ﳉ׋s#?Ⱇ+ebpc%Ju^fvuz_Nb {g(١.- ]L|/vAZu{ĵ" 8~v_w:DwM[uIe_!+Y@A sz踉8hf E= 0 >l묋]|O[Ѭ j3f<қiaG,wy@0|O9ӜݡԢ5V-6s:fz)"=5ϟ"B7T]w0ɽ ~ Br\}A-~GB{C+u򢕢rvVZ 3aJ'xĩrp٬"G-%<1 whe]܀/0U1 N*Dfăͩ"-m8Tɿc<մ(w\sԧu\ι6CkP.Iޤ9{pM,pomV `]Rha*22ǥy?ϝ5';N(X<;t*7 . J.9#K,iYN`#q=% hdK1})j}9/ RQXYW3$XF1Z!3m=>A(p.>"q=vJ%3gtPˡBc[ @8P[xKzBE;k RWc e8&MK9k܍ ȐX&%ltW~vGl1ujj2V5?r$1)bEpȇj^w[ZAk=hqHQ}_Vue)dtjfhyWH널43 J=v}+OFfOiޘ'HOl0XJlNYC m0L'{'F"% s`1Q{y#tt`3ɸr{֗ =-Hdnjgfyg}AcUGنrՎp. ^XCP39jI遬䶹b:{'Z`{Fj|m;"Y5zhQ|UR ^xJZa2D7jm2{t:+5q@RQ",k aN.[VUjo%T ,Z+;듗^vaBTەPqn:B"eSh О/ ,?)BS,mW`KK&frq*[2|J+)2CF*l\HB(y:/WI4`Ȧ&X8 "e@睬1Qܽb!XW\thn@C&6T>2XQvb),oc#L,0W3@URi}`:f/SF!؋X hVݟTS>ƴۺT&,fQ²/dVuta!W6&^yGL |` {MS&jfjmq5BԝӒG/g)JK];?Hauѻ JӅcݬ^N*%B"C )+5Ό؆&}L4E凮SRe"6~C}L;W@C7=ID, MԺ]+h|o Eo|%!<!b=Wݼ~Q?g lr#qy歜<?6`y>Y7qazvC:"PŔHoŅ30Ydz~ItWjxq[ &m*(,͖x@B^ Z#F-ֆ3$wM#PSާc ex I$e\ Epkt!:*&}7}25GF|\?c' "  K&`S)L6FLdy*OҶdF̱t8u@re?y*Y:7r兆+E,\'TFdrS;,Z7 tG>i|/ ~omrwk_YMsǗOW pNƥlR VU:WtB5dx0u'Ee1Vj J-9 +G/3ۢd&2,c$xۓY:XgX5 f&ϲ%r#M\=w^zRËZT)S&_q1y<6d93Hz||fX%XV8XN'59B{/zbؼtSǝb5sT$5K 23RN];76~s54/ w ,XV.(|!YSǖM6TgPoO|1ǰhDy@@X(CY#uDaCUlD$F~ԜQ2TQ[XXJ\U|Lh/HP֟-XGKN${Kq'1~BulCmKx ?kYQ` L2'0osO#5~SkzCځ$- wR7wR%J#&*Sv .j{e g"[3GFAgJN(ZAVt{ WsH+}'R"ݪ~I_/ᳶc VC$;,8As$5e̥ɤ1f`%k,#@uOqh$ bsg-SCH ߅˔qEJ,NIO2bRe0O"P"7%ʹ&ΰ{<<|TyL.Ao2+`͡7=,Xod݉,&G+K!swch1,کk~W${Լ5DAIMIROHuZX_v1F1*V%OC|"X_4Jw,LȻ?Wg}DgDB;T?܏wQؘ2,fL^Oo\<M daHcR+vr뺺Y>5,ϧUvҨA^ ZwCí!fWJxxiw<5pPo/bspBZQ *};٬R '.!|C ER<"sq`վ~qXb,JC"֡(ĩɉ֒?@j1Tj,׸86&V`g 1_HHlׇ]RH '>}M$5Z(/4c0u|e^e:F42EgP0~ ў>S 1Q>ݏJ )Ue.BX+IHÛij:E[rZgȀ@D`#2|ߖ1OO< {oWy@) 1o%Sڀ\'z/#>Z3(_i]m}@9"Y\ifs8IV4+3;%C<|~+d+Vn`٥) w\@Q,v\'@.dmgK9J~54@j5ES顾8~wAP5Kv(P)s\ UCC˖/?io " 8seՂ-YK!q /*3FxsO[ODo5s[4DqoDCn a+YG_CXsI@q**27:W@D/18ݽ&9idN WH2Dk9r؝/#K㺏YJklڡlæ"θbvG{K ﻔT!\mώN+%VwB%z(; f 1 fѹ 3v:%Ʒ9([jT=R!e&5R-Ȱ=XTn{q`~hC΋B6++T< >4^W=A49k1:A__)ZPG:&Dwƍ"4uvB#-Tl=vQgV&Xheipg)O캍ZBӇxg$[ 8TD&F&Q" RGno101Rvu VJT&Xm Y #ṊX;m\u*X ަf4q"Q"&rǬ!әdE9;!\|T)$I3~}?I m(Ɯ̯*U-6A 7tRϧDoY$ $L7=bj_NMNbOn{9לUTEVJ.Q%zGeΈ0 mlL" O_膳9^y!I/?q2RS3De^ϟUjRU^>CgYyX@nt)P2_^!(/^db$@rX8nIݪ; a[Iem`bǕ}KQ">UJt4iX磈`mt8\ƐJYɀ9B]^ E3֣&z̖-?k~ NbIϢ_JQb.W/K%Y== `f1:ҁl[PIP$8ٟ-nl@\#6)yHm(ޙ@ϚˍeT5omVr؁%EToda![}rLA9B'Q sgf.y?7G *V_2KT8z~մT9A2r(a*eKEZ 9#J7X <*P5xv3(3' xŗ۔O[B7kSOSQN U k(\Tam b-"׀~>PJcn4U~\5ab><r-0SlqaZHm C>ŅZܭ l'=(_-XIoRz¥q@Lm_x~C7K/LD\E0d }@uWd"YMudc dBl1oɋ}ONo2mls_f`DOF|YgX%{m72P}-l&߾tk58F4*/%Wǯ@@i%^QĬӽ,)^"6miwi7}j,셮7@cS UiQ)?n,!CJR6++I);?38S|ӌgUh@f('.v{)r]-*sk(.ə00seP`B6dj.Ux  `ٯ1qW v԰LTXt F{Lg{m)5$sj _Ľ9; a-Ϭ-CcOcYe6/_ݦ!ROSlp7i$G$lzt5ClfdaP)Jͻ mK"veK(1C0o"Fxv߅M&Lje> e1 O@Z^7صGQ}CX6$`mngZg1#ӼD`ٻR Bڬv=k|pZ4o[Ϋ,DR~J~A[G+;`l'$Hv/Wʄ\r,EWvm;-~^O4D@}Pi:q?"+p1UyE(]2'>x7`v̘ѧHMTL4. Qz64ǸiW:g'%n<+gK#%WL 7&8.DPՍP3y5~ iqhЎb5H`4Zr 9UHGmd3Gc[jfpOS WPh7ֳBq,AGKc.jGʩwu}۸>B9~͑mB_i~XcHL~m/5JQv UEŏ>%uZ;[W?-#xhPlrML ?osmGX5NkRͩi ;.uDAÃNKΘ{Dvz@sӗD\7^;lfM7]YXZ 4dLXƙ׍q~UJ& n$%z%Ȓvr e=nJecO)K7,EX:D_y**˖vkge[ǖgZ I75c-fsŽ VoL\L)TJ?O?a !mma;6MW ;P LAG }nϩэ#?ZHd.sNDrdKmc)-Jdb/z=DyE;βBTD4U(J tj v_i#wkor ϰ"XMr_'4&jvtY?h:tt:/XZQp~Ɲ3zZѧr~NMZ >g*a>Ohʰ9  I/1?4'&&p)pe xGt ECX϶W{U!6u6h _eAy\4 L(J>]S@꼌  —-F;=?>*ϟ>#Vu In?u&;a y%mt,O t1j'ڝ;yc>{x+g})'>sdY85fz:0qNFSu )o=iho?1M9h|*[0Ggι'N\_ڒ'<\b]cMRb["91<1%ی@7?D0DK9>d3"lUCi23Crpg],1Z܅*j*:Opʼn?HP{l1&*M/kJw\nA) }jmŏF!5*&@n:(2o/nw[O0_\c\LYw`Ehߔ<|xKx5 KJPz&0q;AV 1zl*I]PӗѶuP#o$pПƚ+{>1< 焾}m4v_^ ܞK4bFY3: t(7>MVO{YE`4eyM LN e)D&#u}6QºP0w{L+ H244O.ā`K 3vO}bp LjfdXZjo?6 ME?B\$|4ePL*$X^9_p)- \APEԽA~@Z'ΰ \rhX0=kp}T:WV ^zxBA,^c|gvg3Ao&36oF͠ZD1BT"YK0hiܫ0OA4 ~DMubMUԀD!gAz)8^rLr*YgG:s cRSX,vX=~1F?<燴1kcb21 OEk/n@BYq8BuǺ_2k=88^[x}P-9J 콚8`r%߻ \gB"'|kچAq /}f'Tjtje7j;982{h_XJj{oT?F1wShwV?^) 8ym=ў:$Qa^W,fibY@ϱa]xޕeơƼ0B'6ֶ@-/)֎KðmF^>AUft_KNp-ynݭ%:.1U B! g3Zy3R'8 7 MIa釭H蛮_k߰TܩVu';*߻ΥP 4+mEz PWdYNm`vb|U2b}VV(&z&$bK"? #3oWүEC=}YZ`rH)wvc8i=Di )STѸx6s܊P/Ky *j=a WeSѤRtIĉIV5lv/GSX-8BsW&;$CqsKُ̡^a˸ĝC>.@n7DIBZ dGzÌlJCeF ͏N>D`ŦO,#'th"-sLqHLfeY%O;3h i))Ԧ侏|׽~EvrxJzڋ;4SQ$ve1UDP1KuS~!F8'[3`i0G]`87׻)|Pu_0fq*Y!w;X.\|ǘɑ(T[}۶Mv6?g&OˈH#~iu^lUC${!ׄ=(1ӌ]T[\CdTؤ~)635Ӂvk=p=gDr"Ǽ4 Fރe7&JٗIܵD%1zmQ\!:ep~nxQ1{eyq N8&{QaҎ7͖;u ·>9E'h,ï Z 1Yx~);#+]i-ejdtƱx$ ֿ*+O/'Yal3&ғDY¾xr߮W1! PJLF2-9.qvt& V]"T$ZE4?Av9*khM"F~u3xbqnk]4lhI*Uu0< )YnTd Ky=BV:[]iG<3(2] Ϫ"q>{2CP'0;Id+<#_ujJwwd~ie-2^2vdқ<cUGy\,5 -!@"u0ppʂ#im*괚GRwwQܔ"eO; M]p9*v+fF@"(kv7ZGSw4OA%5 mTN DvF](s}[J>!xEa Rlm|i$B#d+<h_'2.9QrF?<@}We\C--&`R#Id+r 692 l}Zb0[a+dG7FI ~R{CBKԆ2Oc~Zg\z=1]@GcfRR5Oԓzש[ߛ:1"f9>jn-{@D#UjT'$%сP RJk^kB<+1q=jBH+<1H!+U_I{]Ļ$;q sHÉNCŅ8m'.+Bqx#72PK=Krn[f F,׎JѵhҫJDdudP??&ʇ.ΣLNAX(!'};u`Pf '@{` I$MOaFE%@I|^6q9jT.jK Oԙn܉"#ᘣ{64p[UZ{#OS|:4^:%[{PضvUfl 1ũ:*O:$l>63Z46?1`P&쫉ϴ,a/v8^+^bI̺m ) $`LX hOIdr)\LSoL0͉OH[FQ$V4wmfD:E # ?Zv/Xq[8iqJ}n v O'lRƿ/vbi~xݩnXo9~NԢy|am3Ÿ"p_u&a)etu}6c%C$ gҌ׵{n DN.Q%NwnBj$$Z. fM2==ݬ uMWcvP(:y8S& u1 Vy.W!3Ŀ g8YF^\]iqm. 8 :7-'ECg Ocl%_T"?]nèΧUkAs>OU΅(5N\ʩ֏ufUHG8?bKRD6KKjyg.~]㞇gPک1j)KRF.* (uWe #; 2xGt 6E< .9^K|1!^\-L+_I1i[OH IQiОY)GZ15n6bt>c$ \3uǹw5`Po\Us,IF{> ?ʋ[$W|=Puqu,&u7tߐD?!'״ J.3`݄. 33;^zB1Ï5ep{9F%a&bdRH&-*g(cS̷Fdr;#܀%ϬW#M6v)[^1y>nĪwt3۳g\bJV~y.:e܂> ҲQ+w3lGBoS:[8d@.M.3 @{ֆ  A"\@JAe{H!oڋ%iʙXG=#lIn$ܔJuxfFr7Fsp>$Zߑz aQ޺ / lcrvj[[s-(`l3wd$Lc"l1ED%aTcY5w nF`_acx @ ځ<ɺXx{Ua)7&0b#q)y+%9:% qTA h0 Q-HH<*FJhuHEHti+[ەD 90ץ.'H[ۙD)Fb/ eޅC3ȍZYIX 8Te.OBGsp@]K(rܙGĊm&kk="򑙭 J'U/bvv֒, /qԝҧ75[;aېoj#Qv2+y D靟O/ . `FYyAQUk|>_nzp5BY!ᨲ?ULg?'[iɡ*}_RE5xA(ִwGC8wTM]X8gg':FNěls2aUR_gן9mD _q5suBϔ