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

Reply via email to