[DRBD-user] drbd-9.0.26-rc1

Adam Goryachev mailinglists at websitemanagers.com.au
Wed Nov 11 03:20:24 CET 2020

Here is my failed compile attempt on Raspberry Pi 4 with Ubuntu 20.10:

root at pi-03:/usr/src/drbd_manual/drbd-9.0.26-0rc1# make
Need a git checkout to regenerate drbd/.drbd_git_revision
make[1]: Entering directory '/usr/src/drbd_manual/drbd-9.0.26-0rc1/drbd'

     Calling toplevel makefile of kernel source tree, which I believe is in

make -C /lib/modules/5.8.0-1006-raspi/build 
M=/usr/src/drbd_manual/drbd-9.0.26-0rc1/drbd  modules
   COMPAT  __vmalloc_has_2_params
   COMPAT  alloc_workqueue_takes_fmt
   COMPAT  before_4_13_kernel_read
   COMPAT  blkdev_issue_zeroout_discard
   COMPAT  drbd_release_returns_void
   COMPAT  genl_policy_in_ops
   COMPAT  have_WB_congested_enum
   COMPAT  have_allow_kernel_signal
   COMPAT  have_atomic_dec_if_positive_linux
   COMPAT  have_atomic_in_flight
   COMPAT  have_bd_claim_by_disk
   COMPAT  have_bd_unlink_disk_holder
   COMPAT  have_bdi_congested_fn
   COMPAT  have_bio_bi_bdev
   COMPAT  have_bio_bi_disk
   COMPAT  have_bio_bi_error
   COMPAT  have_bio_bi_opf
   COMPAT  have_bio_bi_status
   COMPAT  have_bio_clone_fast
   COMPAT  have_bio_flush
   COMPAT  have_bio_free
   COMPAT  have_bio_op_shift
   COMPAT  have_bio_rw
   COMPAT  have_bio_set_op_attrs
   COMPAT  have_bio_start_io_acct
   COMPAT  have_bioset_create_front_pad
   COMPAT  have_bioset_init
   COMPAT  have_bioset_need_bvecs
   COMPAT  have_blk_check_plugged
   COMPAT  have_blk_qc_t_make_request
   COMPAT  have_blk_queue_flag_set
   COMPAT  have_blk_queue_make_request
   COMPAT  have_blk_queue_merge_bvec
   COMPAT  have_blk_queue_plugged
   COMPAT  have_blk_queue_split_bio
   COMPAT  have_blk_queue_split_q_bio
   COMPAT  have_blk_queue_split_q_bio_bioset
   COMPAT  have_blk_queue_update_readahead
   COMPAT  have_blk_queue_write_cache
   COMPAT  have_blkdev_get_by_path
   COMPAT  have_d_inode
   COMPAT  have_fallthrough
   COMPAT  have_file_inode
   COMPAT  have_generic_start_io_acct_q_rw_sect_part
   COMPAT  have_generic_start_io_acct_rw_sect_part
   COMPAT  have_genl_family_parallel_ops
   COMPAT  have_ib_cq_init_attr
   COMPAT  have_ib_get_dma_mr
   COMPAT  have_idr_alloc
   COMPAT  have_idr_is_empty
   COMPAT  have_inode_lock
   COMPAT  have_ktime_to_timespec64
   COMPAT  have_kvfree
   COMPAT  have_max_send_recv_sge
   COMPAT  have_netlink_cb_portid
   COMPAT  have_nla_nest_start_noflag
   COMPAT  have_nla_parse_deprecated
   COMPAT  have_nla_put_64bit
   COMPAT  have_part_stat_h
   COMPAT  have_pointer_backing_dev_info
   COMPAT  have_prandom_u32
   COMPAT  have_proc_create_single
   COMPAT  have_ratelimit_state_init
   COMPAT  have_rb_augment_functions
   COMPAT  have_refcount_inc
   COMPAT  have_req_hardbarrier
   COMPAT  have_req_noidle
   COMPAT  have_req_nounmap
   COMPAT  have_req_op_write
   COMPAT  have_req_op_write_same
   COMPAT  have_req_op_write_zeroes
   COMPAT  have_req_prio
   COMPAT  have_req_write
   COMPAT  have_req_write_same
   COMPAT  have_revalidate_disk_size
   COMPAT  have_security_netlink_recv
   COMPAT  have_sendpage_ok
   COMPAT  have_shash_desc_zero
   COMPAT  have_signed_nla_put
   COMPAT  have_simple_positive
   COMPAT  have_struct_bvec_iter
   COMPAT  have_struct_kernel_param_ops
   COMPAT  have_struct_size
   COMPAT  have_submit_bio
   COMPAT  have_submit_bio_noacct
   COMPAT  have_tcp_sock_set_cork
   COMPAT  have_tcp_sock_set_nodelay
   COMPAT  have_tcp_sock_set_quickack
   COMPAT  have_time64_to_tm
   COMPAT  have_timer_setup
   COMPAT  have_void_make_request
   COMPAT  hlist_for_each_entry_has_three_parameters
   COMPAT  ib_alloc_pd_has_2_params
   COMPAT  ib_device_has_ops
   COMPAT  ib_post_send_const_params
   COMPAT  ib_query_device_has_3_params
   COMPAT  kmap_atomic_page_only
   COMPAT  need_make_request_recursion
   COMPAT  queue_limits_has_discard_zeroes_data
   COMPAT  rdma_create_id_has_net_ns
   COMPAT  sock_create_kern_has_five_parameters
   COMPAT  sock_ops_returns_addr_len
   UPD /usr/src/drbd_manual/drbd-9.0.26-0rc1/drbd/compat.5.8.14.h
   UPD     /usr/src/drbd_manual/drbd-9.0.26-0rc1/drbd/compat.h
./drbd-kernel-compat/gen_compat_patch.sh: line 12: spatch: command not found
./drbd-kernel-compat/gen_compat_patch.sh: line 45: hash: spatch: not found
   INFO: no suitable spatch found; trying spatch-as-a-service;
   be patient, may take up to 10 minutes
   if it is in the server side cache it might only take a second
   SPAAS    e770d31eb644591d9d0920dfda4bff32
Successfully connected to SPAAS ('d35a4b17210dab1336de2725b997f300e9acd297')
   % Total    % Received % Xferd  Average Speed   Time    Time Time  Current
                                  Dload  Upload   Total   Spent Left  Speed
100 11287    0  5767    0  5520    406    388 --:--:--  0:00:14 
--:--:--  1368
   You can create a new .tgz including this pre-computed compat patch
   by calling "make unpatch ; echo 
 >>.filelist ; make tgz"
patching file ./drbd_int.h
patching file drbd_main.c
patching file drbd_debugfs.c
patching file drbd_nl.c
patching file drbd_req.c
   CC [M] /usr/src/drbd_manual/drbd-9.0.26-0rc1/drbd/drbd_debugfs.o
   CC [M]  /usr/src/drbd_manual/drbd-9.0.26-0rc1/drbd/drbd_bitmap.o
   CC [M]  /usr/src/drbd_manual/drbd-9.0.26-0rc1/drbd/drbd_proc.o
   CC [M]  /usr/src/drbd_manual/drbd-9.0.26-0rc1/drbd/drbd_sender.o
   CC [M] /usr/src/drbd_manual/drbd-9.0.26-0rc1/drbd/drbd_receiver.o
   CC [M]  /usr/src/drbd_manual/drbd-9.0.26-0rc1/drbd/drbd_req.o
   CC [M]  /usr/src/drbd_manual/drbd-9.0.26-0rc1/drbd/drbd_actlog.o
   CC [M]  /usr/src/drbd_manual/drbd-9.0.26-0rc1/drbd/lru_cache.o
   CC [M]  /usr/src/drbd_manual/drbd-9.0.26-0rc1/drbd/drbd_main.o
In file included from 
./include/linux/vermagic.h:6:2: error: #error "This header can be 
included from kernel/module.c or *.mod.c only"
     6 | #error "This header can be included from kernel/module.c or 
*.mod.c only"
       |  ^~~~~
make[3]: *** [scripts/Makefile.build:290: 
/usr/src/drbd_manual/drbd-9.0.26-0rc1/drbd/drbd_main.o] Error 1
make[2]: *** [Makefile:1783: /usr/src/drbd_manual/drbd-9.0.26-0rc1/drbd] 
Error 2
make[1]: *** [Makefile:132: kbuild] Error 2
make[1]: Leaving directory '/usr/src/drbd_manual/drbd-9.0.26-0rc1/drbd'
make: *** [Makefile:131: module] Error 2


On 11/11/20 07:50, Philipp Reisner wrote:
> Hi,
> with this release, DRBD becomes compatible with Linux 5.8 and 5.9. Thanks to
> the coccinelle based compatibility framework it stays compatible all the
> way back to the kernel 2.6.32.
> In upstream quite a few things changed for block device drivers, following
> all that and staying compatible with the old ones is a noticeable achievement
> by Christoph! Thanks!
> BTW, we got external contributions. One in the area of Linux 5.8 compatibility
> and a bugfix.
> This is a release candidate, please help testing it. With this huge change
> in the compatibility framework, I ask the community to point out issues with
> building DRBD on exotic distributions/kernels you might have.
> Changelog:
> 9.0.26-0rc1 (api:genl2/proto:86-118/transport:14)
> --------
>   * 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 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
> https://www.linbit.com/downloads/drbd/9.0/drbd-9.0.26-0rc1.tar.gz
> https://github.com/LINBIT/drbd/commit/79b368b143283a898ce65594361f49fcb460b3be
> best regards,
>   Phil
> _______________________________________________
> Star us on GITHUB: https://github.com/LINBIT
> drbd-user mailing list
> drbd-user at lists.linbit.com
> https://lists.linbit.com/mailman/listinfo/drbd-user

More information about the drbd-user mailing list