<div dir="ltr">Attaching another build issue on Arch, kernel 5.9.6-arch1-1 (x86_64)  ...<br><div><br></div><div>DKMS make.log for drbd-9.0.26-0rc1 for kernel 5.9.6-arch1-1 (x86_64)<br>Fri Nov 13 10:14:12 GMT 2020<br>make: Entering directory &#39;/var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd&#39;<br><br>    Calling toplevel makefile of kernel source tree, which I believe is in<br>    KDIR=/lib/modules/5.9.6-arch1-1/build<br><br>make -C /lib/modules/5.9.6-arch1-1/build   M=/var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd  modules<br>  COMPAT  __vmalloc_has_2_params<br>  COMPAT  alloc_workqueue_takes_fmt<br>  COMPAT  before_4_13_kernel_read<br>  COMPAT  blkdev_issue_zeroout_discard<br>  COMPAT  drbd_release_returns_void<br>  COMPAT  genl_policy_in_ops<br>  COMPAT  have_SHASH_DESC_ON_STACK<br>  COMPAT  have_WB_congested_enum<br>  COMPAT  have_allow_kernel_signal<br>  COMPAT  have_atomic_dec_if_positive_linux<br>  COMPAT  have_atomic_in_flight<br>  COMPAT  have_bd_claim_by_disk<br>  COMPAT  have_bd_unlink_disk_holder<br>  COMPAT  have_bdi_congested_fn<br>  COMPAT  have_bio_bi_bdev<br>  COMPAT  have_bio_bi_disk<br>  COMPAT  have_bio_bi_error<br>  COMPAT  have_bio_bi_opf<br>  COMPAT  have_bio_bi_status<br>  COMPAT  have_bio_clone_fast<br>  COMPAT  have_bio_flush<br>  COMPAT  have_bio_free<br>  COMPAT  have_bio_op_shift<br>  COMPAT  have_bio_rw<br>  COMPAT  have_bio_set_op_attrs<br>  COMPAT  have_bio_start_io_acct<br>  COMPAT  have_bioset_create_front_pad<br>  COMPAT  have_bioset_init<br>  COMPAT  have_bioset_need_bvecs<br>  COMPAT  have_blk_check_plugged<br>  COMPAT  have_blk_qc_t_make_request<br>  COMPAT  have_blk_queue_flag_set<br>  COMPAT  have_blk_queue_make_request<br>  COMPAT  have_blk_queue_merge_bvec<br>  COMPAT  have_blk_queue_plugged<br>  COMPAT  have_blk_queue_split_bio<br>  COMPAT  have_blk_queue_split_q_bio<br>  COMPAT  have_blk_queue_split_q_bio_bioset<br>  COMPAT  have_blk_queue_update_readahead<br>  COMPAT  have_blk_queue_write_cache<br>  COMPAT  have_blkdev_get_by_path<br>  COMPAT  have_d_inode<br>  COMPAT  have_fallthrough<br>  COMPAT  have_file_inode<br>  COMPAT  have_generic_start_io_acct_q_rw_sect_part<br>  COMPAT  have_generic_start_io_acct_rw_sect_part<br>  COMPAT  have_genl_family_parallel_ops<br>  COMPAT  have_ib_cq_init_attr<br>  COMPAT  have_ib_get_dma_mr<br>  COMPAT  have_idr_alloc<br>  COMPAT  have_idr_is_empty<br>  COMPAT  have_inode_lock<br>  COMPAT  have_ktime_to_timespec64<br>  COMPAT  have_kvfree<br>  COMPAT  have_max_send_recv_sge<br>  COMPAT  have_netlink_cb_portid<br>  COMPAT  have_nla_nest_start_noflag<br>  COMPAT  have_nla_parse_deprecated<br>  COMPAT  have_nla_put_64bit<br>  COMPAT  have_part_stat_h<br>  COMPAT  have_pointer_backing_dev_info<br>  COMPAT  have_prandom_u32<br>  COMPAT  have_proc_create_single<br>  COMPAT  have_ratelimit_state_init<br>  COMPAT  have_rb_augment_functions<br>  COMPAT  have_refcount_inc<br>  COMPAT  have_req_hardbarrier<br>  COMPAT  have_req_noidle<br>  COMPAT  have_req_nounmap<br>  COMPAT  have_req_op_write<br>  COMPAT  have_req_op_write_same<br>  COMPAT  have_req_op_write_zeroes<br>  COMPAT  have_req_prio<br>  COMPAT  have_req_write<br>  COMPAT  have_req_write_same<br>  COMPAT  have_revalidate_disk_size<br>  COMPAT  have_security_netlink_recv<br>  COMPAT  have_sendpage_ok<br>  COMPAT  have_shash_desc_zero<br>  COMPAT  have_signed_nla_put<br>  COMPAT  have_simple_positive<br>  COMPAT  have_struct_bvec_iter<br>  COMPAT  have_struct_kernel_param_ops<br>  COMPAT  have_struct_size<br>  COMPAT  have_submit_bio<br>  COMPAT  have_submit_bio_noacct<br>  COMPAT  have_tcp_sock_set_cork<br>  COMPAT  have_tcp_sock_set_nodelay<br>  COMPAT  have_tcp_sock_set_quickack<br>  COMPAT  have_time64_to_tm<br>  COMPAT  have_timer_setup<br>  COMPAT  have_void_make_request<br>  COMPAT  hlist_for_each_entry_has_three_parameters<br>  COMPAT  ib_alloc_pd_has_2_params<br>  COMPAT  ib_device_has_ops<br>  COMPAT  ib_post_send_const_params<br>  COMPAT  ib_query_device_has_3_params<br>  COMPAT  kmap_atomic_page_only<br>  COMPAT  need_make_request_recursion<br>  COMPAT  queue_limits_has_discard_zeroes_data<br>  COMPAT  rdma_create_id_has_net_ns<br>  COMPAT  sock_create_kern_has_five_parameters<br>  COMPAT  sock_ops_returns_addr_len<br>  UPD     /var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/compat.5.9.6-arch1.h<br>  UPD     /var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/compat.h<br>./drbd-kernel-compat/gen_compat_patch.sh: line 12: spatch: command not found<br>./drbd-kernel-compat/gen_compat_patch.sh: line 45: hash: spatch: not found<br>  INFO: no suitable spatch found; trying spatch-as-a-service;<br>  be patient, may take up to 10 minutes<br>  if it is in the server side cache it might only take a second<br>  SPAAS    5470857a83aa446cd991bcef3cdf804a<br>Successfully connected to SPAAS (&#39;d35a4b17210dab1336de2725b997f300e9acd297&#39;)<br>  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current<br>                                 Dload  Upload   Total   Spent    Left  Speed<br><br>  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0<br>100 10128    0  4600    0  5528  12169  14624 --:--:-- --:--:-- --:--:-- 26936<br>  You can create a new .tgz including this pre-computed compat patch<br>  by calling &quot;make unpatch ; echo drbd-9.0.26-0rc1/drbd/drbd-kernel-compat/cocci_cache/5470857a83aa446cd991bcef3cdf804a/compat.patch &gt;&gt;.filelist ; make tgz&quot;<br>  PATCH<br>patching file ./drbd_int.h<br>patching file drbd_main.c<br>patching file drbd_debugfs.c<br>patching file drbd_nl.c<br>patching file drbd_req.c<br>  CC [M]  /var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/drbd_dax_pmem.o<br>  CC [M]  /var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/drbd_debugfs.o<br>  CC [M]  /var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/drbd_bitmap.o<br>  CC [M]  /var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/drbd_proc.o<br>  CC [M]  /var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/drbd_sender.o<br>  CC [M]  /var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/drbd_receiver.o<br>  CC [M]  /var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/drbd_req.o<br>  CC [M]  /var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/drbd_actlog.o<br>  CC [M]  /var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/lru_cache.o<br>  CC [M]  /var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/drbd_main.o<br>In file included from /var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/drbd_main.c:19:<br>./include/linux/vermagic.h:6:2: error: #error &quot;This header can be included from kernel/module.c or *.mod.c only&quot;<br>    6 | #error &quot;This header can be included from kernel/module.c or *.mod.c only&quot;<br>      |  ^~~~~<br>  CC [M]  /var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/drbd_strings.o<br>  CC [M]  /var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/drbd_nl.o<br>/var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/drbd_main.c: In function &#39;drbd_create_device&#39;:<br>/var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/drbd_main.c:3649:22: warning: passing argument 1 of &#39;blk_alloc_queue&#39; makes integer from pointer without a cast [-Wint-conversion]<br> 3649 |  q = blk_alloc_queue(drbd_make_request, NUMA_NO_NODE);<br>      |                      ^~~~~~~~~~~~~~~~~<br>      |                      |<br>      |                      blk_qc_t (*)(struct request_queue *, struct bio *) {aka unsigned int (*)(struct request_queue *, struct bio *)}<br>In file included from ./include/linux/blk-cgroup.h:23,<br>                 from ./include/linux/writeback.h:14,<br>                 from ./include/linux/memcontrol.h:22,<br>                 from ./include/net/sock.h:53,<br>                 from /var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/drbd_main.c:24:<br>./include/linux/blkdev.h:1195:43: note: expected &#39;int&#39; but argument is of type &#39;blk_qc_t (*)(struct request_queue *, struct bio *)&#39; {aka &#39;unsigned int (*)(struct request_queue *, struct bio *)&#39;}<br> 1195 | struct request_queue *blk_alloc_queue(int node_id);<br>      |                                       ~~~~^~~~~~~<br>/var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/drbd_main.c:3649:6: error: too many arguments to function &#39;blk_alloc_queue&#39;<br> 3649 |  q = blk_alloc_queue(drbd_make_request, NUMA_NO_NODE);<br>      |      ^~~~~~~~~~~~~~~<br>In file included from ./include/linux/blk-cgroup.h:23,<br>                 from ./include/linux/writeback.h:14,<br>                 from ./include/linux/memcontrol.h:22,<br>                 from ./include/net/sock.h:53,<br>                 from /var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/drbd_main.c:24:<br>./include/linux/blkdev.h:1195:23: note: declared here<br> 1195 | struct request_queue *blk_alloc_queue(int node_id);<br>      |                       ^~~~~~~~~~~~~~~<br>make[2]: *** [scripts/Makefile.build:283: /var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/drbd_main.o] Error 1<br>make[2]: *** Waiting for unfinished jobs....<br>/var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/drbd_nl.c: In function &#39;open_backing_dev&#39;:<br>/var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/drbd_nl.c:2606:9: error: implicit declaration of function &#39;open_bdev_exclusive&#39; [-Werror=implicit-function-declaration]<br> 2606 |  bdev = open_bdev_exclusive(bdev_path,<br>      |         ^~~~~~~~~~~~~~~~~~~<br>/var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/drbd_nl.c:2606:7: warning: assignment to &#39;struct block_device *&#39; from &#39;int&#39; makes pointer from integer without a cast [-Wint-conversion]<br> 2606 |  bdev = open_bdev_exclusive(bdev_path,<br>      |       ^<br>/var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/drbd_nl.c:2620:6: error: implicit declaration of function &#39;close_bdev_exclusive&#39; [-Werror=implicit-function-declaration]<br> 2620 |   ({ close_bdev_exclusive(bdev, (FMODE_READ | FMODE_WRITE | FMODE_EXCL)); 0; });<br>      |      ^~~~~~~~~~~~~~~~~~~~<br>cc1: some warnings being treated as errors<br>make[2]: *** [scripts/Makefile.build:283: /var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/drbd_nl.o] Error 1<br>make[1]: *** [Makefile:1784: /var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd] Error 2<br>make: *** [Makefile:132: kbuild] Error 2<br>make: Leaving directory &#39;/var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd&#39;<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 10 Nov 2020 at 20:50, Philipp Reisner &lt;<a href="mailto:philipp.reisner@linbit.com">philipp.reisner@linbit.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
with this release, DRBD becomes compatible with Linux 5.8 and 5.9. Thanks to<br>
the coccinelle based compatibility framework it stays compatible all the<br>
way back to the kernel 2.6.32.<br>
In upstream quite a few things changed for block device drivers, following<br>
all that and staying compatible with the old ones is a noticeable achievement<br>
by Christoph! Thanks!<br>
BTW, we got external contributions. One in the area of Linux 5.8 compatibility<br>
and a bugfix.<br>
<br>
This is a release candidate, please help testing it. With this huge change<br>
in the compatibility framework, I ask the community to point out issues with<br>
building DRBD on exotic distributions/kernels you might have.<br>
<br>
Changelog:<br>
9.0.26-0rc1 (api:genl2/proto:86-118/transport:14)<br>
--------<br>
 * fix a case of a disk unexpectedly becoming Outdated by moving the<br>
   exchange of the initial packets into the body of the two-phase-commit<br>
   that happens at a connect<br>
 * fix adding of new volumes to resources with a primary node<br>
 * reliably detect split brain situation on both nodes<br>
 * fix an unexpected occurrence of NetworkFailure state in a tight<br>
   drbdsetup disconnect; drbdsetup connect sequence<br>
 * fix online verify to return to Established from VerifyS if the VerifyT node<br>
   was temporarily Inconsistent during the run<br>
 * fix a corner case where a node ends up Outdated after crash and rejoin<br>
   of a primary node<br>
 * implement &#39;blockdev --setro&#39; in DRBD<br>
 * following upstream changes to DRBD up to Linux 5.9 and ensure<br>
   compatibility with Linux 5.8 and 5.9<br>
<br>
<a href="https://www.linbit.com/downloads/drbd/9.0/drbd-9.0.26-0rc1.tar.gz" rel="noreferrer" target="_blank">https://www.linbit.com/downloads/drbd/9.0/drbd-9.0.26-0rc1.tar.gz</a><br>
<a href="https://github.com/LINBIT/drbd/commit/79b368b143283a898ce65594361f49fcb460b3be" rel="noreferrer" target="_blank">https://github.com/LINBIT/drbd/commit/79b368b143283a898ce65594361f49fcb460b3be</a><br>
<br>
best regards,<br>
 Phil<br>
_______________________________________________<br>
Star us on GITHUB: <a href="https://github.com/LINBIT" rel="noreferrer" target="_blank">https://github.com/LINBIT</a><br>
drbd-user mailing list<br>
<a href="mailto:drbd-user@lists.linbit.com" target="_blank">drbd-user@lists.linbit.com</a><br>
<a href="https://lists.linbit.com/mailman/listinfo/drbd-user" rel="noreferrer" target="_blank">https://lists.linbit.com/mailman/listinfo/drbd-user</a><br>
</blockquote></div>