drbd-kmp-default-9.0.22~1+git.fe2b5983_k5.3.18_lp152.72-lp152.2.1<>,`$/=„3g@xBj/hэ#ZTVU 7bx@4f6킋"22Ճfn/n3u$7gAIex'~չ**=it4IV/M}9aX3 䰥DS?d: G U #,= Vb{Y    8 <L`t \+5$5(5J(5K85T596(5:95>?@BGHIXY(Z@[D\H]X^bcd5e:f=l?uTvdwxy808<ADHhlpCdrbd-kmp-default9.0.22~1+git.fe2b5983_k5.3.18_lp152.72lp152.2.12.2Kernel driverThis module is the kernel-dependent driver for DRBD. This is split out so that multiple kernel driver versions can be installed, one for each installed kernel.`$obs-power8-01openSUSE Leap 15.2openSUSEGPL-2.0-or-laterhttp://bugs.opensuse.orgUnspecifiedhttps://drbd.linbit.com/linuxppc64lenvr=drbd-kmp-default-9.0.22~1+git.fe2b5983_k5.3.18_lp152.72-lp152.2.12.2 wm2=/usr/lib/module-init-tools/weak-modules2 if [ -x $wm2 ]; then INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} $wm2 --add-kmp $nvr finvr=drbd-kmp-default-9.0.22~1+git.fe2b5983_k5.3.18_lp152.72-lp152.2.12.2 rpm -ql $nvr | sed -n '/\.ko\(\.xz\)\?$/p' > /var/run/rpm-$nvr-modulesnvr=drbd-kmp-default-9.0.22~1+git.fe2b5983_k5.3.18_lp152.72-lp152.2.12.2 modules=( $(cat /var/run/rpm-$nvr-modules) ) rm -f /var/run/rpm-$nvr-modules if [ ${#modules[*]} = 0 ]; then echo "WARNING: $nvr does not contain any kernel modules" >&2 exit 0 fi wm2=/usr/lib/module-init-tools/weak-modules2 if [ -x $wm2 ]; then printf '%s\n' "${modules[@]}" | /bin/bash -${-/e/} $wm2 --remove-kmp $nvr fi0AA큤`#w`#y`$`$04a7e40e2b81b1bfc51905a798521df2f5e8789f2dfa3cb7351e2f30615ccd1ca534f05ade9d59cb9a6e58bcad1754e134fbb34dbdbf1088fe1574d5b7592dd0rootrootrootrootrootrootrootrootdrbd-9.0.22~1+git.fe2b5983-lp152.2.12.2.src.rpmdrbd-kmpdrbd-kmpdrbd-kmp-defaultdrbd-kmp-default(ppc-64)drbd-kmp-default-k5.3.18_lp152.72kmod(drbd)kmod(drbd_transport_tcp)ksym(default:drbd_alloc_pages)ksym(default:drbd_destroy_connection)ksym(default:drbd_destroy_path)ksym(default:drbd_find_path_by_addr)ksym(default:drbd_free_pages)ksym(default:drbd_get_listener)ksym(default:drbd_path_event)ksym(default:drbd_put_listener)ksym(default:drbd_register_transport_class)ksym(default:drbd_should_abort_listening)ksym(default:drbd_stream_send_timed_out)ksym(default:drbd_unregister_transport_class)multiversion(kernel)  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@     /bin/sh/bin/sh/bin/sh/bin/shcoreutilsgrepkernel-defaultksym(default:___ratelimit)ksym(default:__alloc_disk_node)ksym(default:__alloc_skb)ksym(default:__arch_hweight32)ksym(default:__arch_hweight64)ksym(default:__bitmap_and)ksym(default:__bitmap_parse)ksym(default:__cpu_online_mask)ksym(default:__cpu_possible_mask)ksym(default:__dynamic_pr_debug)ksym(default:__free_pages)ksym(default:__get_free_pages)ksym(default:__get_task_comm)ksym(default:__init_rwsem)ksym(default:__init_waitqueue_head)ksym(default:__ipv6_addr_type)ksym(default:__kmalloc)ksym(default:__mutex_init)ksym(default:__nla_parse)ksym(default:__per_cpu_offset)ksym(default:__put_devmap_managed_page)ksym(default:__put_page)ksym(default:__request_module)ksym(default:__stack_chk_fail)ksym(default:__vmalloc)ksym(default:__wake_up)ksym(default:__warn_printk)ksym(default:_cond_resched)ksym(default:_mcount)ksym(default:_raw_spin_lock)ksym(default:_raw_spin_lock_bh)ksym(default:_raw_spin_lock_irq)ksym(default:_raw_spin_lock_irqsave)ksym(default:_raw_spin_unlock_bh)ksym(default:_raw_spin_unlock_irqrestore)ksym(default:_raw_write_lock_bh)ksym(default:_raw_write_unlock_bh)ksym(default:add_timer)ksym(default:alloc_pages_current)ksym(default:alloc_workqueue)ksym(default:arch_local_irq_restore)ksym(default:arch_wb_cache_pmem)ksym(default:autoremove_wake_function)ksym(default:bd_link_disk_holder)ksym(default:bd_unlink_disk_holder)ksym(default:bdevname)ksym(default:bdget)ksym(default:bdput)ksym(default:bio_add_page)ksym(default:bio_alloc_bioset)ksym(default:bio_associate_blkg)ksym(default:bio_clone_fast)ksym(default:bio_endio)ksym(default:bio_put)ksym(default:bioset_exit)ksym(default:bioset_init)ksym(default:blk_alloc_queue)ksym(default:blk_check_plugged)ksym(default:blk_cleanup_queue)ksym(default:blk_finish_plug)ksym(default:blk_queue_flag_clear)ksym(default:blk_queue_flag_set)ksym(default:blk_queue_logical_block_size)ksym(default:blk_queue_make_request)ksym(default:blk_queue_max_discard_sectors)ksym(default:blk_queue_max_hw_sectors)ksym(default:blk_queue_max_write_same_sectors)ksym(default:blk_queue_segment_boundary)ksym(default:blk_queue_split)ksym(default:blk_queue_stack_limits)ksym(default:blk_queue_write_cache)ksym(default:blk_set_stacking_limits)ksym(default:blk_start_plug)ksym(default:blk_status_to_errno)ksym(default:blkdev_get_by_path)ksym(default:blkdev_issue_discard)ksym(default:blkdev_issue_write_same)ksym(default:blkdev_issue_zeroout)ksym(default:blkdev_put)ksym(default:call_rcu)ksym(default:call_usermodehelper)ksym(default:capable)ksym(default:complete)ksym(default:copy_page)ksym(default:cpumask_next)ksym(default:crc32c)ksym(default:crypto_alloc_shash)ksym(default:crypto_destroy_tfm)ksym(default:crypto_shash_digest)ksym(default:crypto_shash_final)ksym(default:crypto_shash_setkey)ksym(default:crypto_shash_update)ksym(default:dax_direct_access)ksym(default:dax_get_by_host)ksym(default:dax_read_lock)ksym(default:dax_read_unlock)ksym(default:debugfs_create_dir)ksym(default:debugfs_create_file)ksym(default:debugfs_create_symlink)ksym(default:debugfs_remove)ksym(default:del_gendisk)ksym(default:del_timer)ksym(default:del_timer_sync)ksym(default:destroy_workqueue)ksym(default:device_add_disk)ksym(default:devmap_managed_key)ksym(default:down)ksym(default:down_read)ksym(default:down_trylock)ksym(default:down_write)ksym(default:downgrade_write)ksym(default:drbd_alloc_pages)ksym(default:drbd_destroy_path)ksym(default:drbd_find_path_by_addr)ksym(default:drbd_free_pages)ksym(default:drbd_get_listener)ksym(default:drbd_path_event)ksym(default:drbd_put_listener)ksym(default:drbd_register_transport_class)ksym(default:drbd_should_abort_listening)ksym(default:drbd_stream_send_timed_out)ksym(default:drbd_unregister_transport_class)ksym(default:errno_to_blk_status)ksym(default:find_next_bit)ksym(default:find_next_zero_bit)ksym(default:finish_wait)ksym(default:flush_signals)ksym(default:flush_workqueue)ksym(default:free_pages)ksym(default:fs_bio_set)ksym(default:fsync_bdev)ksym(default:generic_end_io_acct)ksym(default:generic_make_request)ksym(default:generic_start_io_acct)ksym(default:genl_register_family)ksym(default:genl_unregister_family)ksym(default:genlmsg_put)ksym(default:get_random_bytes)ksym(default:idr_alloc)ksym(default:idr_destroy)ksym(default:idr_find)ksym(default:idr_get_next)ksym(default:idr_remove)ksym(default:init_net)ksym(default:init_timer_key)ksym(default:init_wait_entry)ksym(default:jiffies)ksym(default:jiffies_to_msecs)ksym(default:kasprintf)ksym(default:kernel_accept)ksym(default:kernel_recvmsg)ksym(default:kernel_sendmsg)ksym(default:kernel_setsockopt)ksym(default:kernel_sigaction)ksym(default:kernel_sock_shutdown)ksym(default:kfree)ksym(default:kfree_skb)ksym(default:kmalloc_caches)ksym(default:kmem_cache_alloc)ksym(default:kmem_cache_alloc_trace)ksym(default:kmem_cache_create)ksym(default:kmem_cache_destroy)ksym(default:kmem_cache_free)ksym(default:kmem_cache_size)ksym(default:kobject_uevent)ksym(default:kstrdup)ksym(default:kstrtoull)ksym(default:kthread_create_on_node)ksym(default:ktime_get)ksym(default:ktime_get_with_offset)ksym(default:kvasprintf)ksym(default:kvfree)ksym(default:memcmp)ksym(default:memcpy)ksym(default:memmove)ksym(default:mempool_alloc)ksym(default:mempool_alloc_pages)ksym(default:mempool_alloc_slab)ksym(default:mempool_exit)ksym(default:mempool_free)ksym(default:mempool_free_pages)ksym(default:mempool_free_slab)ksym(default:mempool_init)ksym(default:memset)ksym(default:memzero_explicit)ksym(default:mod_timer)ksym(default:mod_timer_pending)ksym(default:module_layout)ksym(default:module_put)ksym(default:mutex_is_locked)ksym(default:mutex_lock)ksym(default:mutex_lock_interruptible)ksym(default:mutex_trylock)ksym(default:mutex_unlock)ksym(default:netlink_broadcast)ksym(default:netlink_unicast)ksym(default:nla_find)ksym(default:nla_memcpy)ksym(default:nla_put)ksym(default:nla_put_64bit)ksym(default:nla_put_nohdr)ksym(default:nla_reserve)ksym(default:nla_strlcpy)ksym(default:nr_cpu_ids)ksym(default:ns_to_timespec64)ksym(default:panic)ksym(default:param_get_uint)ksym(default:param_ops_bool)ksym(default:param_ops_int)ksym(default:param_ops_string)ksym(default:param_ops_uint)ksym(default:prandom_u32)ksym(default:prepare_to_wait)ksym(default:prepare_to_wait_event)ksym(default:printk)ksym(default:proc_create_single_data)ksym(default:put_dax)ksym(default:put_disk)ksym(default:queue_work_on)ksym(default:radix_tree_tagged)ksym(default:rb_erase)ksym(default:rb_insert_color)ksym(default:rb_next)ksym(default:refcount_warn_saturate)ksym(default:register_blkdev)ksym(default:remove_proc_entry)ksym(default:sched_setscheduler)ksym(default:schedule)ksym(default:schedule_timeout)ksym(default:schedule_timeout_interruptible)ksym(default:schedule_timeout_uninterruptible)ksym(default:scnprintf)ksym(default:send_sig)ksym(default:seq_lseek)ksym(default:seq_printf)ksym(default:seq_putc)ksym(default:seq_puts)ksym(default:seq_read)ksym(default:set_cpus_allowed_ptr)ksym(default:single_open)ksym(default:single_release)ksym(default:skb_trim)ksym(default:snprintf)ksym(default:sock_create_kern)ksym(default:sock_release)ksym(default:sprintf)ksym(default:strchr)ksym(default:strcmp)ksym(default:strcpy)ksym(default:strlcpy)ksym(default:strlen)ksym(default:strstr)ksym(default:submit_bio)ksym(default:synchronize_rcu)ksym(default:sys_tz)ksym(default:system_wq)ksym(default:time64_to_tm)ksym(default:try_module_get)ksym(default:unregister_blkdev)ksym(default:up)ksym(default:up_read)ksym(default:up_write)ksym(default:vmemmap)ksym(default:vscnprintf)ksym(default:vsnprintf)ksym(default:wait_for_completion)ksym(default:wake_up_process)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)rpmlib(TildeInVersions)cb3c8a7dd29a4553495ccdd7d6fd405372c9813939b52d194df119fa8f68da79e5d71a61e0b3bd35d29fcd656a5cb5eebb3fa65118255c0de3f29f70d542439eb233a458d0aef6d984ce9bd499bfc6d979f098bf5f111da24f23d8decd0b29f11e0ef9fdd6bbad56470118a1c76e0a9514151ade48e9caaf063510cd0529c7f5222143e4fe8ca15c37f319c47cdf9c99afe91624d273d1cd412e1df9208c05a025f7b25301bc6ad73041fd46661c28c5b17c73bb06e54ff795357555d1e6fcdf3576d8402e0fe2c0d102fd189e3f386c5afe2852528d3367c348cbd1ca4dbaa81bfad27b25dd25d0a203f2215f74bebab456b3612da8ba3e40bbcbf9fa4ef421c4ff9b3f4d5c02fcabc431f0ad94d69ea4a9e9892f157a855ef6b5a83a07a9b37e884502a47cdc5c85e1a84f3b07aa7e31b17ca622b599ecdc928aa6a67a7eedcc4c6cbbc8986b1809433b84f744c9ca944b15b4109fff7785e21609a141936f364ddcd6155fffe2c03744ff3043efd18896958ae23d84d35bd8eee33991865087368a421e39e1f3884c9a7296dec69b3012b68bd2f97934ecf8c03d20c5df195c9f1e63929dc9498dd686818bb4612c59d277ecee177234d37d1fd6387982b008ae918c871bce670fa401684096c9e0be08d9757df1134b45f1a52144cb669d5bd99d46b54612bfd89c0a3d105479c3c86cb2ea0b5bce1706b421601694302d0ebaa23096151a01dfd82d95e86e84315a071b7973b77c2717ef455cf61e6c3a4aa79aa04a217528d89c61b80877ddd5fd4ce807151ca4b5c5183c49e2cc6f46339fe4879752df50b037befc70fb384d37243dd7d7a914864dd0ff6ebd3afa55886df1aaf1ef62788b37a0cbab4875a4f8f78e0c3e512c4b0d1342a78938c45011f03e807bc0d6a7391d0d9a167e3a6122d39b0a73c80c06cf9e755c7b43f9365c4f0da121cb2c6d87aa1756e1c3e02e44829a47e5a9f1d63a49a9b46766a0927c972449f6f08b1c6a9dffce5d985dc998a99a016a1eaa2cddcb764adc15a44c6c38c83b81e0a0c24e4fc7bb57dbabdcd33c32bd1feee096fe2a438059b3f0ce401cb75696fc94292bf210cd279169f1db17047791beb4b643591a5eec1207c3ab9ca76b64086417de3d51e1e140ef1e046cc58ab86bd81e3ad1f524e89c54824f996f5914b3ffda9581f2dc4e1564488bc8ac585011046a081097242d927a00f48c5b6f236e878cc224d9b652ba5526619ca9360b5296695f71a50dbc87e9232b8db46c1d1000e518ddd8aad54496b4151f48989684818650bb1eea13879bbea2358c088631f05c35ec579bdcbcd35737c1e0922b444e589f98dc5a4f9a9548656e4a6e18f9b701f67aa7433c3ff9fd349cba85e2d5255ae914e41e5792f84898cf60b31e6d26a8fb8ecf6f6091797ffe5d4bb22d3385d3fff5afc750e4a7cb5a459dc5412c7c719b16b345a0889231abb554d262dfcb9ea53d7f3cc4cb8a8c1b66933.0.4-14.6.0-14.0-15.2-14.10.0-1drbd-kmp-default-k5.3.18_lp152.724.14.1`]_F@^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@UU0nick wang nick wang nick wang nick wang nick wang nick wang nick wang Richard Brown nick wang nick wang nwang@suse.comJan Engelhardt nick wang nwang@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- bsc#1183970, disconnect when invalid dual primaries Add patch disconnect-invalid-two-primaries.patch- bsc#1178388, build error with -Wreturn-type Add patch fix-err-of-wrong-return-type.patch- 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 failure/bin/sh/bin/sh/bin/shdrbd-kmp-trace9.0.22~1+git.fe2b59839.0.22~1+git.fe2b5983_k5.3.18_lp152.729.0.22~1+git.fe2b5983_k5.3.18_lp152.72-lp152.2.12.29.0.22~1+git.fe2b5983_k5.3.18_lp152.72-lp152.2.12.2d1fd6387e18a7748982b008ae918c871bce670fa401684096c9e0be08d9757df1134b45f1a52144cb669d5bd99d46b545.3.18-lp152.72-defaultupdatesdrbd.kodrbd_transport_tcp.ko/lib/modules//lib/modules/5.3.18-lp152.72-default//lib/modules/5.3.18-lp152.72-default/updates/-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.opensuse.org/openSUSE:Maintenance:16113/openSUSE_Leap_15.2_Update_ports/b3b569dc31dcd01663dcb8a01e4660c7-drbd.openSUSE_Leap_15.2_Updatedrpmxz5ppc64le-suse-linuxdirectoryELF 64-bit LSB relocatable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), BuildID[sha1]=59f63b86a5f4d2e83258d285f361726cf23882e4, not strippedELF 64-bit LSB relocatable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), BuildID[sha1]=991ab7709f50dab24e26f23b81bdba4bde63e76d, not stripped4PPP P P P P PPPPPRRRRRTRRRgR_R RRR RRRRRRRR^R,R0RARtRR&RR-RQRRRR@RRRR2RR R8ReRRqRRR`R$RR.RR9RRRR(RRRRRRRRkRGRRRRpRBRR'RRHRRRR7R:RR RRRR5RR]RaPR}RR~R RRRRRRzRRRRR!RRR{RR|RRR#RwR+RR"RRR%RRRyR*RRRRRvRR$RRRR(RxRRRR RP 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/shdrbdpackageand(kernel-default:drbd)kernel-defaultutf-82ed800a9f3f4f66b842a1e1aedea05e2ce7edc8668d938436fdeb3c145d91f45?7zXZ !t/jR"]"k&%f K_>8FS[G_b8%e LI߸FP[)M]C![ޟZ{zaiYl(ǃ!^*gD{Ն(=*KИ,G0NxO6 Kc~>)Ȗ@3p$ ۿx_>Joy6WjCP2KjIR UߥsIğ1E.l]ag _]aS qyWcdCw~=uRYY6B 莤O 9T]倇/O2M4f+&[X2w8/5&{$wO` 8oΩ{z lH>a6>Z![Hx G``@zSFq@-m%Vyp` \=ezdgCClL#4An}Bܧ/3QԳ=5G?G`l,v^ Aa;쯒G 10'_ ]h (O1|~91kLmH_Ẃ+22FXĈX\k"C$}"28AmC(DN] 8k>KE.NҿB"Ԃ[wf4I`% vBo i2?U%1> @7M=vwj 2# uPM@n'C$A-XmYVA5ڗhZkX(AF>TF&1Hg4q*9,Ԕ,_9f6iת1kO/Aأ$/H^^ fú57*A6|&twxmcm2j]͋\}nGD%_;\(BjKDeJj"ַ.qcܦ3=ϣ UՊ"S^_:|n6ZOB=L#V>_16 YМN@Mgl#[q'+~Hk_4o?8ҙeQ &8@=bBkN:ʻakk)j7?rq=$0#W+)P]ͅ|b6 A W[qU%ܦ[U)CL {v F9eAq$^W"M{cFͩ9Q/*? b&C6#n#x'ao<^ba> Ej.W\34zc>9rfTݐMbHՂ)Q ^8{bB\u㺉P1@]w.+?{\AX#wyӰokma) +s ;pm 2F+lkIe"l=/` Smٶ T;vދx(=3;ܔÝ#x^&bH*y߷evwqmV'| 0ۍ,=eoM[֪(,&gz8g\0ĘnI4&=GLun7$ό1?1C% "qȺZ/a-b{JǮUjx@]ߊBZU`px^|òf*E'/q{uޱ4&hL|Ֆ $T{kٍj"܋[Xr0xg_7z>2A9ރPItkF4FdFܽr -4 ʈ*JH`\D%7Q )*SzC~ɣr gx"6zComtcfDLjU#}wAoWAfbbG%fbUF2S]y%qafvKujT:ajpvX-9F :o"rfOjOd`+iߓV:x2f,$fŎC0 'mٮ'ZV_rj$.s`|DK{pYY.?X'y Ήew1sE:by} Bݐ/˛]Eo /@niGj!̟NsTAߤQPX*ZJpgntqa7TԾ8RG6K6f'!xuK4|A?7o2ˡł~] *9|K ~Bp8c 25ՌWT R/!s ҫ7 "rpfim&}]DE +FCa%^>aOÂ;(ezk-eĦ֗[`,ԥr MVεPE( \Hm?v*5Gyyv0o[ fËTD=^ =m3\{y1ȁNu$>Ʉ lJe=]Z^;=~-?ӳ`Xy-,g*fšdN@hi<>aN ln( @J dD1Y )CPgJNf52LJ|C[6%X @}6zk|E\h E%,5 )mud vD ٍ9bas,"rbUK&{nkyX7CD~-mk^o<"?wC/AîW@KIK[U5(a\s:J; vCV'2. D3r SCI>]a 7ܯ=Lafsb)X6 }K[%* m Y K%sםߎ_`0|$ 9陊<06z#s,?T2_"ѭ^ѕ8ukEð]a$hXR DPt.zcbJ%hH#k즵%QO$Ւl#3Lt,KO6\Kc1w5\`1q'H Ndt 3Z4f'up p 1+X!Anz @ev=z̻4 5 3(u.X*c(9`yp 5S=AB 鞞cCVIsxDDXHmPb>dcf^* oFI{-v,S^ߦKGL5χ1,6Npe^I$%"xP{n{ 6jˑ sýzv.8ǻb7̨ )tdfӓ+XE*3\lmҢ7 j&Y >*wi}2_MHKtz4R.&YD<7I[u!CeSo?7сS2I\ Zɿpӟ +Jm@J_ Eܕ"ٯM\T\^>O% k\"D49$EbujTEm꘸m.Kg#P?ZM<y-`%s'49gQ)iA\AW~GGc"" ?=Jڰ:\T%Q=æ=>gc~܃. ܙPX:myLr/xwC!'5뿶v̷)B4c9*Qe3ÜEiJwx 6!rt1J64Hr3P%y( hSB 5W_Rsە["k&jbWAE" J^Fl)OB$8,x4r)S|՛x܈mHh CJfBZL0JDSC-UNUh)s#3L@*5<JM?{Ϯ۫ՅjfNER^Z%J0WD?o{P]v:~ 3W|YnOQPAا^J,:#M  f@Īy{S9y xg8&\l> ʼn605&"OY'F8ll!UIOX3ckщaXP>r;#GB-(n qH$;~&QRb"H.W9j8A0[t6x }yT;ѭFT^E(`◅wsl"kFW8|V,D5KvMM”\&873LB.%F'ދHnuм &SfK#1@(unh A%Սsqe-E.;R _PH?dGqjAdIv"$%s8: }.(VT!)`v(}đ(15بj| 'w,a2㨸bFU\-L8ѸiCT|snlgKPb OY;# BD 875>0>/޽,p MCU"ҩ6PAɇDXQ iL-74a[;xY59^ 뫴-Ƒj)0u1Fe-v[I f_t:jY~}r ů9!'+4 nh\g^k> XȒQ||/y-@T+m } m{`w+Cpl[黀Bxz s/BЉ0zE̘E !pS,jɌ_21u(9Orǡc#اQ$h>WK*pj / oSI 3V:)iZ1 I]$HuC@zM҃ymjRDsYC;d@9v\0lX߰54ܱ)=D bCw&v,+&k<Dhԩ뢕u%Yj MC/rؚRZPAKw W OwX1QuKZ_ӆ :?3=_7G EZβ+0s_>!A轚6`tkE;XJsơIb,HVCL[GYO}s>xE^" 4׃|⦕H\V2DaKi$9mhĽ^Ă9Tf?ψ(( vcņ %bF&/aDlIE 5pPS _Yb&vp6II;aҌYa̭^yNyafqW)B*(e3Ctu*âgyp ǂMFGc`%٣9ZfI0|rפB'ݞL_Mvc\F PD-j tp稛ɫ-ƾ`ua H^Ŕ+w =pW/"|d#9e\.cл//{RH5%vt6M DL;d;T[ Oj nkd⧻"&FRq\o Vxë|3;ONVH܀x) O\PԐЋt OnT '<<^T&^7A^A݂32M9wC9D-=!0bEpVۈ(to>taơڲt3JHyR ɤ] 婃7-[ 39SOҔ>0QF) Oql%hRQSr=2Sij80xq㴀9i:Ϥ;!eKUh1F&wPPTahsSL',r?-&ts{*))G N~{b%BfUP*#.6GdDn\8c'?:F98cu k/HjgmK(h|ٝ@PȵuD@Q1,u4fu_* e&0`%vc ¬A`25Xmۨ=IC&*68O7!R=럇x~.l"i_k˾] (Ґ.0<.EJboz9;J]W YRW{O64m G?:0? g6puɗ]ZP{y0FkKc$^#z+ue\k" "U*7t6h>K}q9GZڶ??CPA!g0,LQ6^67ٷTf;b-?K pUVfW~Qy(_K3]lg1qd(I*lR QDDW5oU)EWD* -4mWJ)Dq?g>)x3=m`>v^e.WF?69wyb|l>G>6'-|2c7Z4 %K~ŖkXA L> 7#' C(Ѿr ZEO.d>Hxu4W΋Uox)s@ ;-TV~K0,Q;:i zASٺ GH?cҬS<*CmL nKsER?8vR;Vʍr'O I认ԱWgew=ѵOe[ὗwؔ # 4΄q%lM-*F$ןGQ LQ *8{_=Gy`_Kf\/huyB0:` sԙ)dI:2Z$oa-]/(B|K|B’z EH,F%*q(jadz" |ܗTiu=qu{h/j+48[i(l!h _0%Pogv!Cm|Qm޹ْ&2E%"fڛ*XUEXhoj̝ZK!U4$LW;ڬ7EMWD}]^ƷB(Gϝ u؋ u9I\CE=uՓMٶ&k5CMWIWG0J԰yͪz$ZU&&XSXgN>.J;g rwelsYꚖVj.7`c;>7\jHBǏs2s{ߘaqV #ll; +3BLH _%ăZ8$ˠ"T8̞)ZȈ(\+hVOY"4GjXD,Pi3U!5ŦMr_L4G2IvxJAhږ ot"e6Cfp(O z4̭h+LA}3PBҠvCd\trD Hf7} -o|7aq]:xC&mN.=?wtļ| JBw T&P*h C@Z$MʍlKxsI]2[оX@*de ϻ6S<:Ci ⟭P~Ecw E)c*;Ό%k.\|'@ɒAXNՏ@Fp5ȟ Z[!Îf-z;>,Z=ƺGT gZQ /)0jst+v!ٞ +_ܩtGuP  Y}>Qw"J( VTE%^zz4+x8֚~[9_~paL 碠Oˎ$%2*.H&}$ן clA/stGE7Kz 3YHl>dwEyҽBs:icjN GaKToSr3fւ*[E QJZo)\%ˮM wenˮhD){X0._m%PHbr3b6@u)*AuOWrE&=1xd,eD>sWH3~R &8_7:0 h?k!yYF$15%YT,ȉ={댢0Tt։IY:OϨ2)T`}DY4Cb@5SCGnJDJߔOF?l\q%N׌+~Z=/UÛ\N)fy%÷ED8XEO㞐=[ AR^hoS#\sclk0߄hU b6qgz[ ?Z'дDܗ[9ɻd*F,Eƀ:DscpAj5J!e3纯fUf"~iiqfƈ[jtmGuB ^"~FRyRk;cr#qDі˜9$G a2gf;5r= ;I6I|'L7/fXXFHEGWw" ˅ЈQF1@Z>#~s']^TKE<:peoIEV R J)CQ$wV )`94QɐBl7.YĕnZQiNʆph+@NLsKoJRINӣa)%gr}?Y1 hʥ&Ku71""E]o*zA:Ej}{c g<2sOMM՝mɵiJ>FgGg8o[{ugOuU}jM:n1۱`~ͩs-0^u΅P¾sqbJ-}undao'_ \GtYFkǓOJrZU/Gۋf|mSPExdoW=2=AK yyȶ !Dh<,b9H:\ƥA@hkc܍9{'4G91VI.AƼ:A.G6B?Eq)@L\O{S~~'Rnd߳9 76QSq\|r}vC. ҹHp⢐yLlw{QJHG;~qN,#28EDV`*A]."XngFnC*˕y.4W(V_կˀCs׳Рn'MAUzAv~=C)LCI|qYSt60mYӗO:4<~'!sE .I)u/@JLAO{ZY~Y Zm0Mi0 Ǒ 'VUŹT\[=g,20=SVч$}ӂ"OYN>g>f+; Z&E,LGe\Ts{)G N;P,w-x|kE'&%wjmq k^8P0mZ]J"MctMN>1u!ȆsoNUθwf}ߞz4dqذҔP݈+/pOi-Eᄮ F^08!9 r) D!\e:PBDS'NtF/`-]h9 od"Sp/Ulx M_6!%΢|;M9%1?RÔbi`0o wh%0!s;},B <~ōWԺKѵW2C9wdm䋕&Lk(<z(*-*~/Jۻ `/M5btDGOy J1;r(-(m b(KW4Hzzuޘ"w!Tqg{EyU-Z7* j>)qZ ]a[INgXʤN kw뷂РjYO1\$ieFnאQD?ٗi)+k'\yV9*YMɈ cg^& 2/_H`50hFb:(7= F%h@7I>h]*~FJ1lYJi{49gX$4k 93c1d$:$ k/&F[vd(vjC%4.ҰdLWG0DP\Ǫ븞^OA8P `%Ēv:gj$g"~ "oq骁ܯ/}̸-Gw|tܞ#4 /G~#(u3cUFI!LDg> PΟoz\snMqgjG̻|N",jy(^3h=^'F:} 3ʡu"e&%:C%)pd-pyqi)K KY97qBeAW NDq:c!,1чY^wԝ1fŧu)? !T};g +G_@PfUDN w{Wv.K0PkIHx+KU{;{}k4eΰmn,40{ЁXJzʨkvt%l;?C&!R0zzXF4C9.Sotk D$b$Y/(D노ZZ)*z]}Q"S/{|) dD̔w00tF߫ap)z4Lv[չIQݩ@-ƘV:{'ʟ7GArQE'+2HN7?xɸs醂ZO3$6G&!IiVY\__Ύ=hD?堧?\%JUBHD%7|mvg(7hozvz}ǐeX^ hLm1p K^\>) UlKfA@D!?E _"ʑ`o홖M?C<k$(m3U,RX13* ¦93ri@7tI{oX)#hGZ@T;?)@bv[{ؐ0H-ȣyݯy ȥqz'%]AAʯF O-ëY5blp\Gs9Pmx_Tphig8i@!"Ta!?EW<}PH0fi 8Bu׎=N!ToƧ_}/0)+:PEZ']:ƀ 6ԯ^|VHyy 2c1ϱ7÷+v;68C+\L<GM"vSfW#ʮ&G2OKGozpy;8Y?R{HH}9GJgv1AFbƒT~r፞x0P#<`GG8?Ak@TЕ [ocħ'wC>w4©#mY?/#gL5-'㝉#Wv08!>_WA4[@ΰT}R-͊,rSC@F&5M 1G`=46p8,^{$ K]cԍُI[|$]j6{gspEBXMęih3.ѴJ!wOuxN=^nA, 0^¹9\zzbM9lA ֊y 6ega'5 :Rj9A4chJvK@apr. Ԉ ^ |UxC.=:#(`jy>u3Sq6Vn6۹:o=ҿ3< Nis:1j Uߥ鵊C+ڪo怄¾eG{Jr%UqE,p$qdXߨvRa$[ډZ4vk7_N6t~ 4{V(u@mH1YP"ੰ>"\9B%-V\J_<[_lj)ؖHnmKleC&< ȋv-[>BA`A)Yz-LmbtwC ?TRUT<-運5 P"3Yl@ِj'6.Tn$d:t lZ%L'uu%=h)G=„J ۜ.w$EI'm& ۈ ]23_4^dZ<'sי?FNvoJzT un8s0G&6F\^P8ovВhϵ=3t.mX=$'xTFzUʑݞ@a}\ВE #=$>`mm/ƹŎZ=en*BYKWWN/xD%v0ZEшEvٟӨGO{'^Ք-RÇ 𷶑uBڂ0qf/%j:(ю8w Ii@JPhJ6Jʞ!<'%'k#E)9;Z>< fi%;{tE(u6\%d+hng,@Bv4g\.6/@+@i'?av~*Y%w*! \oG`2}|rb.`n2(`NtE=t[Vmi{`_fVh^cy)&<$ŸE% _!}G`-H0r>b2 RnM8 ʺ=<͋dZdYiͺvtfWhuEsz0 RcIi\'w9L^dpm$-%XI lsQwSʄ=RXͨD/W1 Z/mX1OH%"JZ/f"XK S\i" F|Tu<,X_cyNZR2n 0%žV)͕"|%w "iԭ&"$xHѸYRQ'Jt|pnkWD _^Ea$6)dqZ)&gn0@t,Hz4\d`&BNrTb Z Wҫ<0 H{d鍤]a؝&YK`l?|zq힣b^(M׎҇RьwJAӨWL%"N3F$'ݶ_7)tz)/HOAxSu;On2#$H8{mVHHpgFj Nqf%=8.Cf3}]5^a,&KJ??_GvUQB@䝭P&/ۣƦ۴4؊X&ӔyWceQv>i:<h{oy?=ΜʑW[`7rJ+&]b0fs@,堟#pQ{4/9ƥYV U@f'ia( ODr5 pEa>@$5(?4-E[+&c$ K[jiW1qǂp7T_ho[ry N)Vj`?bK6fsLMS*ή+&;ϕu5RgCp&2mfi&fE[PPyD7mǛ*tFFYje5d35L^ē(],򆶤11oh٦㚶h2G~a)TyhK"E0OU6O5Ifoul?q_9Ab3,yEgHv"a9{wP%+@{1v)7w3`j@ea_NBlɼ}DW)G~CH\ڄ}pby f孚|Apuxܲ]"ԟ~7N9lm%':gJ'^ڳu3XfF(O*˥ķP4^^tސUta<Kꖤ