drbd-9.0.30~1+git.8e9c0812-150500.2.24 >  A d\p9|eOA0,oLA#ٺ˖n9̍ ](V>W&4p:7W+˪l\ 4/n4I롄wү#\/!U?k=eTrcbYBN :hp^J6kVCtg;'fl@V8kQz"v~yݱNn>ʱ2ɬ-27828c83890a6ed311e23066ec049b093623ce02fbf648e4be67480292ebb5dd2da635cb7f184509a77f23d0359c1a116916af1bPd\p9|$D r*7-/6NH @iRb9d:ܳtX TFh{B Հ= S۫.PTw)7d]*)ҩ[pE_^6 ,Dքo T8-.Z۱,n7P}`Yz(n>H/?r"j!KzN(cKC`q7ނSۀCN b Ӥ˄Y_UQ.wг̍l>p??d ) d$(48Qr      (<T(8 ?9?:?BGH I X(Y0Zt[x\]^b8cd7e<f?lAuTvhCdrbd9.0.30~1+git.8e9c0812150500.2.24Linux driver for the "Distributed Replicated Block Device"DRBD is a distributed replicated block device. It mirrors a block device over the network to another machine. Think of it as networked raid 1. It is a building block for setting up clusters.d\cs390zp31(SUSE Linux Enterprise 15SUSE LLC GPL-2.0-or-laterhttps://www.suse.com/Unspecifiedhttps://drbd.linbit.com/linuxs390xFFA큤A큤d\d\ad\a70fa5351b1deacf7e63734cdcaa30281451ce9a59749b2c61328758f20752df51ca3e8f71b7de618968e7ea9fe47822d9e704dc476aef8544033abedec355225servicerootrootrootrootrootrootrootrootrootrootdrbd-9.0.30~1+git.8e9c0812-150500.2.24.src.rpmdrbddrbd(s390-64)      drbd-utilsrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)rpmlib(TildeInVersions)9.2.03.0.4-14.6.0-14.0-15.2-14.10.0-14.14.3c @c:@cwsa?=@`+_м@_j_F@_@_cO^@^@^g@^U @^,^]q]W]n]@]]w@]v>]1\"\@\73\U@[H[[U@ZZ@Z0@Zhu@Z'Z@YYp@YoIYA%@Y&@YX @XO@X@X8'X0>X X WXW@Vm@Vm@V\:@VO @V(V V7@UoU@UU0heming.zhao@suse.comheming.zhao@suse.comheming.zhao@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comrbrown@suse.comnwang@suse.comnwang@suse.comnwang@suse.comjengelh@inai.denwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.combwiedemann@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comhare@suse.denwang@suse.comlpechacek@suse.comlpechacek@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comolaf@aepfle.denwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.comnwang@suse.com- drbd: add patches to follow upstream code style and remove build warning (bsc#1206917) * update bsc-1201335_06-bdi.patch commit log (no code change) + bsc-1201335_06-bdi.patch * add new patches + bsc-1206791-01-drbd-add-comments-explaining-removal-of-bdi-congesti.patch + bsc-1206791-02-drbd-fix-static-analysis-warnings.patch- update to 9.0.30 from commit 10bee2d5 to 8e9c0812 * drbd failed to build for x86_64 with new kernel (bsc#1205254) - remove files: drbd-9.0.30~1+git.10bee2d5.tar.bz2 compat_genl_maxattr_in_ops.patch convert_to_blk_alloc_disk.patch drbd-Fix-abortion-of-a-connect-2-phase-commit.patch - add files: drbd-9.0.30~1+git.8e9c0812.tar.bz2 bsc-1192929_02-move_kvmalloc_related_to_slab.patch bsc-1192929_03-polling_to_bio_base.patch bsc-1192929_07-add_disk_error_handle.patch bsc-1192929_08-have_void_drbd_submit_bio.patch bsc-1201335_03-genhd.patch bsc-1201335_04-bio_alloc_bioset.patch bsc-1201335_05-bio_alloc.patch bsc-1201335_07-write-same.patch bsc-1201335_08-bio_clone_fast.patch bsc-1202600_01-remove-QUEUE_FLAG_DISCARD.patch bsc-1202600_03-block-decouple-REQ_OP_SECURE_ERASE-from-REQ_OP_DISCA.patch bsc-1202600_04-remove-assign_p_sizes_qlim.patch- drbd failed to build for x86_64 with new kernel (bsc#1205254) + bsc-1192929_01-make_block_holder_optional.patch + bsc-1192929_04-pass_gend_to_blk_queue_update_readahead.patch + bsc-1192929_09-remove_bdgrab.patch + bsc-1201335_01-compat-test-and-cocci-patch-for-bdi-in-gendisk.patch + bsc-1201335_02-compat-only-apply-bdi-pointer-patch-if-bdi-is-in-req.patch + bsc-1201335_06-bdi.patch- bsc#1190359, update to 9.0.30 * fix a crash when drbd-9 node gets connected to a drbd-8.4 node, the regression was introduced between 9.0.25 and 9.0.26 * A improved approach to serialize rsyncs from multiple sources; the previous one could cause wrong accounting for online verify * fix a race condition that could cause resync operations to stall when the completion of one resync allows another one to proceed * fix a race condition that could cause an online verify operation to not terminate under specific conditions (corking enabled no other IO) * fix locking of drbd_devices idr that caused (very rarely) create/remove minor to fail - Add patch convert_to_blk_alloc_disk.patch (kernel b647ad024) - Remove patch Revert-drbd-serialize-syncs-from-multiple-sources.patch Remove patch drbd-fix-race-condition-resetting-resync_next_bit.patch Remove patch drbd-Fix-a-possible-NULL-deref-found-with-gcc-11-fan.patch Remove patch drbd-change-to-L_VERIFY_S-after-peer-is-L_VERIFY_T.patch Remove patch drbd-fix-termination-of-verify-with-stop-sector.patch Remove patch drbd-remove-device_to_minor.patch Remove patch drbd-use-DEFINE_MUTEX-insteadm-of-mutex_init.patch Remove patch drbd-Fix-locking-for-the-drbd_devices-idr.patch Remove patch drbd-fix-protocol-compatibility-with-drbd-8.4-state.patch - Disable rt build for x86_64 temporarily due to not kernel-rt still in 5.3.18- bsc#1188472, update to 9.0.29 * fix data corruption when DRBD's backing disk is a degraded Linux software raid (MD) * add correct thawing of IO requests after IO was frozen due to loss of quorum * fix timeout detection after idle periods and for configs with ko-count when a disk on an a secondary stops delivering IO-completion events * fixed an issue where UUIDs where not shifted in the history slots; that caused false "unrelated data" events * fix switching resync sources by letting resync requests drain before issuing resync requests to the new source; before the fix, it could happen that the resync does not terminate since a late reply from the previous caused a out-of-sync bit set after the "scan point" * fix a temporal deadlock you could trigger when you exercise promotion races and mix some read-only openers into the test case * fix for bitmap-copy operation in a very specific and unlikely case where two nodes do a bitmap-based resync due to disk-states * fix size negotiation when combining nodes of different CPU architectures that have different page sizes * fix a very rare race where DRBD reported wrong magic in a header packet right after reconnecting * fix a case where DRBD ends up reporting unrelated data; it affected thinly allocated resources with a diskless node in a recreate from day0 event * speedup open() of drbd devices if promote has not chance to go through * new option "--reset-bitmap=no" for the invalidate and invalidate-remote commands; this allows to do a resync after online verify found differences * changes to socket buffer sizes get applied to established connections immediately; before it was applied after a re-connect * add exists events for path objects * forbid keyed hash algorithms for online verify, csyms and HMAC base alg * fix a regression introduces with 9.0.25; it failed to determine the right device size and the connection hangs in WFBitmapS/WFBitmapT repl state; to trigger this you need to do a partial resync to a new node with different backing device size * fix an issue with netlink packets processed in parallel on multiple CPUs; the bug caused drbdadm adjust failing in very rare cases * fix a very rare occurrence of a reconciliation resync getting stuck * fix a race condition that causes a detach operation to hang; it is very hard to trigger * fix a kernel OOPS (via a BUG()) upon adding a timer twice under very rare timing * fix a counter imbalance that could lead to assertion messages when a protocol A peer disconnects with a certain timing * fix a rare race with receiving bitmap and a state change while establishing a connection * fix UUID handling to avoid false split-brain detections; this bug got triggered an isolated primary that gets demoted, and temporal network interruptions among the remaining nodes * fix resync decision to obey disk states when the generation UUIDs are equal; the effect of this bug was that you could end up with two Outdated nodes after resync * fix concurrent disk-attach operations * Fix possible kernel warning regarding an inbalance of backing device link/unlink * move some amount of kernel backward compatibility code moved from the old method (drbd_wrappers.h) to new cocci semantic patches * add support renaming resources while its devices might be in use and process IO requests * Allow setting c_max_rate to 0 with the meaning that the resync controller has no upper limit for the resync speed * Fix regression: allow live migration between two diskful peers again * following upstream changes to DRBD up to Linux 5.12 and updated compat rules to support up to Linux 5.12 - Remove patch compat_blk_queue_stack_limits.patch Remove patch compat_get_fs.patch Remove patch compat_remove_kernel_setsockopt.patch Remove patch compat-test-header.patch Remove patch drbd-fix-zero-metadata-limit-by-page-size-misaligned.patch Remove patch remove_bdi_cap_stable_writes.patch Remove patch submit-bio-private-date.patch - Modify patch suse-coccinelle.patch - Add patch compat_genl_maxattr_in_ops.patch (48526a0f) - Bug fixes between 9.0.29 and 9.0.30 Add patch drbd-change-to-L_VERIFY_S-after-peer-is-L_VERIFY_T.patch Add patch drbd-Fix-abortion-of-a-connect-2-phase-commit.patch Add patch drbd-Fix-a-possible-NULL-deref-found-with-gcc-11-fan.patch Add patch drbd-Fix-locking-for-the-drbd_devices-idr.patch Add patch drbd-fix-protocol-compatibility-with-drbd-8.4-state.patch Add patch drbd-fix-race-condition-resetting-resync_next_bit.patch Add patch drbd-fix-termination-of-verify-with-stop-sector.patch Add patch drbd-remove-device_to_minor.patch Add patch drbd-use-DEFINE_MUTEX-insteadm-of-mutex_init.patch Add patch Revert-drbd-serialize-syncs-from-multiple-sources.patch - cocci apply: linux-5.12.0-2 queue_discard_zeroes_data__no_present (48920ff2a5a9)- bsc#1179708, compat to kernel v5.10 - Add patch compat_get_fs.patch Add patch remove_bdi_cap_stable_writes.patch- Update to 9.0.26 * fix a case of a disk unexpectedly becoming Outdated by moving the exchange of the initial packets into the body of the two-phase-commit that happens at a connect * fix adding of new volumes to resources with a primary node * reliably detect split brain situation on both nodes * fix an unexpected occurrence of NetworkFailure state in a tight drbdsetup disconnect; drbdsetup connect sequence * fix online verify to return to Established from VerifyS if the VerifyT node was temporarily Inconsistent during the run * fix a corner case where a node ends up Outdated after the crash and rejoin of a primary node * implement 'blockdev --setro' in DRBD * following upstream changes to DRBD up to Linux 5.9 and ensure compatibility with Linux 5.8 and 5.9 * fix a crash if during resync a discard operation fails on the resync-target node * fix online verify to not clamp disk states to UpToDate * fix promoting resync-target nodes; the problem was that it could modify the bitmap of an ongoing resync; which leads to alarming log messages * pause a resync if the sync-source node becomes inconsistent; an example is a cascading resync where the upstream resync aborts and leaves the sync-source node for the downstream resync with an inconsistent disk; note, the node at the end of the chain could still have an outdated disk (better than inconsistent) * allow force primary on a sync-target node by breaking the resync * minor fixes to the compat tests * fix for writes not getting mirrored over a connection while the primary transitions through the WFBitMapS state * completed missing logic of the new two-phase-commit based connect process; avoid connecting partitions with a primary in each; ensure consistent decisions if the connect attempt will be retried - Add patch compat-test-header.patch Add patch submit-bio-private-date.patch Add patch compat_remove_kernel_setsockopt.patch Add patch compat_blk_queue_stack_limits.patch - Remove patch rely-on-sb-handlers.patch (187bddac0) Remove patch fix-err-of-wrong-return-type.patch (969310232) Remove patch compat_generic_make_request.patch (8615d6837) Remove patch blk_alloc_queue_make_request.patch (edaa9b0f/fb59b40e) Remove patch remove_congested_fn_congested_data.patch (34484003/9b80d46b)- bsc#1178388, build error with -Wreturn-type Add patch fix-err-of-wrong-return-type.patch- bsc#1177417, kernel oops when submit bio Modify patch compat_generic_make_request.patch Modify patch blk_alloc_queue_make_request.patch - jsc#11801, remove is_opensuse macro for SLE15SP3 only, tumbleweed not support RT yet.- update to 9.0.25-0rc1 * fix a race condition between receiving UUIDs and finishing a resync that can lead to a false-positive split-brain detection later on * fix access after free of peer_req objects, that only happened when a resync target node is paused sync source at the same time * fix abortion of local state changes in case they can not proceed due to loss of connection * fix corner cases with reconciliation resync and parallel promote * fix an issue establishing a connection when the multipath feature is used to connect to a stacked resource without a dedicated service IP * fix sometimes a peer-disk state to another resync-target staying Outdated after two resyncs from the same sync source node finish * fix an (unlikely) deadlock while establishing a connection * deactivate the kref_debug code, it has performance implicatios * Introduce the "disconnected" hander; it receives the last connection state in the evnironment variable DRBD_CSTATE - Changes of drbd-9.0.24-1 * fix deadlock when connecting drbd-9 to drbd-8.4 and the drbd-9 side becomes sync-source * fix an issue with 3 (or more) node configurations; with a diskless node and two storage nodes; if one of the storage nodes was hard rebooted and came back and the diskless got primary and did not issue write requests and the returning storage node established a connection with the surviving storage node first, DRBD failed to upgrade the disk state to UpToDate after the resync * detect split-brain situations also when both nodes are primary; this is how it was in drbd-8.4; up to now drbd-9 did not realize the split-brain since it complains about the not allowed dual primary first; for this change a new protocol version was necessary * verified it compiles with Linux 5.7 - bsc#1176749, add compatible patches to SLE15 SP3 kernel. block layer api backport from kernel v5.9 Add patch blk_alloc_queue_make_request.patch Add patch compat_generic_make_request.patch Add patch remove_congested_fn_congested_data.patch- bsc#1172761, Update to drbd-9.0.23-1 * fix a deadlock (regression introduced in 9.0.22) that can happen when new current UUID is generated while a connection gets established * Do not create a new data generation if the node has 'allow-remote-read = no' set, is primary, and the local disk fails (because it has no access to good data anyome) * fix a deadlock (regression introduced in 9.0.22) that can be triggered if a minor is added into a resource with an established connection * generate new UUID immediately if a primary loses a disk due to an IO error * fix read requests on diskless nodes that hit a read error on a diskful node; the retry on another diskful node works, but a bug could lead to a log-storm on the diskless node * fix removal of diskless nodes from clusters with quorum enabled (initiated from the diskless itself) * fix wrongly declined state changes if connections are established concurrently * fix continuation of initial resync; before that the initial resync always started from the beginning if it was interrupted * use rwsem _non_owner() operations to avoid false positives of lock-dep when running on a debug kernel * fix a sometimes missed resync if only a diskless node was primary since the day0 UUID * fix a corner case where a SyncSource node does not recognise that a SyncTarget node declared the resync as finished * update compat up to Linux 5.6 - Remove patch without_pr_warning.patch since change in 7e6a20f7- jsc#11801, enable buildrt for Leap15.2 but Tumbleweed.- bsc#1166298, Update to drbd-9.0.22-1 * introduce locking to avoid connection retries when UUIDs or relevant flags change during the exchange of this data * improve serialization of events after loosing a primary * fix a constraint in sanitize state that can caused a promote to be deliced by some other node * fix a case of a false positive detection of a split brain condition * allow a resync target to switch to the resync source with less bits out of sync * fix bitmap UUID after resync to use current UUID from self rather than sync source * fix pushing bitmap UUID into history when changed * fix regression introduced with 9.0.20, that can cause a missed resync after a reconciliation resync * fix regression introduced with 9.0.20, that can cause a missed resync after a promote on a diskless node * fix UUID handling in case a node promotes during (a short) reconciliation resync * fix removing of a diskless node when quorum is enabled- Update to drbd-9.0.21-1, require coccinelle >= 1.0.8 * fix compat for write same on linux 4.9 and the Debian users * fix kernel compat for linux 4.8 and 4.9; this mainly affected Debian users; The symptoms where slow resync and resync getting stuck always at the same point * enable resync of lost and re-created backing devices (think lost node) when the backing device was thinly provisioned and its current uuid is pre-set to a 'day0 UUID' (by LINSTOR); that works by copying a unused bitmap slot which tracks all changes since day 0 * fix attach when bitmap is on PMEM; before it was set to 'all blocks out-of-sync' upon attach * avoid doing reconciliation resync multiple times by updating the resync target's dagtag after if completed successfully * return disk-state from Outdated to UpToDate when it loses connection while in WFBitMapT and we have a stable and UpToDate peer * new option --force-resync flag can be passed to new-current-uuid, that can be used to trigger initial resync without touching the role - Remove upstream drbd-update-resync-target-s-dagtag.patch - Modify patch suse-coccinelle.patch to adopt spaas- bsc#1159786, fix build issue against v5.5 add patch without_pr_warning.patch- bsc#1159333, back port patch for duplicate resync. add patch drbd-update-resync-target-s-dagtag.patch- bsc#1158446, fix metadata limit due to 64k page size of ppc64le. add patch drbd-fix-zero-metadata-limit-by-page-size-misaligned.patch- Remove obsolete Groups tag (fate#326485)- Update to drbd-9.0.20-1 * fix a case of false split brain detection if a diskless node promotes multiple times, by aligning the rules for generating a new current-UUID on a diskless nodes with them on a node with disk * check if we still have quorum by exchanging a drbd-ping with peers before creating new current UUID after loosing one peer * fix after weak handling to not interfere with reconciliation resyncs * retry connect when one of the relevant flags changes during UUID exchange * fix reconciliation resync if one of the secondary got an current-UUID update * fix resync to make progress after it was paused by an other resync operation * fix false split-brains when a resync source changes current-UUID during resync operation * fix restore of D_OUTDATED when the resource first only attached and then the peer objects are created (in contrast to the usual, new-peer, attach, connect) * abort creating new current-UUID when writing to meta-data fails in the moment where the new-current-UUID should be written * removed DRBD marking itself as read-only when secondary; this flag was exposed using the BLKROGET ioctl; that should be left to user-land use; recent KVM checks that flag, and does not dare auto-promote when set by DRBD * fix a small memory-leak when creating peer devices * fix a possible information leak of kernel memory that pads net-link packets * completing implications of "allow-remote-read=no"; i.e. when not to create a new-current-UUID as read-write access to the data set was lost; also fail both reads and writes if reads are no longer possible * new option value "rr-conflict=retry-connect"; that helps in scenarios with quorum where stopping a service takes longer than a temporarily network outage and DRBD's reconnect * code cleanups, introduced enums for remaining magic numbers * new kernel-backward-compatibility framework based on spatch/coccinelle, replacing an unmaintainable moloch of C preprocessor hell; Merged the complete kernel-compat submodule * ships with pre-computed compat-patches for main distros' kernels; in case an other kernel is found it tries to use local spatch, if that is not installed the build process tries to use a LINBIT hosted web service to create the compat patch ("spatch-as-a-service"). * compat with up to Linux-5.3-rc2 - Modify patch suse-coccinelle.patch to adopt spaas- bsc#1151579, fix collinelle default path and always trigger in obs Add patch suse-coccinelle.patch- bsc#1146117, disallow dual primaries when not configured. Modify patch rely-on-sb-handles.patch- Restore higher summary specifity. - Drop old-age %clean, %defattr.- bsc#1149945, update to 8e93a5d93 (drbd-9.0 branch) * Coccinelle support * compat with up to Linux-5.3 - Remove patch compat_no_bioset_initialized.patch- Update to 9.0.19-1 * check on CAP_SYS_ADMIN instead of CAP_NET_ADMIN for certain operations * fix detection of unstable resync * fix possible stuck resync when resync started from an other secondary and later continued from a primary * fix NULL dereference with disk-timeout enabled; was introduced in 9.0.9 * retry connect when own current UUID changes during UUID exchange * fix quorum tie-breaker diskless logic for settings other than "majority" * disable quorum tie-breaker for 0 voters * fix dax_direct_access() error return check * fix resync stuck at near completion; bug was intorduces with 9.0.17 * unblock IO when on-quorum-lost policy is changed (suspend -> io-error) * introduce allow-remote-read configuration option; set it to "no" for DR links you only want to write, but never read * only complain about UUID changes during initial handshake- Upgrade to 9.0.18-1 * Fix an IO deadlock under memory pressure * Fix disconnect timing in case the network connection suddenly drops all packets * Fix some misbehavior that surfaced with Ahead/Behind * Fix potential spinlock deadlock in IRQ * Minor fixes: forget-peer, _rcu iterators * Quickly stop resync during AHEAD/BEHIND by introducing new packet for that purpose. * The quorum feature can now use the connectivity to the majority of Diskless nodes as tiebreaker * Access meta-data using DAX if it is on persistent memory (NVDIMM or PMEM); For write intense workloads this is a x2 to x4 speedup! - Remove patch fix-make-error.patch since merged into upstream(46e8e3fc)- Upgrade to 9.0.17-1 * Fix UUID handling of a diskless primary that has not peer with usable data may not touch the current UUID * Fix resync-after dependencies; cross-resource dependencies and missing resources * Fix resync when the sync source suddenly connects to a more recent data set via an other connection and becomes sync target on that other connection; pause first resync; fix wrong display of negative resync progress percentage in this case * Fix volume numbers between 32767 and 65534 * Fix the data integrity implementation; it was broken since drbd-9.0 and reported only false positives * Fix for a corner-case when a promote action happens concurrently with a reconciliation resync * Improve resync code to be able to fully utilize fast storage backend devices and fast networks with resync traffic; as a side effect the settling time of the resync controller got shorter in for most cases * Show in the user-visible message who the opener is if if demote/down fails doe to someone holding a drbd device open * docker file for a "load drbd module container" and allow to disable user-mode-helpers, which is necessary for this container - Add patch fix-make-error.patch for build error of make against TW.- bsc#1118732, split brain handles malfunction when 2 primaries. - Add patch rely-on-sb-handlers.patch- bsc#1118841, kernel compatible issue. Have bioset_init but no bioset_initialized - Add patch compat_no_bioset_initialized.patch Remove patch compat_have_mempool_init.patch- bsc#1116820, kernel compatible issue of sle15sp1 - Add patch compat_have_mempool_init.patch- bsc#1115606, Update to 9.0.16-1 * Fix regression (introduced with 9.0.15) in handling request timeouts * Fix a possible distributed loop when establishing a connection * Fix a corner case in case a resync "overtakes" an other one * Fix clearing of the PRIMARY_LOST_QUORUM flag * Check peers before generating new current UUID after loosing a node * In case the locally configured address of a connection is not available keep on retrying until it comes back- Update to 9.0.15-1 * fix tracking of changes (on a secondary) against the lost disk of a primary and also fix re-attaching in case the disk is replaced * fix live migrate of VMs on DRBD when migrated to/from diskless nodes * fix an IO deadlock in DRBD when the activity log on a secondary runs full * fix hanging demote after IO error followed by attaching the disk again and the corresponding resync * fix DRBD dopping connection after an IO error on the secondary node * improve details when online changing devices from diskless to with disk and vice versa. (Including peers freeing bitmap slots) * new module parameter to disable support for older protocol versions * improve details when online changing devices from diskless to with disk * remove no longer relevant compat tests * expose openers via debugfs * optimize IO submit code path * compat for v4.18 kernel- Update to 9.0.14-1 * fix regression in 9.0.13: call after-split-brain-recovery handlers no auto-recovery strategies (not even the default: disconnect) would be applied, nodes would stay connected and all nodes would try to become the source of the resync. * fix spurious temporary promotion failure: if after Primary loss failover happened too quickly, transparently retry internally. * fixup recently introduced P_ZEROES to actually work as intended * fix online-verify to account for skipped blocks; otherwise, it won't notice that it has finished, apparently being stuck near "100% done" * expose more resync and online-verify statistics and details * improve accounting of "in-flight" data and resync requests * allow taking down an already useless minor device during "down", even if it is (temporarily) opened by for example udev scanning * fix for a node staying "only" Consistent and not returning to UpToDate in certain scenarios when fencing is enabled * fix data generation UUID propagate during resync * compat for upstream kernels up to v4.17- bsc#1090167, Update to 9.0.13-1 * abort a resync if a resync source becomes weakly and the sync targetis a neighbor of the primary * fix UUID handling with multiple diskless nodes * When a data-set gets into contact with an all diskless cluster, make sure to either set it to "Consistent" or reject the attach * correctly handle when a node that was marked as intentional diskless should get a disk * fix outdating of weakly connected nodes * made returning from Ahead to SyncSource more reliable * fix a hard to trigger deadlock in the receiver * fix online resize in the presence of two or more diskless nodes * fix online add of volumes to diskless nodes when it already has established connections * Set the SO_KEEPALIVE socket option on data sockets * automatically solve a specific split brain when quorum is enabled * Compat: Added support for kernels up to v4.15.x * new wire packet P_ZEROES a cousin of P_DISCARD, following the kernel as it introduced separated BIO ops for writing zeros and discarding * compat workaround for two RHEL 7.5 idiosyncrasies regarding refcount_t and struct nla_policy - Remove patch support-timer-setup.patch. Upstream fix 74b1cbb274- bsc#1080458, enable build with kernel-rt on x86_64. - bsc#1080459, support build against 4.15.0. setup_timer() change to timer_setup() - Add patch support-timer-setup.patch- bsc#1077318, Update to 9.0.12 * Fix a race condition in the device_open code path that can cause an internal counter to go negative - Update to 9.0.11 * Fix bug in compat code: Without this fix large bios are not split.- bsc#1074169, Update to 9.0.10-1 * Fix resync of two secondary nodes in the presence of a 3rd node that is primary (maybe with disk or diskless); Fixed the race condition that caused the resync to sometimes not terminate * Improve connection behavior with autopromote enable one node Primary and udev present. * Fix in memory alignment of DRBD's struct bio. * Improve the quorum implementation, so that is works nicely with for the purpose of replacing fencing with quorum in a Pacemaker setup. * Ensure compatibility with upstream Linux kernel 4.14 - Remove patch reproducible.patch- bsc#1068587, add build request libelf-devel to build.- bsc#1062749, disable buildrt against SLE15 x86_64 temporarily. This change will be removed when rt is ready.- bsc#1061981, update to 9.0.9 * fix occasionally forgotten resyncs in installations where diskless primaries are present. * fix an issue that causes unexpected split-brain upon connect. * in a cluster with a diskless primary, when a server goes away, and is not outdated, outdate it upon reconnect. * fix update of exposed data UUID on diskless primaries. * fix a possible OOPS when in a debug message regarding bitmap locking * fix discard bigger than 1MiB * fix left over bits in bitmap on SyncSource after resync * fix peers becoming unexpectedly displayed as D_OUTDATED at the end of a resync * fix a race between auto promote and auto demote of multiple volumes in a single resource * Speed up down of many resources by using call_rcu() instead of synchronize_rcu() * Make it compatible with the soon to be released 4.13 kernel - Modify reproducible.patch since part of the patch is merged- Add reproducible.patch to sort file lists (boo#1041090) and to override build date (boo#1047218) to fix build-compare- bsc#1045473, update to 9.0.8 fix a race condition between adding connections and receiving data fix a OOPS on a diskfull node when a request from a diskless node fix a distributed deadlock when doing a discard/write-same burst fix an issue with diskless nodes adopting wrong current UUIDs fix wrongly rejected two-phase-state transactions fix initial resync, triggered by "--force primary"(regression 9.0.7) Speed-up AL-updates with bio flags REQ_META and REQ_PRIO Merged changes from 8.4.10 and with that compatibility with Linux-4.12 - Remove patch fix-initial-sync-stop.patch - Fix the license to GPL-2.0+- bsc#1038852, fix initial sync not triggered add patch fix-initial-sync-stop.patch- Update to 9.0.7 Using 9.0.7rc2 for upgrading from rc1... - bsc#1028124, fix kernel compat - Fix a potenial split brain - Change the drbd-utils requirement to 8.9.11- Update to 9.0.7rc1 - various fixes to the 2-phase-commit online resize fix fencing and disk state trasition and from consistent, necessary for crm-fence-peer fix calculation of authoritative nodes Quorum to avoid data divergence, an alternative to fencing Compat with Linux 4.10 - Remove patch drbd_wrapper-Blank-out-WRITE_SYNC-warning-for-new-ke.patch - Add fix-resync-finished-with-syncs-have-bits-set.patch for bsc#1025089 - Including the compatible fix of bsc#1031299- Compability fixes for SLE12 SP3 (bsc#993388, FATE#321732) - Add patch drbd_wrapper-Blank-out-WRITE_SYNC-warning-for-new-ke.patch- bsc#1025585, upgrade to 9.0.6- Excluded openSUSE from RT KMP build (bsc#1005578)- Enabled RT KMP build (bsc#1005578)- bsc#1006176, compat with kernel 4.8 with 9.0.5- Upgrade 9.0.2 to 9.0.5 - Remove patch compat-4.7-9902af79-i_mutex.patch Remove patch compat-4.7-fe8fb75e-blk_queue_write_cache.patch Remove patch compat-4.7-50225243-kill-nla_put_u64.patch Remove patch compat-4.7-1dee3f59-align-nla-u64.patch Remove patch drbd-buildcompare.patch Remove patch kernel-4.5-compat.patch Remove patch temp.patch- bsc#983633, upgrade to ver9.0.2 to build against kernel 4.6/4.7 - Add patch compat-4.7-9902af79-i_mutex.patch - Add patch compat-4.7-fe8fb75e-blk_queue_write_cache.patch - Add patch compat-4.7-50225243-kill-nla_put_u64.patch - Add patch compat-4.7-1dee3f59-align-nla-u64.patch- Compat with kernel 4.5 - Add patch kernel-4.5-compat.patch- Remove timstamp from binaries Add patch drbd-buildcompare.patch- Update to release drbd-9.0.1 - Depend on drbd-utils >= 8.9.6- Update to released drbd-9.0.0 - Remove patch 0001-Support-zeroout-device-in-initial-sync.patch - Remove patch update-to-8.4.6-5.patch - Remove patch rename-GFP_WAIT-to-GFP_RECLAIM.patch - Remove patch new-bio-struct.patch- BSC#955968, support GFP_RECLAIM in kernel4.4 - Add rename-GFP_WAIT-to-GFP_RECLAIM.patch- BSC#950477, support new bio struct in kernel4.3 - Add new-bio-struct.patch- BSC#950477, update to 8.4.6-5 to fix bdi congested. - Rename 0001-drbd-Support-zeroout-device-in-initial-sync.patch to 0001-Support-zeroout-device-in-initial-sync.patch - Add update-to-8.4.6-5.patch- BSC#947460, add rcdrbd symlink.- Fate#317940, merge patch set into one patch. - Support zeroout/discard-devices instead of zap-devices - New feature flag FF_DISCARD - Add patch 0001-drbd-Support-zeroout-device-in-initial-sync.patch - Remove old patch set: Patch 0000-cover-letter-fate317940.patch Patch 0001-drbd-Fix-the-wrong-logic-of-moving-history.patch Patch 0002-drbd-Add-options-zap_devices-to-new-current-uuid.patch Patch 0003-drbd-A-function-to-zero-out-drbd-backing-device.patch Patch 0004-drbd-New-packet-P_ZERO_OUT.patch Patch 0005-drbd-Functions-to-notify-peer-node-to-start.patch Patch 0006-drbd-Wapper-for-zeroing-out-device-by-worker.patch Patch 0007-drbd-Flags-for-background-drbd-device-work.patch Patch 0008-drbd-Function-to-work-with-packet-P_ZERO_OUT.patch Patch 0009-drbd-Receive-zero-out-command-from-peer-node.patch Patch 0010-drbd-Handle-new-current-uuid-zap-devices.patch- BSC#939778. Add obsolete of old packages and a description for KMP package. - Require kernel-source-rt for RT.- Fate#317940. Speed up initial sync by supporting zero out device. Patch 0000-cover-letter-fate317940.patch Patch 0001-drbd-Fix-the-wrong-logic-of-moving-history.patch Patch 0002-drbd-Add-options-zap_devices-to-new-current-uuid.patch Patch 0003-drbd-A-function-to-zero-out-drbd-backing-device.patch Patch 0004-drbd-New-packet-P_ZERO_OUT.patch Patch 0005-drbd-Functions-to-notify-peer-node-to-start.patch Patch 0006-drbd-Wapper-for-zeroing-out-device-by-worker.patch Patch 0007-drbd-Flags-for-background-drbd-device-work.patch Patch 0008-drbd-Function-to-work-with-packet-P_ZERO_OUT.patch Patch 0009-drbd-Receive-zero-out-command-from-peer-node.patch Patch 0010-drbd-Handle-new-current-uuid-zap-devices.patch - Delete useless patch init-script-fixes.diff - ExcludeArch i586 and s390, since user space split into drbd-utils.- Update to 8.4.6 - With DRBD module version 8.4.5, we split out the management tools into their own repository. Started out as "drbd-utils version 8.9.0". To manage DRBD 8.4.5 kernel modules and above, want drbd-utils >= 8.9.0 - fix failing of user space helpers since kernel 3.13. This bug is known as 'out of mem, failed to invoke fence-peer helper' - fix connection timeouts for resources with multiple volumes - fix an issue with DRBD on linux software raid by properly remapping bi_bdev - fix a (hard to trigger) race condition between promoting to primary an connection handshake. In case the bug was hit the Primary got stuck in WFBitmapS connection state - Fix a NULL deref when resuming IO on a diskless primary - Fix compile issues with uncommon architectures - improvements to asender performance. With high end backing storage and networking equipment you may see IOPS improvements between 25% to 50%. - Highest number on a single drbd seen by LINBIT so far: 160000 IOPS - backport of events2 and status commands from drbd9. This allows to be DRBD9 compatible starting with this release, and to get used to DRBD9 compatible status reporting - support for lsblk in drbd - Update to 8.4.5 - fix potential BUG_ON in mempool_alloc for older kernels (<2.6.23) - fix cornercase of resync finished detection - fix drbd_ldev_destroy to run exactly once and in worker context - fix spurious detach/disconnect: don't announce WRITE_SAME - fix NULL pointer deref in blk_add_request_payload - (DISCARD/TRIM handling in sd) - fix regression: potential NULL pointer dereference - fix regression: potential list corruption - fix regression: potential deadlock in adm functions (drbdsetup) - fix regression: /sbin vs /usr/sbin in scripts - fix race stopping the worker thread - new debugfs presence expose oldest requests and other details - userspace moved to own repository - linux 3.13 and 3.14 compatibility - improve adaptive resync controler - reduce bitmap IO during resync - allow write-ordering policy to be bumped up again - trigger tcp_flush_pending_frames() for PING/PING_ACK - fix potential segfault in drbdadm adjust - drbdsetup improvements: fix netlink socket buffers; detect modprobe failuredrbd-kmp9.0.30~1+git.8e9c0812-150500.2.249.0.30~1+git.8e9c0812-150500.2.249.0.30~1+git.8e9c0812rcdrbddrbdChangeLogdrbdCOPYING/usr/sbin//usr/share/doc/packages//usr/share/doc/packages/drbd//usr/share/licenses//usr/share/licenses/drbd/-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:SLE-15-SP5:GA/standard/350aa1b4f3f8d1eabcd7ac4baff91818-drbdcpioxz5s390x-suse-linuxdirectoryASCII textdrbd-utils9.2.0 utf-826b5daabf8dd6059bc057d1d725026d876b9eda3d360d3c30f589336dc8cf8d9?7zXZ !t/kK] cr$x#H>x(y 5e!y3vnͤN{PʱDm@~  KF]3ZZ &{B,ՃD~ mcU1Ƶ(N2(儆n4;PwGB-anvI bcAMh' # XH],/v/^aͭ+qvwiZ_dK G?=y\qؕ1Qu9iVtm 7iPD ~90EINlȯp >-:%?NyctὙGM0!iÒ- , Iˢ߾U՝ OKû'dXfϓB 4hd5M AxUv#t=0Wc}YT*HGN!L) sn~E}{;pdv5\jveQ^eJjî/˝#嵖(crν&I 9xGP. ֜_׎"4aP]m W8]Gbe8 -{\tMrp,4{zrmX>D `5 JN0#RۓJ) '/ :+LE׭ͭTړs+Aƙ*/@ ʃLtG#]uxj˖$sI@aݟĝT{:djڹʯ1-̬tۺ ̑IH?)_unkk0Ui 2Tu`$;pj"ٞL=p;Iz v\LŶQUJvi צ~4?wBW=YG^\i"Q*E~*E˽ +nx7+1HMg->lLqzX%CKZ* G4P=`tQƌd_ Vv\1ժXm׶!ekS_2b ;8;< M4 uj*N*ݴs$T-ALc=SOF^>~G𓕓(4QEJ;k:U z1#$2?(qoۜɧb0i^8C4=$ATv(٣-f~4klG =ޕ]M&KdYLZރ)|0&\L?uu>kmu#7ʑV\'05sőF0v8|rƦU*v'I^3 'X4%O\хPaⴲ[݇KXQm.xʒ ;>U{NЎiwhrʛc~5 !xAV[ cI̝~u)CI^O1<9]hG:tR;?`E&XA1Ec*%R f{Sb{kRg 7 D_6.]ƚ[am !!?vXwr vb೥؛6xFն}[҆.@z*s:#l>N&jÉwwВt ի_i5}%E =^w^c'؅.)r>:{$f!#=vU16'/[5[jrE0N]oic keT}[@Ue5A6/ r6ē'As8Y \ߎBb=X"T-+lA0 *g`lH^n2?5<L=W ݇F` el fҺG}LG_[6Di@N;Jz #7 2!yсV.UeR[}n'j@ULMSŜ6( Dll\1mZH'+`Ϛ|qQY1ᜀFa KPh1%zo$=Rw!g}Z<{xҩbv+k\HHSUeY$ GC(8-s2M"-z.e1bNz4KN` cc՚h3VD9m3xdEhC D=x?3q:A5D/V#(~pT" ],n B U$d;{+(I N*]ܶ3}uQRaMFqgƅ0^@M,jR(JHvp6+zy rx32u2gȃ$L+Nj(7yuTd.]zKm4u(*P.$y]ec,ȃsgDn!9ek=Z0Euv'5h!괕@k[uOMÊP⭘02vz&pOdĽVsFW`YJykHlӸHh'pĀd׭>hBgKZp2Ĥz;cOJy|xy;(߆gdn*VH[h۽N]S\ekvEC9|Q| gng#N:1{)D>w;G*iʇU O9:W[oEL2UhzT;9Io&2J?j}Q*{m,xj DHib4}Bݶ梠%[ iֆo_̭6U'4Y ` õ:OxY*oopSW͞ΚF'1rsÑ#4Hfa?Q!b)[zLt9B ';Ar Ф/7UJM$ dS2O峢K1p#oL TTTn3hPꠍדzP^.1PQn񶇣 *2C(NXzAd\c=U50Fy9k̵O!$:zlv5Jqs#u]8oB@Ym}{Ũ!W 1Z|vlLؖBV1)T'#9`{> y T#.eEL]C& o*-}~z=3H*=z'\Q=g)UҦVAE-P }<0;F9㋀iѠ| CI0[ܗcn6 as@_##yGY{2LTI? *C:7*\iۯ?Ę!y >yuX&lg"6rc3:|] V-[Ơq_|r C;>)NHϲKad9hdmf4]6pO7s#*S-n望❡Werqji&80 B%x${n>2OK)7R'Di+i0\'y@H.?}\;r|3ᑷdY>?rmlsTeVA8,a0XL鍼.d wK!W{AHUO_ĖFלSwKiSWQ˙EBk @EkSjHtEF$ [ғ^ BH=Ifw\tį= n+U9g-)Y *0jc4gV_ X;=`^"$~gIJ[s}kBݿEA"!lv& Whrե^31NjDEkHLm7H",r JwXuAw\W04gav{,Z̒0z$iW^;9JAFn %8|@8WtHl_>5kKjv۞3:9 S}+<ĺ+ŋ( hHPbA3Z *3B/' I/(6Ó8QiȄQ 4;cY671Xj/]ls&EE6C K:(3eAabK:#}u,y#ʴr--hX:)jQb(}cM-=yl#sUHU@- ]tB.s}f4{ duzQgycU{l#M}K/vǥ$2B. ;IӘJ*ugSc> yb̻+AT5835g%=BO媪}ٽV)uD幢*2H"u7ыcHJW˶6G2聟d}.w!ǃc'Wvov@-Er;Hfٌ&- o"˫6rT5vPȦ*! 3PUf ~w`yra8Bt'=0=+\%z;TpjOmLMrZ1zq\H|+c VnեSnb]՚Ӵ{:RD :7m̒In -GIꙡ~|r8]COq%gZ+ͬ\b s@هu⎏c\Ԡy;ϿY5M'XrpŽw+\MBKwN# Lai5{'v_U쉝g٘), ' 1W/!Tz7.: g8 D0~lRʃWxHh+!OKUZ@'V9c(p0'v %[OI|Ľ`,=oX )L~gYUjtxx YՆZZ k+Oãȃ0zG ?QYPo!p݀= H_MsC,jT-PwWa G_Fq8\IYRpI{M/¹5(坊pQʦWMQ54zClB 5v3X.*B\tW̑Z4~Mf`QyȾ!e}s-̩H8qF/mPuŪ $/R~73GȰnfZ2h,*?Srep"B}7O`=XAsZUh4~nz Ml{03-<=BDQ;z8襸sk_فTJc1_ӟ E_~x簜߳=+xI:u 3!x9b$$͡} p108#­Ư "d$6K ZE 'gp.e?q=GQH} zYyqmt笠?0EZvmfRjҧUlD8]qO&'f  Δ"$6i]Ǧ"E+Hf,b$ 5~Սק-yJ8|)OŒ @GZd :(a2Cy[X:2]>c6%/j4= ɎNǡrLC{LOVem 7 f=uIi&]u!-Faxj98z}@J y6Ba7\ ؾfڥtYMw3eā-~D&g=N^f2o(".F 0'= gIj B{~&痠OEF'$;DPF"C0Z5 B$F"H'O#E R|"ѡBId&갡xxs  唙=KǮ=klc)C7\?9 )qHydWp*k;d؇1_ *HƓg⸵FCQۦ}J'o`7<~b(4^SϸTNy/MadPZQQ Ycu}9D&x?6')=L*b%tLх. Mmf0X=*;C_&2V : Kul(T=KDSeqЪyC}[%_-XIS^!鲐*# M#JcXT?1 Vgs]"Sa|y  fJ-5DUN^^OcmX+/L*CJcB9P75>;qb6? ߆yAx1m]Y e@kZf 2:S\W%6QKB<ߺ$2hzNdаVۂ@Jf0d2e9;o凲~$#* ci#St_V;B;q,tzqtlNp 972~Fqk$ㅴpoܮ˄ԝ\s \~. #l.0!Ou)'Z,Nqwz/ʈ| Rex*7z܏:ji7f#A`cA:{p%p)oo:Z$4R*?If6I>^<͸ t_9GaM{6*$"xV7?d+Aq~; ŹZ 7kxg6UFla~."mGJ)* AgمVO?*ioy;I~δ6rA?X>Ӱ|qa$d6UcbsG$i"I@cG'B+Fy磀R &S&a<~2n佺k6WVQ=I}ֹ ɇR=eW/v(P E]lhyżv`Op7 ]"ڬCi*e?^;X Z5kz}`?CJrg.m M5Xk߾l˽Eo\C }ۿU+= v6b3f[#h$-5 `(,ddGԏͭr,Ùfmؤ>^^T.4ci W}4qVv&|)Cgb#ʁ/mQ 1 "UD: .hxנp<5das!nHzp"dTBghinnƏ\`1|%VN{`-Ս=k̦k8r3+-g@1|oJOS4Ay#p~o'6k1~.󗰪Ľz껌[Y${5}'\A4vAOqrIU˶x¢÷_9Vman5#ļZB'TX hK o}8BC&CҩO|Jbdhi5ms+sbF2_ e2;p킝ǾTW? L5@EP`#2d]uUZ1`Xja|ATr*U9q'nTB>UWZ2o667|gA6)TcQ6ưҢ9Y1?wunt.@eR}Ȭ3\xY+wa_–0xa n iT ܒ 3U~v c8:j ijNHg.wOCQؑX8Z;*2[slXN}uM c:'7j=CvnN\Z=yjqH*b=qY %mN<2^7Yi%u-E2W14{8Cf.:H5ڑ:Rn++L;']BZB*L膰_/fEiLa8%\np<`\_X$ :x{0F6)^Tr[VpǣJU2E(#V[s8!H3nF: zJ@D0KmG'fnLU"lu<78eCIRNF%\] "e=LoQ@8)fxӲcou#I=XZ- Firn"shU]qpݶ5).z\:SJZɤR)y\\%#]ē/.v]@ZZrWg׋*S͙woA٥'JAݡ>pЬas9}+2n죔axg9lXQES1;H%o}3N&Djgb+LkX_h6Ɏzĺ=ˡ^zMP8WErc8O688ֵX ?*;Bͦ!+=|kKl 1b~0[hz$AX3~4vFBXV@K}1ObfTOɖ_$nź*_!ǑYG.@{P1 w`P]С\p<]9GTKL+3`vx5y:*Ux;S jzl>t6=kQ{hRRp`/3o:2|=ghL#}% 8A&0yy8l{U/Rh/" UN =Ybx ]LM/;䎁A1"_A}hO ┭6&e|sJ28 i3ɶS7C2/%W G90a@B?۱AآEA( a>A`cY#>_OS}" g;U'r-Z~(-4YNZzlb,PG:W(+5N'uyY 4-DWX0vջrN*07{zGc{tdANgʑq7^;;3[d3C 3jVm2M 2UꖳM(xy)Ix~s9x|{n$l.ŶP"pVӦ)wtoy̔z%hK)d})sR㡽MPhWi.?&6ToeE)c[5j6WX؇Z:wѓ eWEƿ6 ',BmMȈ=MrDP ױuu cj Z z͹WцE}P&d1&vaZz:-+b `(0 xٜ1(o 4 nb1z?J4!`_毤}e`MCϐ>/ߺװ[8ṂCWC$_ " z;$`C܊P()}@ě'_y)鴨䝒U# yNF-''{s?jT`g1͖\*18)Izd0CsC nKoiB``=`@͢ ˜" X81go=NSlbOŗH~Fkp.%~'')4Ś;yq+­іl6{P)i|ŖCjspHR(`^>:|ͥqL-cKЄ ̌LJPV)C9QG$sL|#XEt6"|HK'^@TQw(A\Jc>3#E;70mXNi CW\/6tyFCd 8~`#a ' jYGv-+AOuRNխ1}sT+NF@0}!]kZO0ueeaY__@d4 cFztEy5YK GdU[bv3ِ͟8$7>&3DrWeM]ԢkޓڠGOpCKŢ0?.~68)CZ󧃪Pyr)-z~!}]NuT.Ƨ  )Y*ȇV]Aj#R*S!FzQ>Owͱ![îc7rrUlअ\Wn$SY5Q͜YN]6hɾ'+ѥjNdgLS!&dy~e*omTϐYix3Լvv` m ɣuV³eK=|Ffgw4X2nS̓zjrcH ^2'4蛀:j7D}: A Ip(oM.%R`a?_APGpF|rwO jWi!w)w73?xp7P*wx!SHlzߚ\TR'j_j஫؋`E M6ѧ5:ϗpul84w 2VkhN(¤o_Fj@4+ѮdlUeQ3Wf1/YD?[Ry =Ҫ;_{zFĢd-]W0Zn*%ڊ~^XDaXIqls$2ntSGjįyeKp8lEXU`zlde ֚Dg_ГpaMp`@e)w)+;:t.^~ Ur3KBTԟtw._0,ڝѫXzy*zpqp>e'8:R"Huϊ1R$(o[ׅO0|J_|jVHFxed[W: L }R<פ>{aPą6ܥ'f4'lJj*2F`M`#aCܰ&:(ʑF@yquf Y8 hҏn3DCW aZSe0;jnoɄ"x n+-3** y̅[vqD&{6 4w܏3d~-wHI2@g+yɶXCymSefc31цvį'ðA} Q{'DHk)cW܇' D^-ƻe}-bgeXX:w B:&"R&hy,5\DZ|a%3С2eBo#i,ns/G9l^vB0_RFgFR,(% Xz{ J߁^T+YT\Gn. ߐ;/}ZH;!&B\m7L;> 7nWcilDi8,$0i1Q )g?o30yP^k߿w{$99o:`_Hc=;ĚaˏFT1冗z:X+AKÈ𫉷Bh3|ؤUv<)W[BN}{i#`jƧ@^h{;NnW-hĩX+7SXU-mA>Mmb0 o;U!Bh-vsZSF(!Bz#αώșaq*dl42}tE7ϖV X,~#f5FHzQqG'Ou`9x2DC M+A Gw^Qۢ$Z$'čY2$1I-nhzvp!XUӅMɋpP}b' <#}8Y~\M/L';1lyXrVqtZāI/KG2hv;̐}%L;pAGUQYK7\cn \Ы(ih9m-Ze_+FЩ 6k&XhAHIFJ{j@>Z蝻dž|%M=|>Vͽ*+|2EyB.F)Pۮy/d{IKV\ڞњU_5vKNÙ)̂|o2vΪ'q`~|_닛~8^$i+ĒtLPiDpה[o^T5KܰQ##PkUV0:r%M _..u~YB 4'n4E;\0cS {J O3?bS07 j:2/Y&MmDZڅ2LU\M^KrUnB9p}kbׂX&8CBgWZ:o g,ZH B7dE9;*F0Uَv/L2liQNWE϶'ML+K0YwĵJ}Mx?J1ʻ7}٧bf5ղr l.•rE ^zYtyHk T&P-_gߎ߻)L:T{Yĩ=Ȁ7>Ў@:+C讄@7pݵH_N"JAxRoG;pz횡6vD!;Pz+r#sl \7y5?z|,*vxM*^V&}\A]XBb/Pnˏ ¢:68)\'D\A>Ls\"г3x CT/w{כ WhTne>>tڋz.bit& JlXO'uBI}L G5N} ;JH~E+!z Ĥ.]xəe޷Cnia<=}oyu$GiwFeQԣG^'X1G7QwՃTb\v5.87]ɬ|]%g=mR|%4J00;Z">$ 4)lhMTp90q#))"k9rƊZ+4抋9viYxч&4L. $z *!fE fE>5ϼd 2i76}c ~I*n ZOXKUCT !4uij*/ZBUc=tjXNCX/Y©4*Jr92MO'jy=;@pMITrQ> Ռ-*rCRYF3hAlc‚#e9V`@O3!`p?<'J^wmW$= (Pl`BװC +~h+#_ڤE.@]}c5F|/H-E.d xZ7X(rJllr/n4qf Nћ> Xݴgef=]F3Ncуba-<ƽHmY H[΃)"Ld8~Z7'ujqv{(ҽ lSnwDYfJ+I,{Dͭ]/l @&pw/Vnt!^clz:TI !Dxg/vem[2sQЛ`Ž1#9* :|oԖsZf VY)qy "iiɧ՚]Y{px8'ۈ %ZAwep Mő6*zvrҵ7T,[VwPi^t lt?ĪzL]hU)!|;LIh;j|{>@XkI+RwֶpB<0n'ȷ! 1`.Q3ʤj'>n))>r2*6KJi eL}Pky [/U_Ú~~˔N+mGAge~Y:r-K+v:8v`(ʹDN46(?%vH[%WîV s5(dKăƋ;ߧɸR!'l9@C wjnm