<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 '/var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd'<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 ('d35a4b17210dab1336de2725b997f300e9acd297')<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 "make unpatch ; echo drbd-9.0.26-0rc1/drbd/drbd-kernel-compat/cocci_cache/5470857a83aa446cd991bcef3cdf804a/compat.patch >>.filelist ; make tgz"<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 "This header can be included from kernel/module.c or *.mod.c only"<br> 6 | #error "This header can be included from kernel/module.c or *.mod.c only"<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 'drbd_create_device':<br>/var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/drbd_main.c:3649:22: warning: passing argument 1 of 'blk_alloc_queue' 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 'int' but argument is of type 'blk_qc_t (*)(struct request_queue *, struct bio *)' {aka 'unsigned int (*)(struct request_queue *, struct bio *)'}<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 'blk_alloc_queue'<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 'open_backing_dev':<br>/var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd/drbd_nl.c:2606:9: error: implicit declaration of function 'open_bdev_exclusive' [-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 'struct block_device *' from 'int' 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 'close_bdev_exclusive' [-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 '/var/lib/dkms/drbd/9.0.26-0rc1/build/src/drbd'<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 10 Nov 2020 at 20:50, Philipp Reisner <<a href="mailto:philipp.reisner@linbit.com">philipp.reisner@linbit.com</a>> 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 'blockdev --setro' 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>