[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