mdadm-4.2-150500.6.6.2<>,ĉfa~p9|+a/2%1瓠ֳTD#:ݣk-b)OC,D#Y%{/gy`)Z'Xj6F{ĤҖmSB3zӤ,\e brcKX#(-q*Yg$J[CC9%ŰS1.}r;Σ:yjzc=>V!qQ9L? S4>чJvߏNշ'=#. ;³rGz{WS<8ӱ@>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/H]"k%]E)/]09;2ԧ6ac0l>aJԛ9ZGO? eI\> I>w27}I_2nywb {*Et(8MzH&Ww";0C[ \g`vgq͏lNՀ˦CAܺ"(59|>\6=ܓLu또]b@qpΉ¿B[2] I e1§olJHTE=~Nfg0cKICMo$dŰS$[ `P穁@ AZ&4EZTk .d8Da2%' -4YgP[rSPWWDV~ôB HT]5Ln=jKͧ$9 Px_LV'A.VD_LM&(x6bnP,8UCNUVB؝$Lt}}w, ruDBHx6q,7MPTHssLgsUa^GCCosj42pI\&*Z̟4 ~uvVˆvwoAHʣ('6gJ hߴDHˍ{!2$?4oYRY,LʢwM"\;%Z#g!'AXNupEV,&j>`ӈԯQ>u5L|H˲.ړ7}+4q$DӠ)?Y#TLp#.v")A_؁+(K=4ZiW7ρEqo 6ʥAcR[>Fdm4MS~T-vր!K~eکiѓQ2tFz8g5H;4KSsHjP <.K@N20@ Jw1W9 ?7 -[kJpBjwD6m  $Iӕp2' EAC<Ϩ*`}ݞvR8j56I@]xH#p%驺pל;ɉ{lVk0@YDl@j[Ku=(MJ678TD/ǐb@m7Q9ŐAh%|`F jpO_͖O9^c 'Zjjnʞf-0_|y $n[<He!'+@FV/&@Imqx }w|~@{ҒS&'0k\'ϗ:J7##:\?x|\j0|Xi(p(}5 ?83}~HĔv}(&N`̣ @jt {ZɥM8_˫8TMRl: nirNq՗}lk!#;<nv$,F7OgC$HQJ?cc KB{B!)o4lyfဧMIU 'tN{>s7`@.C}ik'~B98Jya%³Պ;9ihX$QJ!*~ AryWh6~ώ4ʉ@ YP^ ];>gq׶Rd2FjO zhW@i.F . s2Atwα)כ.vylrEl:4T@=u/߱t'0GϢZ'8^hz43|Z }Bҡqd̡w,J<Ƒ;u)ƎT~Na?|K9Y$cb|/I3$Uʡ~ հ]UL2E VṂ&᜕՚ k˱N@n)f߫r"`UБG+KE`$`hZ@TM,]} ؀<hWQJFHR.L6͹eŒǤl̈́n@GpE߿O.û8/M.5)'ԀImۑ2eѰYƦ>~c,ꎦ~-"PǕCLc 7`?9.C!UtטpGJչ{;YM)5uA9cCNuj[r2-06Y$T>$JUZ,}{\dC|{~y OK)fѡxxVJ1_"o:riէ^mZ]r3f S4┞#sqν-@VQi\8Py#kSWx/wп#I|?Zllcox]+L)_uBhUO&OkkD o.i^'dFBRt)oao@/h{$>|M.$ALш'ԤKtyPu*f?R$BbL9nD&6 Jd%5aisTdBy֡T̵ڣLJF!W#''?jUtxJNX%sEn44,cZVO1<w㉣K(&PYMCvYY8זؔۧV]!' QQT̖ab`SVs _&< \AJS9t nhH!ƪx[ޯJlw>ۼD+7\43|/Uv 4$'=W|b#L1LiKwmU>jú6^-W޳cap9f-B2m|Uu )r ZP[VWӤԈLrʖǩTU+eF]s0Y+b:5DUjruj5\pZUԉu88I,rgd!8.zKjHk Lrb!@ >W'wcabJs7D//u3K? |ޔm=93#4JAA9|f"H+~1y}1z#!'#K^DNPʮ R!&XB7,%A;w1a4JPcE`eBFh[QB]8`SЋY1U?Ȝp>6H1ywT +1ɗ9ĚSj RF,~zɸfD?P}_nKjO?ĻsFEf(ء=XG`Q2본T^|!M:N\aE2KaDDlt`p1!@0ψˁNLxP؂U7uCVfU /%Ws@s4Us@΄K{hz||au+UTWԉw'Hu~AX I>6ѷ,FXĝ33*sɱ}MyW8uP'+3T胅Z^iѐ?VN-*1SL<\3 3 H:Q3p=ݦsm5gJ12}^+ϴz/@ps)>mKG+䡢<]/g'1eiKM>'y?[ީ>Z1S.(\̀S9 keYĭRV]CrIz]K9Ǩ.%ͣ?$:v1sT BM1CC롺S &(P.lH VYՐ׎=(E7M4aBɘ6{|ʳH0(Y955=1AP)4b2I{$5esg z6Y("79vJŢ .Sdcg~m&g {(,= +r#3]S uA?‘ymd|lu'sfG:kl`ݤ>TॽPDaÊ*B;t nTJb)3,Sz,XQ?gacasL0'QcK؉>Ǹl.[Nd,^X^5D{88U8(($h_66 鲭sQ]" hG3Y j&jHel;2QLYVEorGd{J:Zݗ Ole 3dpnnpa(''d6Bc~i˿Of;J2ljPծpG7Ӡ4x%-XL-ᅅ=&0z@~Z Iǡ l8^>N,=v-z|)j_ —v ll>`UYcەhy6)[8h)n)P^J,:~h~luK 6V2>fԷU3_bÓ x˅sIc.lZ3BUM[$|ׇ]ٌơ'bz+<޺.O>oeKzBAbT=mYeS0.emݍ ыe;CdQ=,h- b) J0n il4tǠ1h*Zs9FkM/&G`b{8&± %l{t/BN%nΧ*3IHuv)D3"nڴT4]:/HCrPU/~xH#&QbKr!+9qtZ֝4j=MS50J}jz]{.9q\Lr7nb {7 f_lCgF-("I[Q-a0WCтl#Co_CM*zZY恕VL2wK@ 1q]js(KD#"Ca$Q vC@ /d`M]VHNev>).JDz2bik ֠1Pn2"}Kr9 )sQa=O JOdC)mnuKVڑk\VDbq rchMu},9JoՂC' :w*vPBlk3/o&]f=1!&ƈ=M,·PJHa,>T$ H'#U t-$޽r:6{ênJͷe# /qդְPeE_{e 6|P.l:ybrg_|>w{nq[w %df1JEɆ]FJ-(WQp*Owxr=&Y?'uH$` ^2$8~ 83ۂm95Y#s퀚 "Y/jkP旷 lrTG3)"+v3u ?+^ԟkl_ |9uj]v *z!i'K"Ĵ9<\&7;mqw/ y2&~\S%%mv1;֢bnE'\29"1}DQ ~%a4w2=3-iĆfѶ2OQ,A$\x5Z(kr]E 1>Zf'JQ3qnG\%wry2R,ܚP`m9'퉦~"\O\P9 ҶV@Vz0 R*D.l'>Axl?9O9WdΠddfBHn#H!e9XڑmM1yL_ZdkeеW4Թk,_-hu62V6Kr_~nj<,b؊t O8ݝ_7jzqaALX|q>շ>7,_%w+yF/yeZSo AuJrIK&a>L rlQ70m"Q-c:Ɓt0z̶WpzXʣ@@5s`\8,FоHc41*[Kah2T56@@zMڭ~F /`n-$&ݑ_@G.t>._]| B/|V8 o 6]im!vJcOۺl^fsI,#9wNO]7w<4M HE*OZl5/kr_1.a̭J@~]lUBu'ìb﫵}Q7ABRxޚ5._5`酭1QךHߢ+IࣟY0lEV丹q'qOIn!q>(=N*}1vƕ m;"N?s<[7.Voq# 0Ҁ蚞ջg\ ZX]OܤS<36+иeЄSXcf= ʣg{ ~3nN-IFIѷߵWL[he'dfhH(ஔ fRHdtN-g5c),۟sL h~[ l Xf28^$&+9ֽx9B8Fs!>md lD4GY9|j_4Se'A:D4c(3ZѴo= ۑxj C5 V8S[O94]<<M!=O9le'_LqXc:퀶^Ӡ!ϧkK7.DӐ,}+>M5H3٬!s+SZ o:$\ETV^^"Nu p|- %pHnt<?W7Rhh,{:=;p Zn lIp|kifXQaôux2!^ә>mGg%T'I OO*oɩRapCsUF߇3-|;BNȯgl2QVsvH;j9CLkwc66_Uve;m*L3an̊Am9lB=V3|ycF$w̅P0gW%k}B*z։( 9 40 ²=]t?x4YwCa))b-?xF|BbH$U| +>R/LnR"ᶪAmߧei#޷ɀ.Ԩm,l czK >:I00Ņ;X[YAw0W8˂1aqeRzMA`~cV-sVU19MbЬ[%pX!5L݊gu~{GW -j. OCҿtoIoԍՇm]}Fc/2l_E#)00BTN sZke }>;C8j`}LjkI~vR6zF[[?.3jM%h&:4> ] O6B"M81[DIl 7~$O} f[ͱ]sl5<z{>2#HCjU D I/B;i?u2]g"=~9\|ϳo _0bpCj ׉1G^l'88Ԭ-u7xP_fgN _Fޕ6C78QYSFUY;J"9[bdvqN^%Iu.39u:T8I%~<.x9Ӝt7  )XLjT 9?qq丬V!%aŠHB' ȾMbUVKSB2[e,Kw&ݩG.ZQt$XoT؀c|Lӛ_i8<}?&irԼ`λ2*mz`ԂH%o2_WlZrSw( )ɉ#ʅO[~ #@4ʮ蒱*oVf(Oi4R !>tn귇v-$8'%Y9!ṓ"'w:_~zq{GDC2RTĶ2B$s螱^<ݗ^ykаC}MW#Cr7 \}Z%&d YyB/(W$չ{x}<䑷sa@eM#gDԅo;S -\> bj=``?-6KW5Nv˫%1`'w:zy_\ klgophvGqT~!=5:PMLc`&NuVԒ .E_{W yĺdN!|q33LZw~H-z 5;9.:guxۿ<%: o,K|^v=|Q0̀^gDH3M:2֑mTMO`7XxLZ~i Q^79|JS gѵk=FܽSuBfA~#@`Qa#uU {xVuo a}Yoꭒ xjQ(^V:b+.U,_KZ|c o^-O8 g@~W 9o8(7M;q^ 3N;ɡ|!:jB\}=sv=rySn]wMݐ]-=/qw4߷ա¤4NRthR72y!$:]shQb7"ax)f|[PĒmdqdM([˸6JUӂe0 0vr=ɭ07*Q6.ڝζDa-o\CZ&Zw@9-" D# f%#P}eRBrBKTG]:Yr6,gKܣq9S&^G]<*'1J) iiyⅫ(hc16yO!-(98džf)Ar1!)6̄=af E3"K/[1K?{#]_GY1oE'^7sc,$MN%B:a5QC0xE+Be'޼6Z`_ %O֔0 ./$ ,XPkKWWG+6U/7Qgk}Dn|~,7 ,eBzy׃?`l6GQTRF1lU5vx =&>6ba5CBz@a0Y!)vE/+vt','7F? WVpB(g*lO(MR>Yt;cY4ILV:6+teivkj0,Vn1B"T:mRGg-|lVsCkdБtf>l6+jҠ-Я1p|{`nѴ>1LI@`^]c81‰I픸B}(~F6Kbi0,e Yp-ŧ15Z1삤=pa!)*_[$R:[֐ v>f7z=].DQ@iE#b@d'I/R(s}yq H5~G0٘ۿO3^@wM#6hvղ}`q U9M]8Y}iԣ__lt\Fqs,C}{ ['藋wo@H"}~I ;NOcouI$z|ٕ ښ҅'LPBY{[gת300SqJT|B8RkNWҸMxy#%v[.]{Les%}c|~lemӀnӑ~h6r'{; ˘0-a2AN[%=@@s)F*AB&faE"P8|Ν|D7@o?+"2vK[^pKa6lg2iiбue*ST롌7h_Xvjٚ:f{7M!jƱ&Qd -3iX)\DDѽ ;?!?)ۡ(.S4t(jBl U%zU64УǍ cCHR`R.-?H tyGLOKbd'),a\Os 6$Sxʕs&֓d"-PZ VaBе,09}1LlOC470u;P@FlЅEe_DC62/kP T<^g, uBnVg˽1#g+^e7^m(C2>3hR8> M~ i"Dj++8B=!H ް<"n%S| &Xjzg(D0-!_)2x P@_maVԍ ѡHx@u 6:6d0Nl vQ=1D[z ͨbfh&tПJi{6W!CͰytxN\AY*}ES #dIiX'™(A>7*%ߛGUW] RmliҾ1Tvyv9ɋ9D" T䚚q9;L"iOrzB9G7:GqWXטuk1c#D@Tެj<ݞ $0/;A1E 4Qqleg3zH+WdٴuK{Ola&yHHBRY:GS_]HBÑ9h?l&I9.BnPaB̎?3={Op.<$%Z4Rbꢸv7ElVC/Nf3&B4â/./1kKY=k_ qZH1cl3?B_Y?~Ϝm7ȤLgV}9oZPICE:zf ߖEI :H;Ji{u*i۰nn7*kUlbO"ucԋ2eںz c?{QcJ z'#GH^sbILZ+uxG0n-8imc"s50iW*}y3ۧr1n?m<MT$kj뾖jc? v9Qen*O3._^މxMOF&NDd2'6p8aL|r.pɧR2캝u4w_gYд*I)'uG! ̙t`wv c ~)[6bI^}7t$n'uɽm{UnŢTGB=݂0%<@v`08lL(.4.VoKAgb9(ZTʏ7)c_XJ!TG qsSK1+jߔex"ӪQ;|*:.S y[yt8 wQ8vaщ*u0L&orfX-ME:.ftˆ 7 lLxMJMC>\>|7xॣ=<12D٢JfG /s0@ݠy&5=x+z_I=G,l*~@Kb+X#_yQL2:Bnws8 qU}+Jex~*2+ b5dZMMfa#e+J.|-E*_#ZYt/ˬMÆ, ݮq-ĿvEx]c?"cO[zyhxS pzwpu"LP 5ђc`.쒐+ڼR g >CCWY p+]YH#KTP84Za~HB>Ȼz /^,6Tq:EOK: 7E eFO˅`\p*YR~=+3|5Z =&~Dܻit&TF ^ m'ԥ}&;u{ tT3©0yd! S޷Y/XO=x_fntx b_w;+[/[{՝xz&t (QԽ dPx/! >M Ra HDPq/$Y㍁:hW>- \sF0~ @7$EІ98%qk fnP5x1I ?T(gu@*F"k)E<@iǺb#/WJvl:A?|/Ѣ: ?7`s9ͭRkj @!u_?Wx>bjn@Gr oBK*rEz,i؄.fcHkq՛~K< d.jQvQuׅ1Iq{K:ۄNbc8ꦇCȤ1v~hWn_iˀ>ɫ{aqBf9ȁںm! A'398E. fefsSc 1e0g 6Dz@X{|)$m=&/g lNVN3I~IK$0^M{0*3LrWkF0G. E7ʎ㻤()%8$dv/7_շ.?7O/3FpE***MD;񨥽Qw׆x~w~N,%ZZoW[W/|ldE.ХPI}-%7j5rV=:ΤWn6FZ9P?[mR=0D'gO@;\xOZ' HhĢo Z_&2ZQoy^[0'iA99(E9"b4\)v)+3I%:-B1}?USm3Vi|<CGjBǔӹ=L6Fȥ&aӃ2Qϙy(Ҟ41(fD@K]#d.|B }n.Qx g)@*$Q Rө_׆ ERW3~)Π$5^ub~{Gh bvrHsCSXp*j+h1In \b)|C)tw{CJRhdN¹7ӬE"vC ;zFf]X| 6|#X%[l|jxP/ˇ NaxKoh3F5 }ׁa\ 0cR\eT91<^Yw1DYU^ =ab qdąObT״y;|j=2+#=1>zfOjBCt3R 8Q"d刁!4?e=SW([/8SlBWa;uNK^q Sa.1ۧLU±ʹG|BL@RE^~xQv.-wD|2Mv*zh֌;څn2h68) })u2&z}+>!SlzIq0<E:$ir~;P]܄v=rح_N5^hJNwQ>y8Fv~yia:ޘF*@5HY׷h i]? @ɺ^a$&No\k,>ɇ^#h xIk?(1D-9]΄j{짰a$QYp$tGu/!XȃI' ?Gc)W[ݤ3`x6mNפb d~Laje^qYDѰs6)a5> Wy9Wuጘ/;n-so[݌Yvs̷9k2!@\Cƀk49wjy&YRiC3&C $AY*L(sx-EdJ,6[PApCҌ/f!H} nȑ(AKYoiVNB.MKCVi?gx͵X9"< %(ƆH QqþW?{*;u)~G)tA-c93X`BY QJ׎NTH&$<.&L*Lo)8W7b# c/<~nZ%~{Wi%=&2ub K46p>27 $s˼Ҋڇ x$F>#޽hQ+ v@{t2^gtN(kR~\}V5'DeC"?z=SBFp OhA*|iC-VEFxRv 9*D~yNC8.**#6v^dwⱾߺOPs)?P6(]sOٷ"&k瘸}b=<b "_~YdݥYˌ%YkX+Pj+?7.Z&X [L"h9j+n1*}z]ñ:`wbGYV^w;oShbx" &nomJ׹i0}[YLuX{>'cLmIU܀˜yŭU$:|&T,[r-IR~̆ݞkVMYd'h8 X 9DMJY޸F\ՇOwaeBPur',i9uYH3_t ۰!Z{JC,n"ԇogf4=IB}Kh],n?|18}ޫΫt!0bRˣg)(꼃<ČXtk_Y_q=\!FZH2aCDc6ˉ|`iWMp~#K>|نkȽaT%jtg"hTkec~p*\M5sF_guz& m[2 R>YTZ0rbR?J},K6|tBv %2=!=4_haDJu℧MׅA͔JfoQy@'۩6G0؈kks֦Wc7gO:[<#Wf@S ڡo>64R5]XVp9f!$C)kh*p9אM2;?M1&V5@Gů)$ "j;ۂoeG9D~3g]yA%6o̝,R}F4f ]:_oBB܉N f{}~6XcraSg7] 7-g.UM/!?aٰDƒT?&/ΓVY#q^xLs)Q^!U)m* N"C4^\@H" щi?jh}+Cgtee3feGlK̯k[{۞q+6rUl;0E ?OY4*`zI(0yn-V`B"L^fCu # }hیɫWiDCCȕ1+ ϙY -5bd i]w؈폵S'.ť_Hh}ꈚz]{* 6Y,vO`+ yX;wԙAk*;ҳ=`%) t?iRqX ͡@ɧR'"14m8ƒ2p;Xb;X:tdC+V~Ɖw~3`6I{Str^  : ۜB#&T;sytGG VJFߏV2abU&rNK7\\*,#F_LFoK6?!?? ]o_9>0O@@FΜzW>9"/Դ;sle;R{'}iMDElI+8bH2˛: *^b8dddWŭ&ԅ) K,G΅iQ:B<ڭ t7‘=>Y9~<ξE h%h:3Bt_rHE`80St_oނfTGDbvx&HOXf'Sx_S>Ӈ$;h2۩2A4 ?ra?W?|[-p1V(+#g $aBNuhIdI:T?J '~qwE,m9YuP#[{;y]mYDڐvUfP~XҾV u,P8J':tܞg̭sB?w^`i;-NG Ф?NvܧÉ &܅[q` `}&{ag]$]'[ÈUVw$Z\*K_KKS2M)yzM@*T"PU6!=B2 ,Z_^q!,̼AbKFR>X}akUȵ:w/Κv֒n)ETYOSW&Y|rixj0DKa,b>FrS,VB{]'kh'cF$1u2㘮5c/e$Fjt8B>^Qp Ky]vZ8f$K)қ?:Fcuފ5]KU$.'aRXtݞ:=݂q5[C]9EHsncN_*I寮gɡZύ/gleW6WU|KW|"S)I1CQXg'm;'iw&f+N?W@iy zh9h:HlY#ů},Nm#L)6'MvwL> Tn})ʪ$"Lv3H~Ӣr6-IӍC=*b7T .l1mzmfq}32L)h_A WF^{cEȗu-Ya%D.~k% _3>UNB>5`-`ܩ7>&1dWEMiW4 U%x7zIs WmFrj=gLbeȇjH;Y bj8>/>߃=>r=݀+EjRԙlS =fEd&0q i|dp/`DX8v|\gg]Zɼ_~?H°auGsW4J3UnoJ zFϘ@}*%\0ݸ%AR smΛƛMW"sp$|EL }Ϧ>Wwniո}CBc|ƺELHN(5dd?OjXΒ 0TbyځAS"&G^3S Tt1#9ʡgLE {=O䒈evĒz}qK㙱M ]ϲYZn_^V-^ܰ 7cj5,MtVׯn==67ϝAs]亴nGjN #s]7A[ި`j{ Fގ3<ѷMx@(j;'7(W?%rW~OsEUrgvDvG܅$RjCqcInBn1%$s!?E!t)%Y!#y-964)/o5k+,-N6Kښv3:=kƜmZiH: LHKʒd&HE2}!oNg$W#*zT>'8*l^m8@N{/.¯T乁:DG0п&`Wt c<k_L%pϯ/FVBȩcX PkS y[Dp[rhTX|BKhX/ПOEw7A>ǃb&87;ݼP:/vC`C7ʊwP18~?ȰO H@.9Lj=g Lt[y3~t h{LjHm"Aa+Rfߘ4Ijȹtgog-ܒjo %>7QP4 88b![Zb vJU*uyZJ-ՕPrۺVASoΨw V7{-ks#j9lbh>$t¤B*&;yY9a_ld;/elp{3h&Y:!Kvu/nʢph=² <9`]0ھv 'hK(`r"oo^N*2LsW@ب.﫞k@;4)$̹4tvT}ᘶ= ݛ @oۀK$2(·K2Iwm s?˰6i6'IHN(X>A>)#O :29䮀4܍{Hccg}:S6w "-)@I"O߭tl:UK2؇j廑l+a-@{Q7߆]K,E>Y vFGĚ!dvKZ&K\S2r* ,((qw^zC49w*Ֆ-[>΍r"]ow7 lԬ%)9O\?ӽ0HQj>db@&XwҸ=$AJ1=(q,8x/%6Q3s 9z>cw<2מ4dCo~' ^HD Ul'l DQt.Xl<#6JIj(βNo1(;49g|[} !C갞#eM oI{"o Nm1C B0 |,Xg~ } 0ݕI$n6*8*b3Ta$+4j^;7Y܀LkI7jw/:8SwwƬjZD^ [T肊dȊ*&#Zcm O*KҁKQ@>@ųks֖W8sNam1/`TA88= Κ 3VTs%˴د|O@R>jpk*N* Ę!yQoe=o=V-ل+?zjBV)~M@~ >{{# й dZHDI$"ӌG6U}Y4E{xej3;=NP,r g0y 2QJcjtQV_a-x;Xj)_a3aD%Y)?g$pݣ p=A&J},%$ӋĴ &鰇J )o_ܳ٦k=yto_[2 ab&@혝K~~Ha)bNz0_M f؁unX7`/c 4I}:@.5CQ܇w$%) C*03 5͑&[ 1 GD rmxF"PumD`kƚȖbv'ח™y3O?),3F Jɺ?6}wG>J|-PtRs\\tI:vNlQE,H45C8095Bt9 ;}~. aO!ЀXaw GG8j$=V9c;aP^ߕ́x$bԆɁ{rBI .i;l[_~&hsUکowBwӧPb|~4d f.>6&J˜~}c(v,Cp8:T#qF2wb|Ua _cPlxHH:$zuDk~'O. ;*8XJy$ OɂꔗF< (6ߖՄ 񟈷4&l/-oTbJb.YKkf"D&;,(8;SEGHC>̱Z[25~M{)48B׎OK?oI2f/ rCjFtc> ?'eT%T1ѿ$+ 8&//Æ{$h1MZBBxpo2 wOu_˨cB䩉?ywp/s;|/_K'4^~}ѕZHY~Fœob ډvۛ_]F]+-cB^WKlNɼԣ + 9'hu#A[ZPzKFݽ,XHQW "GcbklL$Ai/?S.e3T&kősƸ[*2lCݏ:ӻ{M梢D@?w$stga)RozN/BᏡvj{r~rsB1t*EtSuDYu͍ xWd]48)mmҎڧB#GtݨkIĦn tĕqDj-ȵ~QJa}ZYN4> IQԑN_X3tԷ ZSI(@=IT)t0Wu ڤMLop&_M;"Auh?1uy#uի6f<>4 Ju ;ك A! D>Yl;=r6shAH Z|arfdI!?sX8E shdoL g 53 D;M#? z4nIgw1c蓵j] } hý}M.0%%ȆĪ>7n~. T"KYf>6LCX?{'n{ju/8:QdBY̱;H6 *$>_pN,w IԼ#Sb}vd7N¢) \us"[PEwG@[TyE2Ju53#Rҋo(nh;6|dbV3Z%~uocP%+-Zϥnn}Uzۗ-qPk/:%GTZ(c7!9`AF?p?@HWG>naAA]il(H.6pgHBiR[,%.fG7l)4qF &Ʌ@nw`yɧ$,t; ؖ|V*{7dR1Ԉ OA wI4R@qP3oEθeGoFkRMF} '<-BJ25d4~_Me¦>+:Qe=1?upS8(u>:e͸%6U& 8N (= 'A+G{HqZ'[7"&(c4[N'z,s>@(o=C;f<@Şu^,2@YmqF ^I{*(R ԽCL)ZD< x]II?j}L٘UEj Nt&&5˓IKBgv -Ao%Nu *'%vh"55}z%Z=PѭS`| \RPx\]١c FZt/$64P^oH怑-@aEG; # l+AHRq^`_'rf#N_V?VXE6ͺ2^b NT]AgN#̜놛$`#ƾz) l)|`y~Xqh?,CGs=K5r cA|/TCB Є t+h˯:'eJTuQ=2;mLYt$Kq@AX\![x&{fh2D9ĞU Μь&m$KaX⻒ $ٳ9d76(g"EwǭW`nDI uZ.wme%VJE4߹$g _jn8G`ٮ떜`>+!Oo Dw9eXqAQ?"^x<CE%ϖp`Y:GǒS;%Gz*h-юm_$MKb:5pV'M=ha{>a)VGT B]Tu_{<6PL<ʝr!.'p~+@Mq=B\g$!^dɮ mݭF9n*JsR w(='>!!^yM4,Z\.p{v8sU X&]:#[w*AFI"c'BSss'TT_P$!R)k@IlKlrt=I7Bmޜ*tp'+sҦs8B-TT`mh9\~_%OfhZ>fuV$b߸J]|$ݺMU(S(pd{LCs8'щRyE|SڭIcd?4ueyY׉}t2hՂFRڕ\ 1:IMp+ wgoyx8g^A:_(:RjŤ6?nS4 ki/qhQMJ?\CQ4kDOjb%,txQXmæ ?/]W)SOA_,ȗ1}[`bD&J^2M\rq3z-Ni.ZA:\-?'iַoQPCz-Z/+޺ k(}>P.tdJS&eNkMF9} Y0A0c.Uo;?<,U>҉gf+:}A v|]O %D0$sse?"kOZX%76 :, $Ʌ -a\Z*fd};3 KZ;1ժǰXvls˂BS@8q@,GmK@3-'&Lܩ/-`)G\hm$">pEnÄ UMY 'M@%V[+pRq7_S+]&4$Epjck]XrZǻ//Rc4Å(Y0|k$-Ti~DQķ6]y,[ 8Cںz)<RB4yOvU SmAzo>IY!,SD,dŻr.+*ԕ:Ν:.[ "`[ X|nʳqXWIdC8j/{֩T(:RYQ&KEu?s$9C׹+ܜ'/n >B[2-L[\E&>,OjCǘ EriCOuOq ă f:|(CD%Pboi)/Eo?Iq Rjrsh) ˬ7iPL}K* Gx=H_5b2Z~ ԱsQ[* Sl@V灮6WuorݙxߟȮ,)Y`ܶ"U{'qT ["cEI^u$ P '{{DltGJK{x;&/)G04Yf[`fFj<Գ%dHviфíTLCbdŕ݄E{3ܻKϩI&Bi ED?uz6vJbje5x?J N02mRՆ F׶ؒM?ܮ9&ɶ/z@{DF$ gߘ'AOzŽ<3hHpذ7Ic:B7 1Ds#r9*uvR +QYJ\0f\Ԇeq5+!h;E, Fu+y~#HQGDCM7t°ڟa.5+uVWm"SBVP `[ކv bºef-Qz$s<["IU;Z.MݮXӡ86AN_/ -4%)LF0v |[G3 zI=GVe\75&;F[Z)P`"w2(篪]aXBĕvG{ozDR #PKXH"SeEDKz,zx{ֱmNؐƩڗӆ Eצ>{(۩ˁòЉWP+mt%b -[-feESEC>1Jn`zp/L攷+[AوPnI\oDoZq;VmtC khYC65 b {t߱S$IN5"OדߜKߜԂ61P|ߟcR,Q$v #č)2Z ހ+r]Ksid%Gzȼ!h"Lqئ06V((ahOӅ[_:7*6Ru&@uv $p2ru\i?$4j{\a0ۜ; DP.W 7hq EWc7PQ'VKFftY:@׻w5;Hrq&0%Eeut/,<GS  OrDrY_O5 >;z:j^cLAzp #x3 bqiF ۠Wo& V.&j\Ys S7@]ܸ 1Dn.Ipr㷷VzPG7V:=}66"(oꘔTy[ 7޵w8BB9ܑ`N̲T^y::_m$+1D/@kGpכf Tѳ%Kh!Oy%,r)!ܠi?YJ4ἢ&:`"VG\pv/rsE.vfm,S ޗ(P5IDL-9n)[p83&9/'Qe.i:Zs-͠^x7OK\[ɽ{mb  LZ+/a\&DoĞz]Pm8" şϧShS.Eсp&~7wn`irXSb1SX3CVNOOȇy l[Uz2WExTQtc k<8G?`n jFi07Yr?ǐLR)ƝP.p@_3Z|iIkmZB, \74 [0Ru4jUݴ[)SؖWD?_ٍJP=1^ Q;MvbC+ N@?e:ͽޘ㲆A yeaWj;zD;8(vrt$a'`&_-J O$rWݚb.˶ӓbQ(ኜ}}!]R;O FZS2Ť}0Tq,/kj&a6_#ֲ#GbQg+XCUJNY E$ \- m5"$M͸5D8Yv7z*1/}IdRfӦdX{X=*3"乴\Oѱ;lWNk,`wfyEc[Xy=-17T=o7cvA,SKZ;2o5Zy,5hj@YiL,C_ݹ&UsTFjXE/ AS>32m$_i"- (li!]8o/NVے; GڄC^* 8km^Ib pC_ڄ){Idb·xgQK(S{nBG 8,}Le1lx;}GUcmH^増p%ĢbD3P#9}g^բt;!jC6\gEѱ0p r9H)M' AdQvx{naP3&irNH;/30B1!FYcD;'-3B~T& RޑF ]~lFɉtqo)kO y.dJD#*ϭt[5;}~XOxBcr,73QQ ٽ=B]+hx=TdlUwfϞ<؅IfTwzڪ/IT.ao/1m_D<~8g! wȺm5IZޫ2wkw0 Nw(Td:Sn&bޖh2&2:p 4@^Q*[ffdFnOB׋4]TfTJ: dA.{~Gt'@z$G)έ?PD[1+ z>ˬُmϯzz_idy(xq7PĀ?ɅW"[=+hd?fꖻCJ_n@GS:2[pWL ,ejM-Ł~ ]!rt\ɲdEfStYLs+{Ltykt'6U/ш kl %~W@;-+lKu/z~~nO2&8CE{ (SBoY|gҼT|tuWyZNqіc6pc0bV<#cc _%95S|lִ}Jˆoo."C%2rO|^Hki[vj}{N6N[e`G( 2ۚ79&[oH"mwy-Vr+?y z$D,Tq,757?xJW ȽYUW02.%g-hbW}g쉅/F:o 猜j;>&TjZwkv/q G'\K,V[9T/v6+\I"j TaϘGoROkH1|c4,Գvڐ5gt4j23Id.eq2'8ooaDb<|3щ_zZCB.O.MS&f9]MKD}on`ߎhhaFRK,t:0B^Kg4:9qFB ImQ<; 3iTEsq$Gx"nR/t%:3"LyBtdżٛV'}R?*Y@."3OE H6 ;4?xS5mpAiIzAL5<  ]ed:BbȬ~!o6 w$'T+sV+3Tg*~o8vZezlL` hʃkOs u 9L"6d6l< 2KUk7*D0=9OmO  /F$x vCȡ{qXm;QujNցl⦻ BV,KTuK!;>*Hs C^EudSCY/4`aI B_98ic S"YkqpQK[W$QF\In R/2͒= V4W9d%/kTGm(<6Gc79)ec"Ǘ¥}cBRmbG@|"FPh -(Q\ nvg oyV4h5qt)8[;&/[jtMC))ȍwE!v#>}($S8AFoZ"ےZa^٪@l3F,,.)zk\!ۭaö%B7[p&yg!QIh,\)8y3 -Ød{իS/"(_⾯sP3w#һ55b \p#~WLE*pu[~K 3ZM1:[KyqoS5vd!-ۊO6ꆅ}4wkLM!3lG8a:Ug8Oܹb%.Giw^seS jh/)5ˤŤR<*z\>v yO hq'P&wajVȲmt@ZN1oq:"Z{ t!LUCX[ȃ~DYG]ap˗)th-6b]|"{Vl Ke .>|eL~ vd'l[lJw$5qH=jercr ]PInnzB  ǷAW3;鮢l y0U)qT\ %Rه%76SݢB"!ziک#a̔YAe1; gĦIsww^}l+{!+yl5s rɳ{i^a`ZRrYg$Y*~])-Gq#=+5ER%@9;+=hλܿUИߦ8e~eH̻(N%(.}Jo>z{4l(+.o6rLG RjQJ9DdXF, yI=Y$v~"</$߹tB;62A f~f$DCN"TH݆Bdn]4 `)lzM |e^}9>p"2jpIJ4~`Ӻ>XWpLtDE{'\BWKcClTUp{H(9G4ӻq*ת*1bY 3OQHŢz|oӏd( h:q3n bHdHA+f纚+t)sKm,̤!ݢp;rյ|He򼑏4GO s㸊͐=9+lay djnvർ^rM0f[ˀq7Y& :z%7[)tAnhNqZfp.Ly L</.@6@&)BH-6B K 4"N3xւR?Dfsۃ-cVA ȌL'mӢTZiBfF%95,Y G9M㸖 Y\I%^o'>c3l~-ºyvloiiW} Q 1ehiǭ= \dCaQ;Wfl˪%- ᄩ}c' |iSAj(b}+ 5%`ke xu)xC!"l6͏_Le0bҪ.h!+RXv$^)3*e<_CYX͐\ WQ^/I,:; G6ۨb6.Ѫ۾k%]:bTϻw"QFf+m |Ή㥎dG̜V9 `L\pA?mj6{{x1}E9DPbW}Ԝuf ݭY*ȒYoLb5 %֘,J wH!$m0Y/?g9wZ-NJ5S MB s<^pQHxk7 ګгKpnٿ#sKAO@s1( _v@y0[ddMWf_tG2[@n_Xa5:/>ޯtkoDoS,c9=Hp qVꪵ@~Bi8cșߑNբy6|7;K_'v{';.5պl3ߪr{&їg I&ET[NzC(f~"dV3zgwqiPVӒ#/-˼"IJ$ Ϗ2#sθdH PA/q'uLmzwfyxv XdgHT''W { E)eL Z9U%<0^湽ѩ(C~ 6zLU%M_X*#f7| L!#3R#B3r vIk$7fX${=V*\{pnz! /wRf&/Li[}H rH}dv`Nzx 4LsI봒=mQRYxUk+ U4:[5*pĖct~|WYabFԎʮNP6^\{lTbl̼G1T3@kq3)pK)@۪_lFs `Ϩ(E{;~BbO)49se&9QUTݦS~; Ii&3wPKsOBVzρ!ZZ~΢4>E+/z87vXW8SY%%2p90Gq}K~*M@W rٍs.6TzxYE.Z@:~7 !vn9.,]+g.Qx9!PLtmɁ bIg=sk` UՐ؈aAj=\M*^Ȼk; #CbX'idb$[ӥs.tl "#ݰmDm_Ui!d uo5"΄W̿xp 7)YRz78$‹4.\ɚUasf, $.] @-|hbfpCѐ{I;m~dg.[k\eeV3C`v䪔Ηr910INW\6Zn0oL/5/\ߋV. fD#uxL Pvz6q*feir+c!<",FfIһ OS"c)9NXPwxAh4bBRt+޵/|kVK<.[ *JPWY74WSS+h C.Y\|}]zCzL3t]eK~pUyЬ7X a6W])M&{QkDLGhC}S.=$C4mIӕby9[9oѕ\,-Y,u-#F6B_ae_^5jtbGJD!Khr ?opgTfstiDS?Va:'Dѐ>7LnKSB (S $U)WWXͲ5E' tCY!QBPV˯{9jXRƌmXHZ-x]I* )ͥ/:#4zL(D%AWoFʰo_ TO:Z{0 =M"Y-2cٞ5AU]0sV+J::,S\)>SxZ LJɝjYiS7EZ _:gxc1fخGQcBK-”hͫ;2w/2֋<?Mc%ch9+Qʵ9EΜ){,b1Bvtk(oiC=bm9"^]M-ѸcF[ωlٖJ4۲zI'{G:B}:X-RNLomcq?7&HؿgqTԵH~UK*"!r#%G~7 0\:28-)_ls]!OZRvcsfī113J$ NJ YTqtV!4r{5n,խ֐7Ȃ$.dIjJ"׉K.P2 G5NXҝ. d4͜l1&_;|"&_ <עc`B#6>ANPu<}wȽPjJ6&hiWaY|όUQItYћdSTDZVSqdwQVy`ig5.rWQl8' 8.c2WF <{ ν߹/ʣl8plS7șja)*vSf증4a5Wv^Y*FKU%7đau\rqIo)˭j>VBqhr*E *.UKe M bPuL4T2u3^,: }aӮPppКZ.h`ȩkxWe( \|P/,_yeiY8u!,ZaJ]BEk4~uTSNZ5wD.B`M忡b8E׼b8FLϦ'!(bZ _$hrDmn n%C+h*-wq.ت5$87Zb Hncd|Pp\ӆqR:.H\'ciXa\dR;=\D^JšC֝K9]EP=@f (0}[*hGT=xzQcU"\9\h ć.MPPHxc::.lm'lÈd;hFMcK#S7\fA7)+?c%SU$tq>cIxaŪ `!'HX6|+F?݃7@t`TkC!cLMiU٢4%[j.!D(ÎCridYߨgcf$>ƣ^!X͎u9WA9#}F=tt",x:iPәwWlyt搓RH:r;>\U_WE)Vǯkߋ!pC:Z]=~ГBRV!TMh DϑCfV/0M7 9`=`9HiY4Y,: JIg3}E.-C*8&3j 9G7v0,^!Wid"zΑ 5ԥoXIidjs֦>9D9)',J'U3!*5֜n?#}Ǿ:H3$vLUsӃBYQS5A0Jz>|.H/g#toӠ=TvxF.>1?B{| ^c_G6Vnh`#'242HCF]qWphLRI>!$f btmH몆!GtLb8*϶䒩NܙgiJG PNy(z1"qkQMv28CX2ؾ . FPj Y'm0xeRP׺HBG;dVF/j%>º0Bo1': H;7yGOS;m]rª1) H,fOU'5w'绫m@ފUxQ,JR).pO7ؑT<>jY-DAZ} ȷ@wOy=o2Ty|S܄z- Xk-K-8VH)vdA\HYz(R[7{zfn%-1$UV0;FL}*IxBkkʯҭzL֔Kl %ӍC_Nf,{.<)4twZOde^YŵxdLЉejlZ28r[yGmȞ0<ũzNt!6 \Rdƙɓ|ywG,ZGS|6̯(oV$91[cz:X{I^k;aC ,P?/Lm ̖|DrRG7]_>ޅe A,[{+Q9exW:CCz0YDt+pJ3,UcT`.८g!4#9+e哯USrER5oqȥ/qlkG -?+-ݞz){*Ȧ8Sk~HU]{c̱,F \azErMxN$ӃfNُjāQmԓ?:

l; !BsPU!C %!: ?c_D8d6{[_&]QhKۺt]y$EЫz*wla:POId/U>8G<+x.mtv?h.ӆݓUgg!%*%_oqT;4#~e XßM!܊F,SB!鶇.͢fyǂ?qD ^ttE[uUzB]3t84`d)}nvf|i.~?$S8~-CrV`\9|2H1{ _JQ,yULGϘys8j2H%=Ƕr4I4E566 Q7NL^^n9}W6ӂ$G,2&fbnd[DS;dH}NT+#X&P笉~k:lz#tp:?LيUA kjf٘|jV\yx_|.Tܫ] 5z~,gXMwiF2R"XGNE13t*U\}JM'}p{g=}V G`'_@Jjcr92|$P(/R"R=x`XML\JQȸ`ǃ^pՒ_l,Dx/\IV1Y?r6(!ubLkDE?O UB sciagʙL>0mwzx*tʄp!}-I-+9~W-R{}i:̄߶KO!/<A=qfų0<\9Nkϗ$->LdߩoTzŨGBn7GR 'z.8f7 Gup+J~;u%lcj5M_D;bxٰ/ݒGH8yEX5uzN1 * )zI&Kgfr63gvu fJʜ1A-3t(w>0'"35R vn*G|";ަE>l (Z`ePcrS ϯR?Shg4?4 LåDqě4Zd0T vBU8H} [rpa4SJp}ё ARSɊM\AMja>)=@zЙ|Kjͽ jp֚ݲlT}*8V@j~CËo:zCNܘ2w`nYƂFu5;(4 ҧdj^Θ}_[VB.e kE-E/n^^}A'U5t(TsX\ç}dՍ.bwS8:M6827成Z2v-8mЙDNQqe 2?y^kBp?d_Wc^^BXb?34n@X6 /1xr@(i'rm ~KeIJJv6m)Zxmfh3 ВhOwoEGjSw4/l`1͠>^3hbEaIU@Npx9 PoW͒ђW3@D}IfKAt%^rA854Ĕc6{cKMW@(L ֛ Nja/Pg/&.45X\Fv r`s-u}Xə(DoQkU{4^~`tU2tEz'WƔu1QgKڅ n/̓|Cܤyh0 3Ix) 8•UAT;4 )^`q31 eXf)Y>b&7Ii{FE cioO)f_gB7Rڼzi#";`]:3Y+{l\#D@)S&se^~e>_0=,n8.*KbyM{ڈvJ[4dE]VN5 9P=.a:Gr#[QLͅb0gU6au3n>WѣeEo%C)ىeX/x~BSBy7 !ꈉLpvqbH>9H;1uKWV)`74Rj# zm-<úx(f-󎦩ύ*%rZUn&K-#;$}Vɏ (8scU0N bmk nfH6x0q-3bvzȧe)f^Qz.ImDjR= Bφ'<b+/ Mh DbK*?w/qá4S$/iE'T(;ʡC|s3лt 4/\Ϣ%QN\Dz;gk Q:GY4!H(!կ_yR*?D&~"xJ!-\蜨cW {7z~(s5}r _L`{i8;`F 4+$9QuV{{} rOXykʕ0^-eFG%+RZa;>) 2H7]tXھ]y@!)(eI`=|]ʏ_RFx(jFO?V.`iQ9.Wl'4҂/lJ8dcb*S BLXzPsYhxF 8iN5Nポ.> X}Qώ +gz_y=";{AfL6r<ȝVǡ>eE&Y`4K (d>Ez2:&]Juuq"aUp#΁5M4*ю!۳D|fTk-e,H"! =S⟺mUx5;}Mb+/{>`_|jQӇS$K [@ʖq_={L7q&" OmMYd4c6|IvV69@rSJU5L; @hNys>`?"#"p0VUrLÚ1{H`X%(ߘH χގZc0r0˷[(Z{v0$a&) ߳"\QQƄ"{Yu+ E2\ kjsq'~Ž,wƑb ѿd۾ybQyC罹Qs8{<z٭6-7뛊NJd`1mP! THPk*zWok&憃e^hgM5z !1(LOT}IyCz1B!幌?٭ҳ.FHJK$w*xs+Rz|XaȰۃƫ?r!!bۥP{ϵq6ۢf37~%[c$XeW- <ڠ}d^$aZ|@|dGxPԬ0$Wm@!T2W7YXUW//a/Y;Fu1ZWL}x701Pﯤ ,_14tQ1TZxo.xnj7@5"78 PKqO *WCDpcCH%&ɨK̯M-y8*_&Cib`.גuJxdxpZ }EyOHiBw+OC?tU#dW&ih">+ݎvZUX:qnN|Y+WpMwC*}_.0btTINZ;tÛ4xsKyse1J`QQBs5d z-el; x0>ͭSAj"ؔ~L)ZR# &/zEvHN xfG_ʢi('8Pq&BӗWs K(J s|PX,.ձȇ7YwV 2f)]O|1=ƪeLF7~іFUNp+ނS=NEJ7vY44"oj:2}1p%; N~#klj9ij՜t?#D!ѢOdc`~rl 6"2 hc;A蚴hy]HRVb (D&Z#+AA"!_؜¼-곓Ԩ-N+.I@Up}-!H3'O0ֶhF"yoK.9ﹷUwra?4Hˊm բ($9ԆOR(D?]oCO2&QVAal]Ԣ: m5@v v fqĈB{K]?~:m|nz{IXݢk+g?{#d Ȟ?tR"5߃p|~=Ph}i'Y1Q"Uc3=!S 2XP!/rƻˌ>Jx }aCCX(ߙ;E36sȳ "b}q}GѼLMY-{3Y3>$Ӭqۘoj/8:}"{IhwLfO8l }nV] ҃mΤPDP3kB'J16u~lMZśL`ĿÒDН/=H- !#h Tťd:R]n2y֝tۉxu= S#r_B5Bp񤒊+4*s˳쨜V "+KrML{-x.]V噼\^z~mLH/!vP:ql%w1hzu?zj.24%])UZAn;;X T]J)%v3lEF|5) PGԇKvEwҕ1Îo{u|-ћ"(žC0`ZуZTstp߈:leyt e8e4Ry<}'83gQ ORZ\$1jJ#Bo`s4,٭$;,5ihZBN)^7>AS`0g`N.S앎:\vBrJ))8>-v@DHdr.X)1!O.Hz'`Tr$DjE~~u 5Qۧ([?B*JtrIHxwK&B,$f]Qv jkn܅M[x]YI7(*+G4,)HGEp.WVwf|^ g(8ܰNbE˒5Q<7]@q.O |FNN @9:nf.dz#t8FÕt%aX?oQ+A q>.1s%[#XMIsv(3U( |y &f[o.X!V2ۺw>{uLFrslDw l%䨲11ag}D?"ՙ[7R7!ol\֠6sexQCE v+11LHpq!H@ֱ!ΟEcj 2Q-~JtE̎-7o=[ǂ~Lﺹz͆ǣVj/[{C5߻f`Kzܿ2(F<9ˊR. #T$K WxmOH >*T6jW22_x8#>zvW0,s# 쟬99:l^WX9(BKrÛ nD\WUs7e"B>M2%;GV:?-!epاޤ~bTd&ԚtYP[&K77-\NJ"Es?Mߠܞ܋h=s N+NҽWc s Xu;Jgy^:) r00ĝnWv~ESC5dewhOW#~3A_*tvlyLxwVL𾊧PĬB[hbE8嘥OYIuTۛ^ Oc`\ Mf+cv\t| bod[Pi+l2gg2XwN^AØ- \0mwvUd7u%9(@Oa: JòQ蛳o?%-Ir4DTe\#9U)Yhg$jj?S*5b|ۈ)dq+:/+Z}W@̵bAquVgI9p;Y,9Dq0X0+>G"IV)R]qOkxaɕ|A OC( HRh?. _![H~1)o{ z0Ԗ^2JʜNjl~~$g4tW.Km*!HltDID Zc%Sl&Zѐz2K2kƽ~nYr ;}~bD}ṱkp'SImv #@}^)?;FN&J LDtP= -_e_U('jy ״ؾT^^JAĿ2xpr@}&S={zxLRǕY!q.=w0#7i1M.o$M{k|ͩZP(IFI@mQBp mJq@??qlf#å(\!<)z ̲rR"@c%Dv؏c/0*r `]N\sMFR(`81I:oC $`>vo#i=5b8WJlNm& wb\QGk `  魜 &Ӏ3Lf8 ف?EJ]SNDuUe+-!<[ !&{Xn2e]"6icEFa!K71Snp¦huEK3n̳|3K݈~X0p{mo&G b&@'7i_:ۮɆߣɃ׋Nzش hpU!dQSi4xwdKo̡@OJV4h cAMvnxT처/S}>Sg4N08ǾnO` 'SymW#cwb.ڧ. ׹w9Յh<<4/ثH Fvwk;ŏۣitB>XZ9pt)vTuβ=ַvipw \mEOBy-t&nh 2O"/# ,c5ɱp8m\K E= g]@?{rU ТT8; tfwX f}hQ1:s:zʈ[1P/ޕWC} ۿubvLAs &INxJ 0{S{k{`ך&hd܎(iq1 o߃<8?h9_f W~.J:FG8c26n R&{vlYU<ÓnN:ݍ4x ƕp0ǢwSbɖ`z={N&)̟w'`W}af:#^Teꥐt뜭(Soc=d __ Zz7oAKpD'}j#Ȧ8)C|KwWg߭즋tT"&+߰]K8aa#2m4gIC?Ŏ\?L3)3a_ Ka .ɇ+\y_zbR;l7Rϊ UD,=RջtDeNLЎ"1@N~" ? UMǞSd2a 1;g? մK|R]J?v]y7'>\"3?+ɦk%_Ť%H*Ъ u6t$5M)dV:P!%en00#le{GU*2ׇoM.=%wQѝWh`I)IxooGR1.,: g`pe9Pf0u:x[LCkj8{zðzpK;|t\[}&Kܴ ˡE.b ܎@ c;  Y@G{ٴ\ќ 1&-]Ee\:ԝ28z&K[ m^~ nT0ZnzAY_z 궜$ ߦ_fPk=1!r| {l+p{DcT,L *kɷIoS쁰f,! .es8 :\@ VN=}Yt:4aHY~Ktqff8gQɻ`o:I{Z2N139|1~UD>Od'.$}ga Ec<7+)k*z 2SŦkeOݤG4ݓS@y{8yRn\QarZGsƄ9(Uq?%kȑ0Љ&ɮNy`ď %Q CyYN NE'tLM4깴kxJc;Ck F-C30+k+4N'$ ֈ;=B(^u \J(ଠi"c7<3W 1R)2$!##ú& ZKli+O@%⺫ZG! Ey6%vW |z"Be r4g"('hm{9bJ^[*;Ӿ D0T(VB{E,DZdy\rnea BQܠKnV? (i@s}PRc9u҄Z qk3}%І્jBٽ<v7l#Y.a<oȝ1uVl{obGTYbYY{2`=Pc0<1}@百 _eiWQC'rzރvغ<7-ia}*DIͫb2Z_߄^d+c+?j(: =&.ChLj;'ҁE%?*c6sɵٟ٫zr`TQ=&(Q\ h5*4h3Yq&{ǫÞUo3,*"?#{@DKFՊ.6q¡wM d$~Vt=/m4]C~@c Hόb1)HrS|C祃lU<Rdpϙh:"bjN-N)na ɖH/ucbB]riXeS䶩 pd12òKԴL`?7]L?r 90VOZi7E٪nibu*#*v;8a_FmjS,azDa5"S{6^ E.;EG /;׈?}֫{{ |3xncH4Ņ&Äe77(2?.UJ \Y_-`sbB{1\f +N[Tz/vI/l&J#lOa籲:Oj$F}!ч!xE# v't3&K="x*1~19ɽ=c;P:?Ք)58ˉBX.E>ϏC[ F2{jG<,k"to>b?QntY/Tێ.BcO@ Y64Bi,{-p˞ Gâ W C=d8;m;Nx_sʃ`C;P/ZTw $[4CP #Zem N+ B* CޢW/v82hA?BnhTQM_gQ͝ (Ln(b! RGEZF@NB2H ;¿r;hA4=û1`йjҔt>L? G5>Nn5dR6Ueյ5.}ȶc* DWEq0@r(;+iY9E1فTn _l g}di:yOD_,nJJohU )PĮ{kx/a D'ea@ʭ647g~d }KNC'\)=`ԐWq{Z>w?Q* btt4 {wx::`>-S[$ts `i-ۛ a@(MĜ @:3Eom, X Hr_=q!nZ32qx$!o0!k9{gQM L(O~@ѤO^^Ng-@S9YRr ,YR9 Kb~WY.o|o D9{_!pv3C:"_&8]l)x,ט'8gp aB}{RWHM2 e$6\7@ sd5rP(Ea=yԛqD x 8p_!tKLFf|};c¸cpsy"z(GFPNUjW%dz'pO#6 tuKQ9_I~'*XYI)q[;h,t+-%|$'9X>_oAH4c/TM $Q^0_ap*UJXdv2a< !>MVb6 gY]P:C$)^2ZT }+e|&Y4}9=bvJnzgj|MT(af0Up7г$<4(G壐6g Iˬ\6DV`i6 vL336s3B/[jh>!6ފ]S쵷׆Kʦ?CG?!pQļ>%o[/7"MκŐ RKHySK.t%M"ķY}Cc#3axc/jO]ewdݠ]"$̟gæ"A,XlWJ*D%*&C"iϬ~&^v\D32}q#,@+Pww׬keh7hc2νrv.cT<W¶D z\ro\0iwXbۆH2ˋ-U-hS.R~W*[>-Gfz^Q򢞱nTCd̤{e:>Ċ }(^4&l҅;f]1Yzlgڛڞ"IPN"zcX_CkrpU[VEY_ͅUY6U~bh[JJe)8D[ Hnǡ%a;Mk6vV: O&28662Ys קMs`¥w)4U/gKҶ%9>p!GRHOlT'>,{RH48g+iv/nAoOD@+gc%-/kѶ8Gt&z0A Ml{Z0zD`0Cvba\↾Cu?Wn]D%`,@3ٓ1]jf)x|3\d`=<XEiu2dž;0=pke}Se3>_?$ ӊ{DCs?h3H LX 0|/weCe)a-ߚmשƽ كI7B*AM%Ca&'ךu*׺ K{)b0:}= u;0JdJUƥ|u ᳴BjsM!٤)\-+{"zs D {I-dk_qĽS6[!ܟ+{I1b{}= "FX!>@8wx#|`irHA`GdS[t2TB:^}KVw =;>fD̨!"?㇡=_,vk4mIXzؼ6X"42#LbҐ:#`3\Аw)ճX1|/$H`q,v nv3"I}8ƛWS|ڤF$g_qJ:XP%D+JrʛU)5.l[ݹ`;$׮v ]1! l>Y1rVH^ܜ–V';a+}*uFXj* Fhqk'(YB|6g`aPuoD$3ݺw[BĐIo?qfvڕΜ$zlqXtnj9cY RQa# kuS;L"%?^r(0Jsx40e>pe}2}9Ţ8ɕku0/k{4, i튨yp;Tv)P2N$=b4_=/E @ݜazu g{*F/ˮX@(7ǎ?Ϧ#b\Ӱ&6-eSiR!_}tԆ'[_o}5<vIJH x}S?9}%m:d8, 'nYf"AQIz 9Y8;Akc/DGvy8 D ;S=_:~cVY٤8- gjnkX<%3x93RmkYT ә(T"w<ڤ0+UoT?->?P^GXa)p%uZB+ ]RbnZpAXTDhJR-mSuY(s[Ghh)- Up$^P@<`;Gݶ*LG+ xsd8iK{ J= xm=xip Z|@k>pMզOk1o%m`c=\]W Z@N딼S1$cAW;,.sU},V"k<Ϫ=:yWOIfml(S'z~nu[AN\'O\6Q@~gdg( ~cw3AY]6;pë }|0WjΑF%䱶Ǭ @Ylj|82J n۠';-myP~ɠ~?CSBAm|-^ֶU4*A.^:2Ͽqw7)px7ŻCNm :TD3mɋrW؅ʺs.aVNAI0(ak"F[X'yo^PtqGe𙽬è6)1Zj%u'VW뵎uYqdZ@5-l>1%Xꠈ8}Ao ?U !|a"JwtI:tEQF+1ҘMentq vE&0DD ZqT61#jQ3Ɛӽ`$:O N>%Vk1#/x!]x(3}O^і}E 0I1b<ɪ}QaE7H<Ço5+rW?o_Jt^+|Mq>j,n-]w.?nI4\xd!? æd U.xVQC*y7(x8lLj+?&ҾdV"c(B޳ż]ݩ#ԣǭKIqњH'!}ŖM^.'n |m 8 bJhh+]*ɻ8͢\X\*#z 64DtyS UܙşlA*-8‰M9_RpQ\L5Jr.~zYmU+.(LLJ-xS 1w;⫳!77E>eC+2Jw&ŸKV>D+;_c l=y~FP)y#`3Б jijV$ -кtY~Y-_k`o|5IebN(&;B4 K{o]m4C8١89,qZl D>Yf ۱ QF>zip:X}mcɬQ/P5Ll݃=elԹP,%Q7x%R-D(zAC&Y=4(]i "hmO,M6틲@?ƅp[`]"UŘ֔tӴq./j|.R@5͉x BaIA w *-Xa ҵ( V[ҎG[ 81hhHh@'F#1ip ' SZxRnjx¸^]2˟ȱ>;j̓:E.ų{e"MZn˜^a9;TjyDmUn=J͋snLL{m]c7XQtm϶!},u%/k-5a\2O"@nw̭Qd ?9L@AqJSQg\bx*v#8 >5k4]35rP-< 7^ C2+$:j:x~F x 4후_,Iˊ{er\=j-N02`a*/=bDH*kvS6Z2/{5J+ 6/Pג`"5sPC/Nj1XƌkVG63O2}M,8k<nBm:s VNpL^⍈%s9W߁y?'2NfW#lwkuQ") lEh\P`eE:$5#Xu5f`g 뵺붩,$s(^]¾DYD^H{_5< g(b$xl)0vS,YZ~o^V[2,tZ 8 q,cs#jROq{*1fovqkZxrYl4wCVM>&\/˘V_ZxFw6.Q^-ݹ>\ɮO8/~Py8~Sj1Y]Vm~eXTڝ"tw:-&{Y#ڈ#4# 1嗖ynkRf,ðXב^߹]4~.ݍή\&}#&sNg|xKh6F@͞`COjh e 2+).}~Pےs\ ,x_s2u<u%Lr|)?Ad0^=W]G|B:H"Te9FϿ 1^ 2EA _Ɖ#niÄE:F#'30#j% P #!5sM zh:aoz:$@ROMa Ybd&aLezLaWg'Z̻r=ڛo3Q,~{Bsg9uPz5?t?@f0|/oXҍsCjpI24.>3s軯vܐ.W,k QakQ5{ge(;u7 =eg"ZHVzHgaL-t<-\T4h܉|o~ pH 9?HOa}Cg1ya<Ə/ 4''3pr:]O|ld9Dj,bq7/Tmjɖ3]3 Ѓ>Z U|zF(ۊ'hڊ5VsATDON4OIe{dE8O=f9"c"t!F:0ޓM5D-2vU&*\1/u2rq{2?.!n^|xa^N#B{#o\ r4;rO9>W/v\A-2*mxrjΞ]؃lO OL;,%@9;v&ˊ  ^ȥknkf+ٝA`d$z#zo;BӦ,rqDLh t>}HJY[(0WY*w :95fL”4^T!Zs%˰27Rz"H}KUiD:U926{|ۖFnT +np} դԺi3P-l}7Qql~(w!Bwwe({L-Jt~yثboӍ"BDtkd(˒.~Y|ѻWP=P}͇߉/xQvzƎ@lp^{e2+O%w&jW(2o{LC' *>wS/ Su(hMԌ]Q\1݆ҳRK~~*E (ߎUKnGqg^հs!]r*[Ob52d(/pw{65] 0&ğ^A`=7]ڙR,,O}~c#f?Cp\n%ՋCPI`7k31 P- c`NLizxή>V'::?UVIBÛ{DCi6_ ,;i@' >$g+3kV=Ly)X1qMh)y86`5*H-:Ҫ85G$1m5 @M5wRrNuP2g:ە:2 p1S3%i|h]X zUV83YLOkx\ ௽3𩅣^栅sө 9YJo#M\RbEvqbk;4Ʀ$=S+0J4U x#ZMƑpnd\kpeIJ#hRϰ' kQ Wr2?َGT'DzYrސ NT~97sVڴXj!{E"EN@nc\,ԴgU]8缏JB鎞V?Wckp]3ZoTY.ߊ{̢b2Ad„j 9$#qG׬NniUᡆlv O]q1IFw6h!)iL>'~k*l6~Z8tp.ƢE<,MIgT}E S0$"rEԝ=?Ʈ L-ͷn>g륆ûZR'6AP=`cH3gơRTMU¾H&UV󄏸bΙvM<:M;|{ J/ÝkL{8OWR14bc O)v{ToqE>WЉ*:ݽWyQ]Tr4@)Mqct 2S%()Kwq-we)$;Q) Nq2[){0(M,XenbYZvv4)N.Mm֑4&)AݑLY\jgnZռ+Q0{.Eծ݌K1:-C/|z:4m}̈́DFjHƃOQ2k}/ 8+h6lv`oC}krmUr6O<ːP3NRTAu!^̲8҅]s3^&_sP*3,f76Ԃj NX} q~M3{AR鈔xZ  VU$vœ|Sk~4}̉O@KUaz{{xqN B,4IK(9(![5l:hCGޅ\9m8C$@օ4Ng81J8~@Tdk۫O)]'񍕼UwxecB(vc`?i˶'lkgF">etcbL^+jgbپ@ *UYy4&y6\ 띢HzlG7U }Aя @/E,Θˢ^n!w$5r`񎟎):%an%ts uL,Uo2|=V~ <ѭ &cd*C\a65*{(03ST80uʵY 0J I 45UTH.IKqjG4G2q%3]ĄTyXkFXb)6~s"L&ͽT:3G ]q| S.JkYTi(ے[f fe?'zJ൑I|[M^5jN+m<*{+Útt.ȳ"-p$A@qdl<ԘκGס-uC~B$&ތMoHhe| ނjIpv-qa|Ņ:wa'nGK`QnmdxA"ޘkZgؤUg9bR ZV S \HV6xvPyr BSfAD\x}-hcD 3?Q'3sw׷Q-b6aJUvޗNyWU1ӗ۽b)ְZTW<M/Iv9~֊ѦFELK|]B7‰$7 Ѣgaߴf ˼LIؙ 4+L w%$ R2i~vǽ1jXt8D5dcqBTlxSǪc\=uuV%"[w]QqP8эEoҊ ףx'3m=/16 _Dʲ*rK#%_wټ_@1 0=nnڻR`Q,ynެ'Eb !XTW[­D* Ij'}I ]&ԏixG%)o.b{ݖX-0WE0Tp c"hvkmVT]l~SI^Ǒ [gCKBp XwN=v:}?mڃgBLqܸM9\Ӯ UdlMzŀQ*vxFnܧr {1M3Tؙ`0YEE8?Ed~+!kXE4h:x7R㋬8elp6Bĥxd|yjy~ȴ *9| 'Rd6xlt4x"U_΃ Pj]$ƙӴhbt_"(\U9G*GD4D$ I_mݭC i2D]n]A]!{Cbb}!%{'C.nKShWK Uld2GLCLAgbҨʇf2̦S( }W,=pRtń;r)Sd_FY1?Kʕ{FD2SrM~~OswB4ϰnhuq́>0T$ X~XiLioOプ QXTyt{_7:{pi0n>or`3Lˆ_%nMtH IK`Y"=FlJwx9K*UnJsqʰ|EWJb߸ 凪'"T:.rY+2^TBszq8;fz2sɬHMŹVj8Q'=i TDR<1+՛zlK,`:]W z ͍5V+4 fy]ߕ}Fh]Ũa|W \&Cy4#JcNėN¦ ;x,T&^߇X=]A}3>ABEہ+ l|U ``V\8i]>hّD}Q Xx=Cǫҭm8Z:%IXҾ%U~BIݮ0eВDԛso ">T&fSzUu'ػ݆l* ܗw8KXP8mz0E NwG){{jBiz7'/H>$sT.eMM ,W0"ܯwЂۃ9 >n㕤 Ojނ6 EWϰT,\ƣN{F9;#Iy gfJ ڃ ;;JUc!Зp&'Yz#QLFpj:l/ԫً$Olӓ "Բ1`.tC>Fz4Qnfr7ȹid6T #vSA@ψ[DRJe,8G١GK蹃əe\wXUՐ K)l9C2A[+@4A}uh'߿'eTZ_yy$p$2f5ɐ jJtߚ V=SR@ApA?'[bMcIG1D%*xЫ;pj1\gYL#:yKȔoxtwDGo4M;t{U9 g8Ymv}AuvґwKt(FͽF[_ΥkjZ qr?0}Bo[?ζV{0pjdo&7RilZatӫ̘8`CaJtKȿ11 JVjEq^H/I7 W bW{ KEM]d%|az- ^ F@'] y7x &>@o[gO)RʢHScE8I.QPܻf]zTf5iL17\[Džl _n= ޮ {QRa '%b6.DIs#7QE%$phZBɅ%(U.^@(fLKRK ˘rf9`!߭$w}Utv]ϗ~bVS~[#aq:hFJRwx1>9jyVwonȓ6#,u&N 0KZO)PNcL%tzͳU.YۼFP4ɣ09am^Cf/1nvƸ\^ {=iٮPo P+w'g/On\vUdԢu_b;hJdU#pb8 8$g@O$_@ƟQGYbp_ xbLm1ٵމS -" EJDD~.B*"JD&ˎA(<gw1`&;?$:%C/tlT+](L*0gѓGy/m Pp ۨx85cH Cث.\Sw#l%q=ۊF.J@ιTN-ZԦLJ֫ n IɐJ]UfwT[4 m.ت6#@wD88 a'~8<惆WaA"B2HGF^UҢm;wd.R:u||r1u2Q{pmZo4J!Nu=I /TSHS)vgB~} (p#3cqP5o: 2NUλMZmthJ^Z'cH$Φ:4/Pթ^sS\ˉG"gl\?}-ƿ1vw8֜%{dӯv/{>k^;&F9֗T=Tۼ$fAh ^sD\vctwIC>VA ŅhzDX.~fBȆ=ٮ땼 kًppr!3g?yoa\GQM7iAYmB ӧCD \:_ pHG n#&}QAr0lT5.LBTto^_ ]8eBT='5ٞ#3Un1vT꼑tO(m@%~xHCa+X^&ml2+Vx