I upgraded one of my servers to RHEL7.4 yesterday. Because the kernel changed, I needed to recompile DRBD. This failed.
After the first failure, I deleted my /usr/src/drbd-8.4 directory and followed the "git download" instructions in the DRBD User's Guide to obtain a fresh copy of drbd-8.4.10-1. Then, as user root in the new /usr/src/drbd-8.4 directory, I ran the following command: make clean all 2>&1 | tee make.log which failed. Not knowing how much has changed between DRBD 8.x and 9.x, I checked out a clean copy of DRBD 9.0.8 and tried to compile it. Unfortunately, that failed exactly the same way as DRBD 8.x compile effort did. Some system info: The output of "cat /etc/redhat-release" is: Red Hat Enterprise Linux Server release 7.4 (Maipo) The output of "uname -srvmpio" is: Linux 3.10.0-693.el7.x86_64 #1 SMP Thu Jul 6 19:56:57 EDT 2017 x86_64 x86_64 x86_64 GNU/Linux The version of gcc is: 4.8.5-16.el7 The version of the kernel is: 3.10.0-693.el7 I am able to use DRBD on this newly upgraded server by booting with the previous kernel (version 3.10.0-514.26.2.el7), but this is not a viable long-term solution. The log file I created when attempting to compile, make.log, is attached. If there is any other information you need from me, please email. Thanks in advance for any help you can provide. -- Jay Smith Information Technology Officer National Weather Service Fairbanks, AK
make[1]: Entering directory `/usr/src/drbd-8.4/drbd' rm -rf .tmp_versions Module.markers Module.symvers modules.order rm -f *.[oas] *.ko .*.cmd .*.d .*.tmp *.mod.c .*.flags .depend .kernel* rm -f compat/*.[oas] compat/.*.cmd rm -f .compat_test.* make[1]: Leaving directory `/usr/src/drbd-8.4/drbd' rm -f *~ ======================================================================= With DRBD module version 8.4.5, we split out the management tools into their own repository at http://git.linbit.com/drbd-utils.git (tarball at http://oss.linbit.com/drbd) That started out as "drbd-utils version 8.9.0", and provides compatible drbdadm, drbdsetup and drbdmeta tools for DRBD module versions 8.3, 8.4 and 9 (prereleases as of now). Again: to manage DRBD 8.4.5 kernel modules and above, you want drbd-utils >= 8.9.0 from above url. ======================================================================= make[1]: Entering directory `/usr/src/drbd-8.4/drbd' Calling toplevel makefile of kernel source tree, which I believe is in KDIR=/lib/modules/3.10.0-693.el7.x86_64/build make -C /lib/modules/3.10.0-693.el7.x86_64/build SUBDIRS=/usr/src/drbd-8.4/drbd modules COMPAT have_pointer_backing_dev_info COMPAT use_blk_queue_max_sectors_anyways COMPAT have_inode_lock COMPAT have_kvfree COMPAT have_cpumask_empty COMPAT drbd_release_returns_void COMPAT have_blk_queue_split COMPAT have_genl_register_family_with_ops COMPAT have_blk_queue_merge_bvec COMPAT have_dst_groups COMPAT have_f_path_dentry COMPAT blkdev_issue_zeroout_blkdev_ifl_wait COMPAT have_ctrl_attr_mcast_groups COMPAT have_vzalloc COMPAT have_blk_set_stacking_limits COMPAT have_clear_bit_unlock COMPAT have_prandom_u32 COMPAT hlist_for_each_entry_has_three_parameters COMPAT have_proc_pde_data COMPAT have_fmode_t COMPAT have_struct_queue_limits COMPAT have_bd_claim_by_disk COMPAT have_linux_byteorder_swabb_h COMPAT queue_limits_has_discard_granularity COMPAT have_idr_alloc COMPAT have_umh_wait_proc COMPAT queue_limits_has_discard_zeroes_data COMPAT have_SHASH_DESC_ON_STACK COMPAT have_nlmsg_hdr COMPAT have_struct_bvec_iter COMPAT have_blk_queue_max_hw_sectors COMPAT have_blk_plug_cb_data COMPAT sock_create_kern_has_five_parameters COMPAT have_AHASH_REQUEST_ON_STACK COMPAT have_blk_qc_t_make_request COMPAT have_bd_unlink_disk_holder COMPAT have_nla_put_64bit COMPAT init_work_has_three_arguments COMPAT bio_split_has_bio_split_pool_parameter COMPAT have_bio_set_op_attrs COMPAT have_IS_ERR_OR_NULL COMPAT have_genlmsg_put_reply COMPAT have_WB_congested_enum COMPAT have_signed_nla_put COMPAT bioset_create_has_three_parameters COMPAT have_is_vmalloc_addr COMPAT have_proc_create_data COMPAT have_open_bdev_exclusive COMPAT kmap_atomic_page_only COMPAT have_list_splice_tail_init COMPAT have_bio_bi_error COMPAT have_shash_desc_zero COMPAT have_blk_queue_write_cache COMPAT have_task_pid_nr COMPAT have_genlmsg_reply COMPAT have_genlmsg_msg_size COMPAT have_blkdev_get_by_path COMPAT have_bool_type COMPAT have_bio_bi_destructor COMPAT have_genl_id_generate COMPAT need_d_inode COMPAT have_sock_shutdown COMPAT have_idr_for_each_entry COMPAT have_blk_queue_max_segments COMPAT have_refcount_inc COMPAT have_void_make_request COMPAT have_genl_family_in_genlmsg_multicast COMPAT have_genl_lock COMPAT have_cn_netlink_skb_parms COMPAT have_atomic_in_flight COMPAT have_bdev_discard_alignment COMPAT have_genlmsg_new COMPAT have_idr_is_empty COMPAT have_kref_get_unless_zero COMPAT have_rb_augment_functions COMPAT have_idr_for_each COMPAT have_simple_positive COMPAT have_genl_register_family_with_ops3 COMPAT have_debugfs_create_symlink COMPAT have_bioset_create_front_pad COMPAT have_security_netlink_recv COMPAT have_generic_start_io_acct COMPAT have_nr_cpu_ids COMPAT need_genlmsg_multicast_wrapper COMPAT have_find_next_zero_bit_le COMPAT have_netlink_skb_parms_portid COMPAT blkdev_issue_zeroout_discard CHK /usr/src/drbd-8.4/drbd/compat.h UPD /usr/src/drbd-8.4/drbd/compat.h CC [M] /usr/src/drbd-8.4/drbd/drbd_debugfs.o CC [M] /usr/src/drbd-8.4/drbd/drbd_bitmap.o /usr/src/drbd-8.4/drbd/drbd_bitmap.c: In function ‘bm_page_io_async’: /usr/src/drbd-8.4/drbd/drbd_bitmap.c:1049:3: warning: passing argument 1 of ‘submit_bio’ makes integer from pointer without a cast [enabled by default] submit_bio(bio); ^ In file included from include/linux/compat.h:17:0, from include/linux/ethtool.h:16, from include/linux/netdevice.h:43, from include/net/sock.h:51, from include/linux/tcp.h:23, from /usr/src/drbd-8.4/drbd/drbd_int.h:38, from /usr/src/drbd-8.4/drbd/drbd_bitmap.c:35: include/linux/fs.h:2869:13: note: expected ‘int’ but argument is of type ‘struct bio *’ extern void submit_bio(int, struct bio *); ^ /usr/src/drbd-8.4/drbd/drbd_bitmap.c:1049:3: error: too few arguments to function ‘submit_bio’ submit_bio(bio); ^ In file included from include/linux/compat.h:17:0, from include/linux/ethtool.h:16, from include/linux/netdevice.h:43, from include/net/sock.h:51, from include/linux/tcp.h:23, from /usr/src/drbd-8.4/drbd/drbd_int.h:38, from /usr/src/drbd-8.4/drbd/drbd_bitmap.c:35: include/linux/fs.h:2869:13: note: declared here extern void submit_bio(int, struct bio *); ^ make[3]: *** [/usr/src/drbd-8.4/drbd/drbd_bitmap.o] Error 1 make[2]: *** [_module_/usr/src/drbd-8.4/drbd] Error 2 make[1]: *** [kbuild] Error 2 make[1]: Leaving directory `/usr/src/drbd-8.4/drbd' make: *** [module] Error 2
_______________________________________________ drbd-user mailing list drbd-user@lists.linbit.com http://lists.linbit.com/mailman/listinfo/drbd-user