[dm-devel] [device-mapper-dm:for-next 2/4] drivers/md/persistent-data/dm-extent-allocator.c:373: undefined reference to `__udivdi3'

kernel test robot lkp at intel.com
Fri Sep 15 19:49:53 UTC 2023


tree:   https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git for-next
head:   785f3bb19d40050d0f40c07cbe6345e361acdcae
commit: b97bcee4b9999c9f5aadc06317ade18c5cbe37f6 [2/4] dm persistent data: Introduce extent allocator
config: i386-randconfig-013-20230915 (https://download.01.org/0day-ci/archive/20230916/202309160312.k1ou4uxF-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230916/202309160312.k1ou4uxF-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202309160312.k1ou4uxF-lkp@intel.com/

All errors (new ones prefixed by >>):

   ld: drivers/md/persistent-data/dm-extent-allocator.o: in function `__select_child':
>> drivers/md/persistent-data/dm-extent-allocator.c:373: undefined reference to `__udivdi3'
>> ld: drivers/md/persistent-data/dm-extent-allocator.c:374: undefined reference to `__udivdi3'
>> ld: drivers/md/persistent-data/dm-extent-allocator.c:374: undefined reference to `__udivdi3'
>> ld: drivers/md/persistent-data/dm-extent-allocator.c:373: undefined reference to `__udivdi3'


vim +373 drivers/md/persistent-data/dm-extent-allocator.c

   359	
   360	/**
   361	 * __select_child - Selects the best child node to allocate from in the extent allocator.
   362	 * @ea: Pointer to the extent allocator.
   363	 * @left: left child node.
   364	 * @right: right child node.
   365	 *
   366	 * The best child is the one with the highest ratio of free blocks to holders. If the
   367	 * ratios are equal, the left child is preferred.
   368	 */
   369	static struct node **__select_child(struct dm_extent_allocator *ea, struct node **left, struct node **right)
   370	{
   371		uint64_t left_score, right_score;
   372	
 > 373		left_score = __nr_free_blocks(*left) / ((*left)->nr_holders + 1);
 > 374		right_score = __nr_free_blocks(*right) / ((*right)->nr_holders + 1);
   375	
   376		if (left_score >= right_score)
   377			return left;
   378		else
   379			return right;
   380	}
   381	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki



More information about the dm-devel mailing list