[Cluster-devel] [gfs2:iomap-write 1/9] fs/gfs2/bmap.c:706: undefined reference to `__udivdi3'

kbuild test robot lkp at intel.com
Tue Apr 10 21:46:14 UTC 2018


tree:   https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git iomap-write
head:   ba2d5fc33281b622a4ec88f6c00ce21155f8e19a
commit: 391ab239802e3e74c17bccee6e4e5abeac6f6fe8 [1/9] gfs2: hole_size improvement
config: i386-randconfig-x0-04110123 (attached as .config)
compiler: gcc-5 (Debian 5.5.0-3) 5.4.1 20171010
reproduce:
        git checkout 391ab239802e3e74c17bccee6e4e5abeac6f6fe8
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   fs/gfs2/bmap.o: In function `hole_size':
>> fs/gfs2/bmap.c:706: undefined reference to `__udivdi3'

vim +706 fs/gfs2/bmap.c

   635	
   636	/**
   637	 * hole_size - figure out the size of a hole
   638	 * @inode: The inode
   639	 * @lblock: The logical starting block number
   640	 * @mp: The metapath at lblock
   641	 * @pholesz: The hole size in bytes (output)
   642	 *
   643	 * This function modifies @mp.
   644	 *
   645	 * Returns: errno on error
   646	 *
   647	 */
   648	static int hole_size(struct inode *inode, sector_t lblock, struct metapath *mp,
   649			     u64 *pholesz)
   650	{
   651		sector_t lblock_end = (i_size_read(inode) + i_blocksize(inode) - 1) >>
   652				      inode->i_blkbits;
   653		struct gfs2_inode *ip = GFS2_I(inode);
   654		struct gfs2_sbd *sdp = GFS2_SB(inode);
   655		const __be64 *first, *end, *ptr;
   656		u64 holesz = 0, factor = 1;
   657		int hgt, ret;
   658	
   659		for (hgt = ip->i_height - 1; hgt >= mp->mp_aheight; hgt--)
   660			factor *= sdp->sd_inptrs;
   661	
   662		for (;;) {
   663			/* Count the number of zero pointers.  */
   664			first = metapointer(hgt, mp);
   665			end = metaend(hgt, mp);
   666			if (end - first > lblock_end - lblock - holesz)
   667				end = first + lblock_end - lblock - holesz;
   668			for (ptr = first; ptr < end; ptr++) {
   669				if (*ptr) {
   670					holesz += (ptr - first) * factor;
   671					if (hgt == ip->i_height - 1)
   672						goto out;
   673					mp->mp_list[hgt] += (ptr - first);
   674					goto fill_up_metapath;
   675				}
   676			}
   677			holesz += (ptr - first) * factor;
   678	
   679	lower_metapath:
   680			/* Decrease height of metapath. */
   681			brelse(mp->mp_bh[hgt]);
   682			mp->mp_bh[hgt] = NULL;
   683			mp->mp_list[hgt] = 0;
   684			if (!hgt)
   685				goto out;
   686			hgt--;
   687			factor *= sdp->sd_inptrs;
   688	
   689			/* Advance in metadata tree. */
   690			(mp->mp_list[hgt])++;
   691			first = metapointer(hgt, mp);
   692			end = metaend(hgt, mp);
   693			if (first >= end) {
   694				if (!hgt)
   695					goto out;
   696				goto lower_metapath;
   697			}
   698	
   699	fill_up_metapath:
   700			/* Fill up metapath. */
   701			ret = fillup_metapath(ip, mp, ip->i_height - 1);
   702			if (ret < 0)
   703				return ret;
   704			while (ret--) {
   705				hgt++;
 > 706				factor /= sdp->sd_inptrs;
   707			}
   708		}
   709	out:
   710		*pholesz = holesz << inode->i_blkbits;
   711		return 0;
   712	}
   713	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 24485 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20180411/41f2fb85/attachment.gz>


More information about the Cluster-devel mailing list