drbd-kmp-default-9.0.22~1+git.fe2b5983_k5.3.18_lp152.72-lp152.2.1<>,܉`$︋/=„+5clT īP 'HJe(fw>pr$M)2OՀ@M?ex?# S<?,d: G U (9 R^w}T|    0 4DXl# #-f#7T7X7z(7{87598X5:<5>?@BGHI$X(YxZ[\]^bPcdefluvwxyF(Cdrbd-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.`$cloud121ϞopenSUSE Leap 15.2openSUSEGPL-2.0-or-laterhttp://bugs.opensuse.orgUnspecifiedhttps://drbd.linbit.com/linuxx86_64nvr=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 fi!s+AA큤`# `# `$`$9c5feb7fb8a9f91ca0cacf376f794cdf3e269bc1476f11d189903ce6b1cd32ca3e9964e153757d2ac9466f94befc6ff192570ad179b4033578f6d90eaa559079rootrootrootrootrootrootrootrootdrbd-9.0.22~1+git.fe2b5983-lp152.2.12.2.src.rpmdrbd-kmpdrbd-kmpdrbd-kmp-defaultdrbd-kmp-default(x86-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:__bitmap_and)ksym(default:__bitmap_parse)ksym(default:__cpu_online_mask)ksym(default:__cpu_possible_mask)ksym(default:__default_kernel_pte_mask)ksym(default:__dynamic_pr_debug)ksym(default:__fentry__)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:__sw_hweight32)ksym(default:__sw_hweight64)ksym(default:__vmalloc)ksym(default:__wake_up)ksym(default:__warn_printk)ksym(default:__x86_indirect_thunk_r10)ksym(default:__x86_indirect_thunk_r12)ksym(default:__x86_indirect_thunk_r13)ksym(default:__x86_indirect_thunk_r14)ksym(default:__x86_indirect_thunk_rax)ksym(default:__x86_indirect_thunk_rdx)ksym(default:_cond_resched)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_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:current_task)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_first_bit)ksym(default:find_first_zero_bit)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:page_offset_base)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:pv_ops)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:sme_me_mask)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_base)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)1d24c8812df0440b8555c49739b52d194df119fa564405cb2548c032d38cd261837b7b09bdfb6dbbad3119036a5cb5ee2e7ab1d7b4da6ffd9a5ea54d542439eb233a45977f511b984ce9bd5ecfeec693befdb4cac69595a24f23d8decd0b2974c134b99f46ced87812c0473eeb2322564701187e526bfa263ed23be7b00dfbce8b18782ea2c95cb601be4ca1c76e0adbf17652b3635b01479417115176091749c41a573812050ae1ed698d8ad29bab24d273d1d766dde3df9208c025301bc6ad73041fb9a90f2c339b45b0b1ed056fa302e3e2225483e586078cdd4ee5b8b7ca6b3a624e322e8beff119a57cd0b695994ea591720f4989a632decd27b25dd175b33b2f2215f74a13657c960cbcc1bc3482f24c6de9de5ccbf418983251f273a7003b4c912a3545517c6b2cc6ddf3b87344596b5a83a07a9b37e884502a47eb265cac9c6d0cb53cc724ca9c81c6f681ba853028aa6a67a7eedcc4c6cbbc892936177333b84f74d41f5402b15b41095defbe96210cd43beb67d693c60893227c757802e7b4d524ee45ec23efd18896958ae23d84d35bd8eee3399985dfebc536467f44a0352f8b5246b0408993732b68bd2f97934ecf8c03d20ca4898904587f22d76626afca668b19a1e9ffc06357bc19d218888d006855cb76982b008a355c45bb728da070949b3e9983bd9ec04030a6f25936d08475c4dbdf21c015914557c4e0612bfd89b352177ef11543ffc0a3d105479c3c8692540fbf7b6e1269421601694302d0eb8a4c7c53931aa009b021e340e21ccbe0f244e756f656131c1f0e8c80af03035479aa04a2b8f116038e17b3ae20978fb9c57c48a37665a95ba9c339fc6f46339fe48797515ba50a637befc70fb384d37b8402ea0e1a3f767b08b2af68027a6f76df1aaf14b6cbbac37a0cba6da07472dcb8e472a31fdfa181a59dad30519b35142ef51b8f8d76a72d4fc8148c05f00a2d39b0a75c3c7387e80836eab43f9365c4f0da121cb2c6d87aa1756e449ad0a769acdf38b0e602ebc3762aec766a0927c972449f38e46431a897e3e7d985dc998a99a01615c85de3fb578fc5c15a44c6c38c83b81e0a0c2477d815007a201163318d6fec2ab7989db5136dc7f21017d9409bcb62f62e7288c8cc54a8cd279169f1db17047791beb4b643591a5eec1207c3ab9ca76b64086417de3d51e1e140e7cd8d75ef1e046ccabd09cd1669ceb3d08ef7549e2dbd1b721b2893fda9581fd5fd90f18c26d495c5850110eb774a17242d9225267cfefacce597c5b6f2366d5f5b914d9b652ba5526619ca9360b5296695f71a50dbcacf9f7ce565ecf901000e518ddd8aad54496b4151f4898968481865be63d15c8c1af53d3938330f446f647f3b42a0c5711289abc2fcb296ca142976295fd63efcdc9458a35b432656e4a6e600d06ad93a324bc3c3ff9fd349cba85e2d5255ae914e41e5792f848754d539c1e6d26a8ebef50096091797ffe5d4bb22d3385d3fff5afc2891c427b5a459dccf2a696653b954a2ce807a2597651e6cd262dfcb9ea53d7f6de1380165e71dd23.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-desktopdrbd-kmp-tracedrbd-kmp-xen9.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.26855cb76e18a7748982b008a355c45bb728da070949b3e9983bd9ec04030a6f25936d08475c4dbdf21c015914557c4e05.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/b3b569dc31dcd01663dcb8a01e4660c7-drbd.openSUSE_Leap_15.2_Updatedrpmxz5x86_64-suse-linuxdirectoryELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), BuildID[sha1]=73692bb56277b06153a1919e3cc9f44ef8602361, not strippedELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), BuildID[sha1]=ce868ea4dc4d1f56abf4594568c84b1fc87c5386, not stripped6PPP P P P P PPPPPRRRRRRDRGRR|RRRRRRRRdRRRR4RlRRR+RRR5RR R&RR RzRRWRRRRRRRRHRRRRRRRRRRRRPRRR(RRR"RRRRR/RRiRR#RRRR}RRRRRRRRRR2RRRRRRR~R*RRR,RRRRRR+RRRR1RRRP 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-8f37be9f272b6f2e978e36a595a8327d4d0b6bee383bdacd56278793b065a21d1?7zXZ !t/S69]"k&!ˉ1:FXr+]SEmVLn5I `k7ي5dqk-EUX؄RO37rYuo]p_Y4EH1,5FwJ6[\q{!K^i7iCRyʝc( ǼR2DLy)CYB `qa &9NNwyy<7d$M'@y|E+X C0墩.H[^s99o6-#>n5~*|~<æW_|/5ۋ]T8|hM46R @,9&/(BYA(\H҇|к){!=[B2rC]Ur`;_GYڂZn=CY(VgXN$v Ghk%(tP֢"xJƒ~”iJ^niZoSL0 ’Ᲊ|ښtQ|g`upûWc Z=rϬ٣ g;+ȩ>4SN ͍2oZ{Sf_zf;8%lrc/1KVQRu@k4l=R,J L$E9WI{$+p;{6%]e4]8DM?h-0%bzgkZ} iorޞt@X mT!Ԕ:U(ԐjY˼4VL\70 `אJl"~|,.u"| [>tmA7EAjE+#d7^}ߥA+:^ܮ%r B5]J 5 X1ӂu/p6fm˥'1f~bn+R9`spmWmɡdо 1^21ؐ>t֛Z:=Və0" jZYdu:C,QdFB5[<2qG? f/$B̃L t9 L04'*ֽ5,OדwUq;b n>|dZ~ܾSzfAdE8aE)JxJAf fK YK[XkS _(G$݅$^E>^,OɄZ;+5xgǾl W 0%hUZg !bjgJ6ȀiM gIXz?JUQeO? "zT3;4{y,fnr8U}"qvdrћDW@"5Hzh2Z;9˒A~͟c"OۘJQL&.S̜8"?%_c6GyY\u"Bu2իDʍN'  Oc-c+w57J U\$ 336S{bgOEq ׅi5bLW`{]oI{Η{`5g[C-ٴ##̈́^Dû[eO _oJ`z󦪑r2t`str8 >a S*~!ǟ'j ѕ۟w ~ b-\3{}`T2Pш,|2-z<0_?7w 3i)1ICu.5 E87n e1v|'Z@b~Dۗ>Lĸ9P9 n|KQhI"[7ھakddH ",0o4 hgqEjJ9-# e$Mڡkf1Brȿb̒0Їr]{'a ص%ϗVY `h)jrZ9H.ٟ$MK> w_Ixp*M,'FJae`_ud xA HNƞB(K=97&UjBI8&10J4~ : ϓU3gxضJ<9_Ve8o2N% .n7}R[^D37p}b"C7i?ћ1VKju> L U1LĿt qѰ@ Ye8Vx?쏏aEkBFK>B])co4]cjKi}h-?7bRePqa xBvZ&F~,=*"K[#_B#[uxRSr4+ޔKFNX֊8:D1iZ\bޭ_EPqD1&cy>T 줅tFL}!`87i*=7J?ufWaa{_+=0cنAB_Q(L_c׳U8)|>vJ#YeheӼpp?b\wcB @7 [b !{ޢ%Zu~<5&3H#d&^t_#i dQ ,!*7~Bh3gO>9yX$~6 gw/\U\%= z4Lf ;Mg\Q<ƠznҋKɪUWi|š_~-aE%fkP`.3 P\cbqvLe®;vQlxsf{9qd?IhZHLjhCθUuBfU|q9gĜۗBtSK6~`YEXFR' NJͺ'9VkqŀWajfQ1}ɰY|CO ǽcXP\xL{\ֶd™ur͓gGQ!_Ѽ|wi JAϜR"$u@F`ۿ=*|^i>1Gҗ=:9j(@0o1PT7f+E^"I`V@hqlFsHsqŽ#?+pSܜDEF!E?MMUfu)oÛYA;ZĊDS]dn`A~ۗ\.q*/9v2v܆6RN:xc mObW4я|Vޤk|b]Zu.E3(^dI4ٹaI /9@ⱐ-<1hxnaI2 TpRR+L59g )gg0L͓]`Ԝs*SO?oüoѣ No6gE0>zL U$e>P$u3&$434#ŞbLbxHFY<:dl`X!ʩ1w ~^_;'l@\ĔÑ@2HNm"~$*UN\]^ʟ̴fWY$[j)`b U_#4'Z )L.f%WM *Hd\Ҟ [xMTiBy [rޥO0{@ H7J04gMkX"rˌ6Fcy2m2kmIbc۝anM|,BO@ӓ;e>btB+) sSճ6&TFܴⳇYw(F 4Cc^V aN*ĩcɠٓK*j*W0h_˅Oplv՛ϝjiùno;9X.ECxk}PO<Zs7q1& +h XWW#OQ;j tG&`9ip#XN,C=/%0i> ׫*<$3t}(hY`H%}6 X? ~9TBu6>G 0/k _5|ږ@fԅp>>,2 6 s %W U:غ${t`oZ(5Uz.U ,1Ca>_%D.ΚHPLЦ@e nX@m~#&Qi O.\[n N}vVV uͳܟ{X az]mjTաa&.8w9uqw_E 5$}GzBq^>Hx 0c@-EuZS@Y,üCX:J=06GNڟaQd|x&K)qV߈ ኧeb{d<sqC 2\;sp&!ޝ{AI-p'ew.>U]^ M;ےBxD[5i($ c!]"6s/Dh:(g6=U2U3} Z$a0DyZ-2_/q]v-u,BCܐVH]I\7eI7MPHȞjg0TnCqHuܧG5ƿ>LjNX[q~/ Cx= f{|j 3834t)d8=W?XY+W:xS28CF3t/(0Ź>uN_# ADs;E'73 qLMIϋY}9IOyn!n4m @V&GAѕ 920I~x*_dr2*e];HX$U\j14L\y+ueX`)+ʏ]F\d2/4u uHgN*]ɥÑGTerrLn25y+1JRe1-dGؘ0ok^/˽Zu#`]-ѓ6HWv=ֹۼ#=E.IwMaf - 1Epu,ۨS'tQ2J,l(*9 UC^ⲹMa4{xOb @K<:sHU%P(QmY8z ދXRhr] ȇJ$6)3%j`aVD{ML"3/e-@f%9'ÈHK*ƃ !(M2 t3 7Ŋ :SOT͒ 4Vt+-{)D_c j.Y$,3qa4;5}[ K 70fř8B}^FD7Ly )Nq\$tn ou="5"C܏$=4P˰1Iڸ o*;ΫQb "S~)+kSԺI'̇n 4z)=2m3H+:Oʝ]v rO(yAc3MȺ4:4kpl(aQBjNߤߞ+:v|Pv4jO `P,b/Jf(;tf7e 8 -=%ë4TOwqlRp_v|0'brlfrȺCYh"3۴R衣vЈUZ?FOuj9*yX1 ;)iʬ2$n̫4 `i}?LJ' [Jn.vqLW?ZMyP{(Ůw6V+ ؉Vu-/ O,n5!/PM{3XSJ?dz(9@ -GHmRJZ$.i4yx $z\r"z+G/jR ѵ~ -2Fz(!hz]y`e\!p D)&^2 K[~Dxomrc} AcHʫ'?f3GPǨ`-ȎPmGԙљM1*Q&A`W"틧hoc ~5ɬ)V*jft<6.r54,m=8Bh?sZj(":8]4{/cZ!iicQ>ḅW`lSR-p A :ͯ/ TJt}e%  hn' ((R}=1IB 4c+s;ⰗNzyHfnlIȗ:C|.xx-2D{<Bc*b/Ł}-r3PgV~ܖM?в_i"651*:vb F%^@G~G0:2.1;w=tRUm -C?uTHI fk:)+ڊ\ "] v`c󙅜 L.*3,fو[glOXqJ z73'q_ΰxk*5ڧ_0G97|M@;KYE: fht#b!˴)̅|QXiAaF@Rg.~L vYaUy(;TAssND Z+C (1M|g" frjM+)m2*u-dБ?$U|r:ٖR;UmÊ@WbܩWb:ZM4Zݰ~eF=^@c$sݨE ioB`,CϡN tDO_M If\iOO^p 72P'ΙӰ3hi,܃0Q΃M1؁NoJ#>1q뻝rL cLkW^=f^$ ৠ<#9ek5@@~xPhY2N$@͔}Qt/0 J #rݲ *,hO.d`Vbԋ21K[dTQ.MmNuI仅3釻X(!Q^Vi3i+܃M9m;WwlQwRF_I@mw\ъu #aatU|>u_F]yYv/6B}N"mFpę}o)6l%*7軩3ݝx`_[ oܘ(+Qa4֦ˣͤF0"Z<,ӹtC1,䅾#CcuQ*^C+.iA~6 :r- Vr{+RS4Jղq Vʬsʘ])*]/ p 24Rз&ի&g0%D* "w *'~HáJN |QK&7'̠}YX=x06g? (T1܋9 2*Y;Eoz̗3]WH?8PK4!ۀ^@VҿMV=Ll~fzmtaRwǻᠷ8'ڼgt.v3)>#$lv'1J;'slnH-9_J jqQЎHflzw DNTBP3Z0 +vW?>x c/zry瞅\ܾv0ȠEFSZ$ ,Wy@?/hg9lM7Wv,bJnIEdMC&J3vР&I@.r6{G鏺J&B_#7 Q?7*솖 kV_{DHj@񭁁)eba$m vV` 3J}jD*4;(˷x(ӑ?=sNm jəh.<53rxDiՆ'ي p3bk!Rʶ&mPdf8X8@y; ;Nn:1!w{ {v-OZ%9L[ H!Js2PYK=߉7/bEC h:Uєa5HP!&8Yl8ʷ0CEQX{* iLtmRoPb3 LC%'l Xl |j dGotHbGir* 㐉*xW٦3 i>:-F=71hz/Cs>i?4<߁)Z@`To%_*j#녌 7KGTTd@;P}`eW`N.I]?meZ=q\/;Ku!+XWjnn7S3! dKRMoâIM8'x袱k0~z\n>* 8Zwl*Y:" KUWC)96֡ZA-%該_'cAu@HgBJ&V7s3ԧ^9Ռ5Ӳ*&7 `OoX$N8UQV{AI͖|_0~VpEq'Х" f$KZ8R>l=3 ԙI; zײԆۓ%ߘ\ʋ FsK񷓭PQ+| Wn`eXؼcEFTù8hxF}O["3o=fH&l B+nM2,N7#.7B6TN޿q:W?Hb5BH0W^4c= 5[(_nnƧ]\Khث~M^yr]^}Q 95³{?ooLJM?lҹzt^oׄY\(0̦Ri. mwLD]i+wB2VA297* 5)m ̐T/O`=2ԵG^ '[4@N{RU8HN%̗F۝)ߤ _UwG{n< 8WF6kzu VÄrn w(nqǬQV;Kљ@S"yÆlA'Q=9b/i YG!Z,y.Ar~󆁅w=Yד!6- :/PArOuWMp>fsmߥ =ЎWq&/ +B[aC !2YڃbE4(C0Ѻny9c,uX Jyˬn^aԖ?Rtn*eW^v#m1pV?Oc[`R8([e@6tnXV-ZkS J٠@"Fz 6 FrjD{]V v%'r2궱z(U bA#?^peغ  91)x2H9X‹+OҊ1 X? e:G5܈*9:o0)NáAHLwQotI:NP6v zx#3Jt$~嗎CenDz?^/ƭ9JYt~4gk+Ic1}A,qnPA[H< ņ=uUș |wi 5ppEufF |ns%7UKf`7`B[aʲbj8*D/ ~wOOmVo0K4x7wj^ݸnj6YIӿ]U\05oy iae_'*oK!eрR)TZb7?[san{,nOR GR w.o8o%?p>ZGYE nK>R1Wgu|OBjZXl+8\DXzvdj@3LL1g(35Tct}59Fb&?Rc@b뵙!#Uipb$"dPqP;dtN>DQ7o=Kf⽲n`˶:S<@zx4漸,OZld5WB0V critYlMX@ÇQvtڭPKl oT?}1BsAgP`wZF@ahk7z]Noq[pZ*T{Ik_c!Uh]ĂAjE+9kߡmUD{UQ+}C}4Na.]gbEžM?"b.r,&C0:[~L63h#Tt,K%ƙy7'@Ӂ 'Y͋s+g҃Tǖt05BH*DǑ. ǔ,a(=59;7]>'1xx] ) ͗,>؇`oХ;[$ca@xV͔Toi.kVI1{cX t^G+7Κ2㰲lJ\ K}p)&o>D;4R*8Q9jjΌ&*FúLX gu8Ӻp[KU.k8YU'3oa٪8lm4rT` ,#jϊWTېkND*dY^AM2a{5uMkʗ܈#w4*C%XijMrZ[lQ>6l~T+ Z?YFP ){LJ#/\xI~bgDƮr$ϊB%)@*Z~\Ad[9 !Wi7[jiU[bPL:X?pZf_nhîF PBOu6M ı g]Y|nմz ?f}Ygf̫OZaP[|n5YA42E8M[ SغY\rfٕUn E"2Bza.ZiX9oo 'KiF1Abt$¯R1jS 9c"nR}wJbB=n9B'3ӎB=">\<C݅W:N<Rfu ovOt7nF&zRGg98Rꖡp͐Oͼg$Û?R‰J7nmgPG-98}/Nu]H=+jj('3rLl1.ׂOܬ@],ܡ+E72%QHyAdOn2<w>PխTRSQ Sܛw2?w P0X7<F QجT@Q#*h>U*1CN5BA@,Cy|DKO-֛M}$At g T"hr1] YZ