drbd-kmp-default-9.1.16_k6.4.0_150600.23.25-150600.5.2.1<>,U<g2p9|:"&M esNſZO`V="t$M׬$n>-hyۏqI@ϯpz`rn(oO`vezT}=^ yA6՘@tVL?U!қv ۣf31Nn?U9SE< XkMЦ=!01׮ˁ&`<$`aDɒ# ½ *ZW·8%j>R?|d. ; I:K am          @  D T h |   7757@@@-(@.8@8C9ADC:EhC=>?@GHIXYl\ L] \^ b c d -e 2f 5l 7u Lv \w hx xy T+,06xCdrbd-kmp-default9.1.16_k6.4.0_150600.23.25150600.5.2.1Kernel 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.g2h04-armsrv2SUSE Linux Enterprise 15SUSE LLC GPL-2.0-or-laterhttps://www.suse.com/Unspecifiedhttps://drbd.linbit.com/linuxaarch64 run_if_exists() { if [ -x "$1" ] ; then "$@" else echo Cannot execute "$1" >&2 fi } run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/kmp-pre --name "drbd-kmp-default" \ --version "9.1.16_k6.4.0_150600.23.25" --release "150600.5.2.1" --kernelrelease "6.4.0-150600.23.25" \ --flavor "default" --usrmerged "0" "$@" run_if_exists() { if [ -x "$1" ] ; then "$@" else echo Cannot execute "$1" >&2 fi } run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/kmp-post --name "drbd-kmp-default" \ --version "9.1.16_k6.4.0_150600.23.25" --release "150600.5.2.1" --kernelrelease "6.4.0-150600.23.25" \ --flavor "default" --usrmerged "0" "$@" run_if_exists() { if [ -x "$1" ] ; then "$@" else echo Cannot execute "$1" >&2 fi } run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/kmp-preun --name "drbd-kmp-default" \ --version "9.1.16_k6.4.0_150600.23.25" --release "150600.5.2.1" --kernelrelease "6.4.0-150600.23.25" \ --flavor "default" --usrmerged "0" "$@" run_if_exists() { if [ -x "$1" ] ; then "$@" else echo Cannot execute "$1" >&2 fi } run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/kmp-postun --name "drbd-kmp-default" \ --version "9.1.16_k6.4.0_150600.23.25" --release "150600.5.2.1" --kernelrelease "6.4.0-150600.23.25" \ --flavor "default" --usrmerged "0" "$@"AA큤g2g2g2g21ed740863a364e9594e065fff7aaf62611d7267ef04c63f0420f47bf897432ae7b2da9752cd189e411f1c8ecab20d27734e4a221eb659b7d59b14f22ec9310e0rootrootrootrootrootrootrootrootdrbd-9.1.16-150600.5.2.1.src.rpmdrbd-kmpdrbd-kmpdrbd-kmp-defaultdrbd-kmp-default(aarch-64)drbd-kmp-default-k6.4.0_150600.23.25kmod(drbd.ko)kmod(drbd_transport_tcp.ko)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/sh/bin/shcoreutilsgrepkernel-defaultksym(default:___ratelimit)ksym(default:__alloc_skb)ksym(default:__bio_add_page)ksym(default:__bitmap_and)ksym(default:__bitmap_equal)ksym(default:__blk_alloc_disk)ksym(default:__cpu_online_mask)ksym(default:__cpu_possible_mask)ksym(default:__dynamic_pr_debug)ksym(default:__folio_put)ksym(default:__free_pages)ksym(default:__get_free_pages)ksym(default:__get_random_u32_below)ksym(default:__get_task_comm)ksym(default:__init_rwsem)ksym(default:__init_swait_queue_head)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_refs)ksym(default:__rb_erase_color)ksym(default:__rb_insert_augmented)ksym(default:__rcu_read_lock)ksym(default:__rcu_read_unlock)ksym(default:__register_blkdev)ksym(default:__request_module)ksym(default:__stack_chk_fail)ksym(default:__stack_chk_guard)ksym(default:__sw_hweight32)ksym(default:__sw_hweight64)ksym(default:__vmalloc)ksym(default:__wake_up)ksym(default:__warn_printk)ksym(default:_find_first_bit)ksym(default:_find_next_bit)ksym(default:_find_next_zero_bit)ksym(default:_printk)ksym(default:_raw_read_lock)ksym(default:_raw_read_lock_irq)ksym(default:_raw_read_lock_irqsave)ksym(default:_raw_read_unlock)ksym(default:_raw_read_unlock_irq)ksym(default:_raw_read_unlock_irqrestore)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)ksym(default:_raw_spin_unlock_bh)ksym(default:_raw_spin_unlock_irq)ksym(default:_raw_spin_unlock_irqrestore)ksym(default:_raw_write_lock_bh)ksym(default:_raw_write_lock_irq)ksym(default:_raw_write_lock_irqsave)ksym(default:_raw_write_unlock_bh)ksym(default:_raw_write_unlock_irq)ksym(default:_raw_write_unlock_irqrestore)ksym(default:alloc_pages)ksym(default:alloc_workqueue)ksym(default:alt_cb_patch_nops)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:bdev_alignment_offset)ksym(default:bdev_discard_alignment)ksym(default:bio_add_page)ksym(default:bio_alloc_bioset)ksym(default:bio_alloc_clone)ksym(default:bio_associate_blkg)ksym(default:bio_end_io_acct_remapped)ksym(default:bio_endio)ksym(default:bio_put)ksym(default:bio_split_to_limits)ksym(default:bio_start_io_acct)ksym(default:bioset_exit)ksym(default:bioset_init)ksym(default:bitmap_parse)ksym(default:blk_check_plugged)ksym(default:blk_finish_plug)ksym(default:blk_queue_flag_set)ksym(default:blk_queue_max_discard_sectors)ksym(default:blk_queue_max_hw_sectors)ksym(default:blk_queue_max_write_zeroes_sectors)ksym(default:blk_queue_write_cache)ksym(default:blk_set_stacking_limits)ksym(default:blk_stack_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_zeroout)ksym(default:blkdev_put)ksym(default:call_rcu)ksym(default:call_usermodehelper)ksym(default:capable)ksym(default:complete)ksym(default:complete_all)ksym(default:copy_highpage)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_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:debugfs_rename)ksym(default:del_gendisk)ksym(default:destroy_workqueue)ksym(default:device_add_disk)ksym(default:devmap_managed_key)ksym(default:disk_update_readahead)ksym(default:down)ksym(default:down_read)ksym(default:down_trylock)ksym(default:down_write)ksym(default:down_write_trylock)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:dynamic_cond_resched)ksym(default:dynamic_might_resched)ksym(default:dynamic_preempt_schedule)ksym(default:errno_to_blk_status)ksym(default:finish_wait)ksym(default:flush_signals)ksym(default:fortify_panic)ksym(default:free_pages)ksym(default:fs_bio_set)ksym(default:fs_dax_get_by_bdev)ksym(default:genl_register_family)ksym(default:genl_unregister_family)ksym(default:genlmsg_multicast_allns)ksym(default:genlmsg_put)ksym(default:get_random_bytes)ksym(default:get_random_u32)ksym(default:get_random_u8)ksym(default:gic_nonsecure_priorities)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:iov_iter_bvec)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_sigaction)ksym(default:kernel_sock_shutdown)ksym(default:kfree)ksym(default:kfree_skb_reason)ksym(default:kmalloc_caches)ksym(default:kmalloc_trace)ksym(default:kmem_cache_alloc)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:kvfree_call_rcu)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: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_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_strscpy)ksym(default:nr_cpu_ids)ksym(default:ns_to_timespec64)ksym(default:nsecs_to_jiffies)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:prepare_to_wait)ksym(default:prepare_to_wait_event)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_first)ksym(default:rb_next)ksym(default:refcount_warn_saturate)ksym(default:remove_proc_entry)ksym(default:sched_set_fifo_low)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_capacity_and_notify)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:sock_sendmsg)ksym(default:sock_set_keepalive)ksym(default:sprintf)ksym(default:strcmp)ksym(default:strlen)ksym(default:strnlen)ksym(default:strscpy)ksym(default:strstr)ksym(default:submit_bio)ksym(default:submit_bio_noacct)ksym(default:sync_blockdev)ksym(default:synchronize_rcu)ksym(default:sys_tz)ksym(default:system_wq)ksym(default:tcp_sock_set_cork)ksym(default:tcp_sock_set_keepcnt)ksym(default:tcp_sock_set_keepidle)ksym(default:tcp_sock_set_keepintvl)ksym(default:tcp_sock_set_nodelay)ksym(default:tcp_sock_set_quickack)ksym(default:time64_to_tm)ksym(default:timer_delete)ksym(default:timer_delete_sync)ksym(default:timer_shutdown_sync)ksym(default:try_module_get)ksym(default:unregister_blkdev)ksym(default:up)ksym(default:up_read)ksym(default:up_write)ksym(default:vscnprintf)ksym(default:vsnprintf)ksym(default:wait_for_completion)ksym(default:wake_up_process)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)suse-kernel-rpm-scriptletssuse-kernel-rpm-scriptletssuse-kernel-rpm-scriptletssuse-kernel-rpm-scriptletssuse-kernel-rpm-scriptlets1d24c8819f37b1b174638b24eca957d16d1148811779f1e3b4b3ec35c9ace112cf56265a2085ccefc0baa386a5cb5eefba7a5f5b0edb8957b4da6ff608741b5d9a5ea54d542439eb233a45cefb0c9f83f51840ce9a73b9b4b68353551bd071120b336a8d5227142469810f720a27a7a24f23d865ba735b8f678b0774c134b99f46ced8ae04012ce2964344564701188810754a53a1e8d9df52144292997ed8fe8c61f048112d76b1342cdbdd4d55b6a58af0a6df2ebb87ba8fbd64c3690fc8427cc7b34db050bb5b54b34e46021ca4b750f53d35cce7051a511eb3aca01905021bd81e7ab1ecc9f76baf4eb078aee2991aa9249cd25ed6b07923125301bc6ad73041f2ede3ecc854a1bf14496acf6eb0cbca6ea0ed67e6fec2d3fdfa99caaf79a0b78d47df74d0f85df8dd516488fc89d20bbbb4d964cae89b49d36a9f4eb97220ffd27b25ddd8694318481db08f9b099546885558197b44f6fbf5a61e2dba20e12534f2aa474d5b34984502a47f09d0e2165baf41b17a6b0f354bb278428aa6a67a7eedcc4c6cbbc89a6257a2f93d6dd8c8759ba85b15b4109fe0cf441470baa0e536982be64902492e71bfad1f60938ea2d609547d84d35bd8eee3399a32962a96de87629ed7faf5294b8ecea7f67b127978ff2ae8c03d20c65b4f3d9587f22d748f9e4c46626afca668b19a1e9ffc06357bc19d2e40c37ea18888d00447d433982b008a212ffe25ca805afd15c16aff12b4fa5b1705d9dd6fe67bec0fd57494091b8759c0f1d606fc480216ff3a485daca820e612bfd8992540fbf424b1441cbd4898c4302d0ebd593d64ce645791ccf5d25448ab70701e0d22de234b66541ed3709d36dc10c9858f3644b0a3f52b8f116038e17b3ae20978fb9c57c48a37665a95b5ac58a06c6f46339fe487975eb02a7f815ba50a637befc70fb384d37be073dc74fd85be393d7a3936df1aaf16880fe8237a0cba4deb75994512d601b18776a5a36ab9272d874bad6f515f5a350d3168986f20d25523eb832d39b0a75c3c73871981ef76b43f9365c4f0da12587b09547aa1756e44c10a52449ad0a74829a47e5a9f1d63c3762aec766a0927c972449f38e46431a897e3e7d985dc998a99a01615c85de3dcb764adc38c83b81e0a0c246a70145fd6144450364c23ad4dfa8d4b89940875bb9ed3bf3213f038327f2c6dcd279169f1db1704d15cb96e44d9801543ca69f1a3394ba784823cf317de3d565929caeffae8e8bf1e046ccce8a69237092beadf7bf79141a6985034e0588dd5fd90f18c26d495c88470377242d923e9eb087c5b6f2366d5f5b91ece784c2ca9360b5296695f8f985fda9c35a84f1000e518ddd8aad54496b4151f4898968481869c8995c5610de74b7b46e969372d472b990f15012795d04780f9da8af80f6b7ee888801d69f0fff924f411b656e4a6e8c5a5479a7bf9e66133e4d681f21ca273c3ff9fde2d5255a98cf60b3a916b694dd64e6391e6d26a8942089e8ee0b2b20b169b9ca6091797ffe5d4bb22d3385d3ddfc13c186ad2d3071ff86dfb5b604ca6c1fb509536d98bafff5afcdc0e485582ee90dcdf237453d49c75d9b5a459dccf2a696653b954a2ce807a25aa0c318b1486532597400092bc2c253.0.4-14.6.0-14.0-15.2-1drbd-kmp-default-k6.4.0_150600.23.254.14.3eeKx@e@@dc @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.comheming.zhao@suse.comheming.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 fails to build with the latest 6.4 kernel of the week (bsc#1218658) * Add patch + 0006-drbd-log-numeric-value-of-drbd_state_rv-as-well-as-s.patch + 0011-compat-block-pass-a-gendisk-to-open.patch + 0013-drbd-remove-unused-extern-for-conn_try_outdate_peer.patch + 0014-drbd-include-source-of-state-change-in-log.patch + 0015-compat-block-use-the-holder-as-indication-for-exclus.patch + 0018-drbd-rework-autopromote.patch + 0019-compat-block-remove-the-unused-mode-argument-to-rele.patch + 0022-compat-block-replace-fmode_t-with-a-block-specific-t.patch + 0023-compat-genetlink-remove-userhdr-from-struct-genl_inf.patch- drbd failed to build after 15sp6/dolomit updated kernel (bsc#1216666) * Add patch + bsc-1216666-compat-sock-Remove-sendpage-in-favour-of-sendmsg-MSG.patch- drbd failed to build after 15sp6/dolomit updated kernel (bsc#1216666) * Add patch + 0008-compat-block-introduce-holder-ops.patch- Update DRBD version from 9.0.30+ to 9.1.16 (jsc#PED-6362) * 9.1.16 (api:genl2/proto:86-121/transport:18) * shorten times DRBD keeps IRQs on one CPU disabled. Could lead to connection interruption under specific conditions * fix a corner case where resync did not start after resync-pause state flapped * fix online adding of volumes/minors to an already connected resource * fix a possible split-brain situation with quorum enabled with ping-timeout set to (unusual) high value * fix a locking problem that could lead to kernel OOPS * ensure resync can continue (bitmap-based) after interruption also when it started as a full-resync first * correctly handle meta-data when forgetting diskless peers * fix a possibility of getting a split-brain although quorum enabled * correctly propagate UUIDs after resync following a resize operation. Consequence could be a full resync instead of a bitmap-based one * fix a rare race condition that can cause a drbd device to end up with WFBitMapS/Established replication states * 9.1.15 (api:genl2/proto:86-121/transport:18) * fix how flush requests are marked when submitted to the Linux IO stack on the secondary node * when establishing a connection failed with a two-pc timeout, a receiver thread deadlocked, causing drbdsetup calls to block on that resource (difficult to trigger) * fixed a NULL-ptr deref (a OOPS) caused by a rare race condition while taking a resource down * fix a possible hard kernel-lockup, can only be triggerd when a CPU-mask is configured * updated kernel compatibility to at least Linux head and also fixed a bug in the compat checks/rules that caused OOPSes of the previous drbd releases when compiled with Linux-6.2 (or on RHEL 9.2 kernel). * fix an aspect of the data-generation (UUID) handling where DRBD failed to do a resync when a diskless node in the remaining partition promotes and demotes while a diskful node is isolated * fix an aspect of the data-generation (UUID) handling where DRBD considered a node to have unrelated data; this bug was triggered by a sequence involving removing two nodes from a cluster and readding one with the "day-0" UUIDs. * do not block specific state changes (promote, demote, attach, and detach) when only some nodes add a new minor * 9.1.14 (api:genl2/proto:86-121/transport:18) * fix a race with concurrent promotion and demotion, which can lead to an unexpected "split-brain" later on * fix a specific case where promotion was allowed where it should not * fix a race condition between auto-promote and a second two-phase commit that can lead to a DRBD thread locking up in an endless loop * fix several bugs with "resync-after": - missing resync-resume when minor numbers run in opposite direction as the resync-after dependencies - a race that might lead to an OOPS in add_timer() * fix an OOPS when reading from in_flight_summary in debugfs * fix a race that might lead to an endless loop of printing "postponing start_resync" while starting a resync * fix diskless node with a diskfull with a 4KiB backend * simplify remembering two-pc parents, maybe fixing a one-time-seen bug * derive abort_local_transaction timeout from ping-timeout * 9.1.13 (api:genl2/proto:86-121/transport:18) * when calculating if a partition has quorum, take into account if the missing nodes might have quorum * fix forget-peer for diskless peers * clear the resync_again counter upon disconnect * also call the unfence handler when no resync happens * do not set bitmap bits when attaching to an up-to-date disk (late) * work on bringing the out-of-tree DRBD9 closer to DRBD in the upstream kernel; Use lru_cahche.ko from the installed kernel whenever possible * 9.1.12 (api:genl2/proto:86-121/transport:18) * fix a race that could result in connection attempts getting aborted with the message "sock_recvmsg returned -11" * rate limit messages in case the peer can not write the backing storage and it does not finish the necessary state transitions * reduced the receive timeout during connecting to the intended 5 seconds (ten times ping-ack timeout) * losing the connection at a specific point in time during establishing a connection could cause a transition to StandAlone; fixed that, so that it keeps trying to connect * fix a race that could lead to a fence-peer handler being called unexpectedly when the fencing policy is changed at the moment before promoting * 9.1.11 (api:genl2/proto:86-121/transport:18) * The change introduced with 9.1.10 created another problem that might lead to premature request completion (kernel crash); reverted that change and fix it in another way * 9.1.10 (api:genl2/proto:86-121/transport:18) * fix a regression introduced with 9.1.9; using protocol A on SMP with heavy IO can might cause kernel crash * 9.1.9 (api:genl2/proto:86-121/transport:18) * fix a mistake in the compat generation code; it broke DRBD on partitions on kernel older than linux 5.10 (this was introduced with drbd-9.1.8; not affected: logical volumes) * fix for a bug (introduced with drbd-9.0.0), that caused possible inconsistencies in the mirror when using the 'resync-after' option * fix a bug that could cause a request to get stuck after an unlucky timing with a loss of connection * close a very small timing window between connect and promote that could lead to the new-current-uuid not being transmitted to the concurrently connecting peer, which might lead to denied connections later on * fix a recently introduced OOPS when adding new volumes to a connected resource * fix online attach when the connection to a 3rd node is down * 9.1.8 (api:genl2/proto:86-121/transport:18) * restore protocol compatibility with drbd-8.4 * detect peers that died silently when starting a two-phase-commit * correctly abort two-phase-commits when a connection breaks between phases 1 and 2 * allow re-connect to a node that was forced into secondary role and where an opener is still present from the last time it was primary * fix a race condition that allowed to configure two peers with the same node id * ensure that an open() call fails within the auto-promote timeout if it can not succeed * build fixes for RHEL9 * following upstream changes to DRBD up to Linux 5.17 and updated compat * 9.1.7 (api:genl2/proto:110-121/transport:18) * avoid deadlock upon trying to down an io-frozen DRBD device that has a file system mounted * fix DRBD to not send too large resync requests at multiples of 8TiB * fix for a "forgotten" resync after IO was suspended due to lack of quorum * refactored IO suspend/resume fixing several bugs; the worst one could lead to premature request completion * disable discards on diskless if diskful peers do not support it * make demote to secondary a two-phase state transition; that guarantees that after demotion, DRBD will not write to any meta-data in the cluster * enable "--force primary" in for no-quorum situations * allow graceful recovery of primary lacking quorum and therefore have forzen IO requests; that includes "--force secondary" * following upstream changes to DRBD up to Linux 5.15 and updated compat * 9.1.6 (api:genl2/proto:110-121/transport:17) * fix IO to internal meta-data for backing device larger than 128TB * fix resending requests towards diskless peers, this is relevant when fencing is enabled, but the connection is re-established before fencing succeeds; when the bug triggered it lead to "stuck" requests * remove lockless buffer pages handling; it still contained very hard to trigger bugs * make sure DRBD's resync does not cause unnecessary allocation in a thinly provisioned backing device on a resync target node * avoid unnecessary resync (or split-brain) due to a wrongly generated new current UUID when an already IO frozen DBRD gets new writes * small fix to autopromote, when an application tries a read-only open before it does a read-write open immediately after the peer primary vanished ungracefully * split out the secure boot key into a package on its own, that is necessary to allow installation of multiple drbd kernel module packages * Support for building containers for flacar linux * 9.1.5 (api:genl2/proto:110-121/transport:17) * merged all changes from drbd-9.0.32 - fix a read-access-after-free, that could cause an OOPs; triggers with an unusual configuration with a secondary having a smaller AL than the primary or a diskless primary and heavy IO - avoid a livelock that can cause long IO delays during resync on a primary resync-target node - following upstream changes to DRBD up to Linux 5.14 and updated compat (including RHEL9-beta) - fix module override for Oracle-Linux * fixed a locking regression of the 9.1 branch, only relevant in the moment a local backing device delivers an IO error to drbd * removed compat support for kernel older than Linux-3.10 (RHEL7) * code cleanups and refactoring * 9.1.4 (api:genl2/proto:110-121/transport:17) * merged all changes from drbd-9.0.31 * enabled dynamic debug on some additional log messages * remove (broken) write conflict resolution, replace it with warning about the fact * debugfs entry for the interval tree * 9.1.3 (api:genl2/proto:110-120/transport:17) * merged all fixes from drbd-9.0.30-0rc1 * fix a corner-case NULL deref in the lockless buffer pages handling; the regression was introduced with 9.1.0 (released Feb 2021); To my knowledge it took 6 months until someone triggered it for the first time * fix sending a P_PEERS_IN_SYNC packet into a fresh connection (before handshake packets); this problem was introduced when the drbd-8.x compatibility code was removed * remove sending a DRBD-barrier packet when processing a REQ_PREFLUSH request, that improves IO-depth and improves performance with that * 9.1.2 (api:genl2/proto:110-120/transport:17) * merged all fixes from drbd-9.0.29; other than that no changes in this branch * 9.1.1 (api:genl2/proto:110-119/transport:17) * 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 * 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 * fix a merge-mistake that broke compatibility with 5.10 kernels * 9.1.0 (api:genl2/proto:110-119/transport:16) * was forked off from drbd 9.0.19 * has all changes up to 9.0.28-1 * locking in the IO-submit code path was considerably improved, allowing multiple CPU to submit in parallel * rename patch - fix-resync-finished-with-syncs-have-bits-set.patch + bsc-1025089_fix-resync-finished-with-syncs-have-bits-set.patch * remove patches which are already included in upstream code: - bsc-1192929_01-make_block_holder_optional.patch - bsc-1192929_02-move_kvmalloc_related_to_slab.patch - bsc-1192929_03-polling_to_bio_base.patch - bsc-1192929_04-pass_gend_to_blk_queue_update_readahead.patch - bsc-1192929_07-add_disk_error_handle.patch - bsc-1192929_08-have_void_drbd_submit_bio.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_03-genhd.patch - bsc-1201335_04-bio_alloc_bioset.patch - bsc-1201335_05-bio_alloc.patch - bsc-1201335_06-bdi.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 - bsc-1206791-01-drbd-add-comments-explaining-removal-of-bdi-congesti.patch - bsc-1206791-02-drbd-fix-static-analysis-warnings.patch- 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 failure/bin/sh/bin/sh/bin/sh/bin/sh9.1.169.1.16_k6.4.0_150600.23.259.1.16_k6.4.0_150600.23.25-150600.5.2.19.1.16_k6.4.0_150600.23.25-150600.5.2.1447d433e18a7748982b008a212ffe25ca805afd15c16aff12b4fa5b1705d9dd6fe67bec0fd57494091b8759c0f1d606.4.0-150600.23.25-defaultupdatesdrbd.kodrbd_transport_tcp.ko/lib/modules//lib/modules/6.4.0-150600.23.25-default//lib/modules/6.4.0-150600.23.25-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.suse.de/SUSE:Maintenance:36406/SUSE_SLE-15-SP6_Update/7161701cc4f18eb0457f9581a56c89af-drbd.SUSE_SLE-15-SP6_Updatedrpmxz5aarch64-suse-linuxdirectoryELF 64-bit LSB relocatable, ARM aarch64, version 1 (SYSV), BuildID[sha1]=a2e98fa5105e0a34991011b6ba4be91de02a25fb, not strippedELF 64-bit LSB relocatable, ARM aarch64, version 1 (SYSV), BuildID[sha1]=46c8ba206e11aa013c83bf957f9b50a2d940300e, not stripped>PPP P P P P PPPPPRR R R+RRRRfRRRRRRRRRR"RGR,RRhRRDRRRRuRRIRRR9RRRRRRR?RRRRRRRRKRRRRRpR1R[RRRRERRR RRRR%RRRRFRRRRRRR R!RR&RR/RRRRR RRR:RR6RRR7RRRRR*R;RARRRP run_if_exists() { if [ -x "$1" ] ; then "$@" else echo Cannot execute "$1" >&2 fi } run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/kmp-posttrans --name "drbd-kmp-default" \ --version "9.1.16_k6.4.0_150600.23.25" --release "150600.5.2.1" --kernelrelease "6.4.0-150600.23.25" \ --flavor "default" --usrmerged "0" "$@"/bin/shdrbdpackageand(kernel-default:drbd)kernel-defaultutf-8d387dc465e069d836fa655ee2ee6818285dbccbde5583a231374976f7965e392?7zXZ !t/R8;']"k%^BW c! dE(6!%>'N4Lit"b  #BO3o!Pr l-kg$v Up4vd6#XZ-)٦,_ VrE5(r^Eb?ϣ AߓizapX; .U Nbnl_o`%R iUrYw[4r?f?XY4V$S͸Hj2e.g=-p{mr.y2>d~ T^:YA'b/L[Ƹ9I,$\=r(n#^mgX,.ϔ)|b^I5b,< hnAV~(x\#H`)ց9Yqv̍>;ˉ0=xFQ+|U۠Ub;CFO5*#ԇ,IN{+4oե"0ADhEҐK2<99,Wf?K 4.V6{D$uv=ySKo s(Fp;zRǔ  Ձ8-8 T}<4.L?M 6a>QTf+$}T% Tج R{<#"ny{g=ЛqlgOY/؆Rg `?u}T#vSd`U$ި,$n=?`ެ2tƋʶ4w=X^.%H ;Vhԯ3^RLg@HMEkG7I1ySJ)mS r UaXyh >oޔFrK/5b|MiYk,^d)IMX?/!qrCn3 o.j1-{qh愁< pz*'TEnWM(As2AЧbtGG')9eEW\HƃʉwK>L=e6\L4.oO({k̥+g$~y"b޲ȑ^;7v!7+e0b 9˩:])䳡 Ȍa!NwStVr x< ^2p3[q;J̀^iAb^tzxrO!޲b}Ll!䛅 C'ZKp4 G9m ɀ"[0 Ӳl>`gqe0"kbMW~o"ѴUY}3x+s0 ZK9鎖> }Q2kp3EFLgj/ɦIhzN=*R՗XM@%׋ fI zw^5ے[1(qoYvSmZktgD 毪eI 2?k)TTx_dȣ[3_4`:N)ŒQwTʶRlSriڈ1AwW?!Q8'1ܾGSxZJMAR\E5¾)8T-{y,Ndh @Z*s'f*awD|[ಘH@A̬:>|ztyװLZ}ŹȖ*Y -Ϯ#Ts=_w;K{"28XkBZID<] Rp&WH-5t$bMC2آ{4x wI{Z2Հį4qI5]L5nϒD<%<\_ڻ`6Rwcqub^r}0bqhtT?PfH\ Q7Lt< pX0IͷȸLQo⧗&f=j,])N!Wg$)1Uӓ2_[>&M]G۷՗ 6} -5ICt+M(CZsyz/}ɥsy*,ZzsTOs[Mҥ>g>PSDO"nZ%~p6o6%W1ߥjH2S12Pv% d 6/Mvb20FƷ- 0,I-l~P!noTv / F^-6Y<cA`G`J훝f4UYPQAm]<=橔-Юçۖ\ d[>O9wةlmKvrKAoݜ8ZY qa ́MT{q a,&jRZ/U->+XQ(iš{+'Dl|%&U~&O櫣làƗ .@rCf. JSrKridz!R|pF ߨc:L(68gE`yz} ,|!KNT-.?˻Sfo2XziXi^`/+>L/5_ٻ7\DNVXu3{HIO+l+xf;ɊtPe33ޅoR&CFz4.]8i~DŽ BH̝NL'34!d.5q:倩\Wq WS+2ܚO>߀n*RpM]e(`Ю?H$ 4rᥗ oH>3k[I|eՑ][&Wٓ S"ٯ'`?M::kA! Ƌ.Br`ryh@sZWipՍgX'|SgndI &^43<]U0q&yqA7na-Y1A_CÓ1WpG)܀*L'ވt7 RzcRμ? 0p *Ðo?Q]|xU9&(v@jO!1f@dי'N+?%jS 2l?K ]ǹmx׮=ЛMv^1:Sܑ;F 8c-!9RQ7Ġ yʡu_#"R1S_+~q '1q*Ll _̦㮌[ T^VO 7Iaپߌb[`ƶ)A~d\~a2T@|$h, ~"jn~nQPb&a)wux5#(IW m Ӵ 9I_EVG[hkQ8#wʚ;]_pr+ g Qٺ(W4R21-8-Pa"ȠB4'N$*pʃf1r%熐S dRScoBLXFm ,S;NlW vk䂴q7dٻ;,48 #aRjXރp뎾IW}, ~xXu@g(C5mi7 V χ$]t9ڕ'1%XmTO:.*F;YcIZHdGV XBFX\KY2 ^D`;ፔ;ccx"h[hKPD23M|/eq~_\&x"7\'n:w3 (pg<aj8lUg =C>&əol9؛ppI0#s*Ӽ'wnKso>N/u=|º@`W^.+L. \:V8Ǻo<[Y^L%q< %O'xmsPe9SCπYO>B(+eq]ai\pq4W0d&.;N܆NK9vYE ӻجZF]n vO%lq2S+슻ivг*n%U!;HX#EXW1VZ[PfWvshf4N++,:Nu.>4SOD,batm޹JJA?Qz ʖVU(L %7"/5t֠JVH13qwFSC|zu iA]-aHiZQKƾWj }(/ e> Xi,Hsul#VL6JѾ O\PWEK} ^,V&4.7t]XH|X8Le^ẞ|Sr]a24u2Kn ݟ*=<HX6}drXR un?\T$/RڮE{B O4'l*yk䑒֒g βUj>"ۅ7Is08Qw7 \*֜UT%roo_]Oj"sGck[*vsв?4 T":\.:q&t'H*޵ q}Xfi,Ŵc@q^57Wv>QՖh!o ۤ\#"DX bSm!`]d,^D>Y7{[Zǚ}l>K}}Aq:-Я͚~B}=7X~G7ό1[5,7,a|v!&qg o`VP5[ߐ# vwLw&WbSQjdʹ xvWސ6JpD-Qpԓ_\* R &'qtq阶 l-56@  |S$K2B!++Z(Wo_Mӄi>#^84L d7/OsZVrUɛoh[֊=ӊJJO1=+B=ŞMxWIvSc 5+i!ф^{1*vKKb0ȃ"(} 0Vb3U4T jF b9/ȼY ;LTcEy\?%@;72< *HPudA!RҀ& Qܦ" UTA2Dڭfr½Du5 3(XT#갺4RF 0OfCQ\_[O$Rf9J+ZgM#PiwULg'^B_?$ (Wׁt;}6{>ۊ`vH [jzb!:aU;P_w!*: iJ_ ޠDY°Mkd# *TLà-q*T˥NL \eg쒼Xѹ$eVLO] 8bM)ŋ'7ޑ ķzœ|@Eu`ot|rގپ$ ؃j#c%A҉;GRrOê>w~FCw5 ndtb>xr6`%vӰ͙zdjN:"2 8c7ރvhN̿u .,\" H> g'M,joAf11fC sS ߉7"= z:@SI\K$:#^d5.2\h99/}sWU);=hE8`*^EV?*Zx I*DJ%{0d) ]WEBaq0!ru{} I 5  (><Zƚg2^+ɚbDS*f`^(^5T tnno_|GjæL_ 况JW5/eR?OeEksӷ#$g$j;٬ȡIڶ̅S ()>\ =+˳=SdWM F`*"Z"ڣSe]\aa{>/ C~8h2|y#[q&}mbR|k_WÐ{Dl}L:[jL,H'9"V6T ndcE8?"ZU SHT)aʤJb=y4"'9r׋d<8/f`D!IPPU;hLLA5nuP|S0S¿I㤔6& q}g)w<16?$ nI|c X,Jh 47?]_;C%*|lh$8p G}5͐_A{BtTdn͍"VD}SNZ-ẘe; L3ݔZoQ(yhy7>P?'r,̘Vw~۞,*! [L6R!xXNe|G/X6_2Dl~Xɷ ؝<4(j)ٍ8~怜z-rhRJFET%Shԣ %B H{Kk~8PTBs}ph>Kt;]PJ-)h4耭GJ}$Z6%FLD\OaWT!N.gA.ca%2~/f<ѲƁͶ~bjHI5a˖ihoOPdH֢^ j%mFZNMt'K #-uAlJ!xSK"Xj$yr' 7~a^p xUQ+=shM " 0>HCO) 皡('դE˫P"VN݇LW7iz=ȃ P(kle)}0V~3T`Rh^^rS9}cMZ!sp$j+ĨKrO\}krNN᷶$NaX^sO(+*s6gJEhL&3\ 2Dʋ=㫚K=A`y7yIU=qmpcm(V'hfvTgP:015i9~{'7_szLMvt/f+$``P ! G..ev u}Q;H1{%?ZM!OmW$?Tp~ hHK9 Kbyb|nq!AJ!*E+R9(j}P$7>jbjnzaNMmoq˦:бLg K 1WBRԺ->:`@tLEx"C=B8a25Q}`lK{ :V |±?Sh󪅿ODBq!^]5Y똚d#o{MQ{۱&em/Pv*<v_$p: QwK0XN!r-(xN`li[UŝZ+W]ԘFC; (C:Y߷2e2A=mTi$f}vFUQtGqO>oPC3phT' RP/Cc($y*-@eCXAy' aך/=-=^!AXo29u1+!8C'D Vt B/% Ӹm]IwLɌg_?F6EI=fdN4`*+VFi_|~$Z;c $'򤐄u`4,à;ǥ4IK4J ^O rN$ @rh6)SW);wz'x)W^DPu@1L娶Rz `븎CQSsa |c[i?dy^YsGvz8Lnԃ/r7NIRwd?&:\Hb`,NJAu85F%N*kgġۖM[K|VI-;vwf |?,Ih$`*w8qed_+wj%9Y1BZV7+|D8?)p>B>=l,<ǓkB߈Pp 5nT7pkAXL4v-8,Tr܊%E"TOe94i4ԏRK=q΍g J)Ws[L". (>©5o{ٝ_ΓqTHw ß>wFɢkgJb8p2jO:dK($YKea\'|IAJfi.R^XÃEvQ}nؑehdu^sh3˘@D*4DINlǰbFVx h!; qD[ޝ/ r E瀥 mcooiP"{_"xz.Q@&SY4M>d,,eIlDAXX`r[&Fr l#M #2!-RDŜ'dWCPs 7%iR^B@bo ׯQ-'dwBg/y7*gv,nIGY+30[A>4LWOBf*fBnH]gs~w@W`nWbVƻު32#1apmK%q .1">V >!^X6B)W5PF9ʋ$، $?q08Ke)#[E0{EQKc]W9<$5?//AK 7O1H4&<Ϝ]Zm;.R|T-jtDVҽ~ܯc7P7ë7O&Pܘ+:28mO259.%kYx$Tli *ZX{mVhB!4u9UL$MC ^ I(OH\]lbf3;]n\Y;AT< =?j G>; m8汆Fb:=g(mP/]!ΚP*nc3h/M-EҐYGߡˑɢYMIeRa[w[!ԈdSb@x=@f7)wI]ʌͦc! >K[K̨oz{zW.K>kZ 'o6F}%EGČ'd$H?W(*ܔXs#d#Z% ǵ.ķRXA Yɨ{aNe~zq]W!ʿ++rj'{Nt~kx,l!UH W5y,8Px'g9Dr>r y8k]tDSXG|K^Ԍ:2Њтu{=hKD6<P! U5A 0[E=%jϼTj5JXS. Έ69ljA<V|su#>\*iH*@ \9aaj5/u&&0V0QRtg4e>opk$ӃfQ&M8yLY)I ^(ͣ+lUEEL8. HW\ݴQp1ώ,4`3EQioI{瘬K۵m0s/{bw*V9/Kyۖd8;GDi,`Dh%7CRT Zų<c&ԪTG.Ds@yXhd{9-k@u,F#%y$4^ ‹eKRR3S&&LOLɅp }aFf!쑪z} V E9phYnk)`ZuJiŒs O^ ZZ1&x,;hzj'޼ن[m7iIi=fѹyJAb10zMYިcl>W3}sf\`ք0Ɍ*z(غgC:mE;׾kKar٢/ߗJ0Y+m^Q+W@Rk@)&'OK~ZQvw9ǎZUEB"PL5F﫚ztԫ։]kNwUc'+Inv$aAc.@? ]?mg8=aN+EU'm@1G]0y/ ^ P[9FEXD\|ߪ ǡpFzNM6X}LɤBCh9[5,dr[΀mER:*A"sӜtKZߨX~8a8o4&$B2ȡ"%30ıc>><'ISe8-{FlM/X:hM[ >O [ fx;iHw2܍5z=d]}5ZUY?UdE3dq $3#wv.j YZ