Subject: linux-next: manual merge of the akpm-current tree with the block tree

From: Stephen Rothwell <[email-masked]>
Date: Mon, 13 Aug 2018 17:51:59 +1000

Hi all,

Today's linux-next merge of the akpm-current tree got conflicts in:

  drivers/md/bcache/Kconfig
  drivers/md/bcache/util.h

between commits:

  bc81b47e828a ("bcache: prefer 'help' in Kconfig")
  fc2d5988b597 ("bcache: add identifier names to arguments of function definitions")

from the block tree and commit:

  fbb43f40e27b ("bcache: use routines from lib/crc64.c for CRC64 calculation")

from the akpm-current tree.

I fixed it up (see below, and the latter removed some fo the lines changed
by fc2d5988b597) and can carry the fix as necessary. This is now fixed
as far as linux-next is concerned, but any non trivial conflicts should
be mentioned to your upstream maintainer when your tree is submitted for
merging.  You may also want to consider cooperating with the maintainer
of the conflicting tree to minimise any particularly complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc drivers/md/bcache/Kconfig
index 817b9fba50db,af247298409a..000000000000
--- a/drivers/md/bcache/Kconfig
+++ b/drivers/md/bcache/Kconfig
@@@ -1,7 -1,8 +1,8 @@@
  
  config BCACHE
  	tristate "Block device as cache"
+ 	select CRC64
 -	---help---
 +	help
  	Allows a block device to be used as cache for other devices; uses
  	a btree for indexing and the layout is optimized for SSDs.
  
diff --cc drivers/md/bcache/util.h
index 4e0ed19e32d3,a1579e28049f..000000000000
--- a/drivers/md/bcache/util.h
+++ b/drivers/md/bcache/util.h
@@@ -543,11 -543,26 +544,27 @@@ dup:									
  #define RB_PREV(ptr, member)						\
  	container_of_or_null(rb_prev(&(ptr)->member), typeof(*ptr), member)
  
+ static inline uint64_t bch_crc64(const void *p, size_t len)
+ {
+ 	uint64_t crc = 0xffffffffffffffffULL;
+ 
+ 	crc = crc64_be(crc, p, len);
+ 	return crc ^ 0xffffffffffffffffULL;
+ }
+ 
+ static inline uint64_t bch_crc64_update(uint64_t crc,
+ 					const void *p,
+ 					size_t len)
+ {
+ 	crc = crc64_be(crc, p, len);
+ 	return crc;
+ }
+ 
  /* Does linear interpolation between powers of two */
 -static inline unsigned fract_exp_two(unsigned x, unsigned fract_bits)
 +static inline unsigned int fract_exp_two(unsigned int x,
 +					 unsigned int fract_bits)
  {
 -	unsigned fract = x & ~(~0 << fract_bits);
 +	unsigned int fract = x & ~(~0 << fract_bits);
  
  	x >>= fract_bits;
  	x   = 1 << x;