All of lore.kernel.org
 help / color / mirror / Atom feed
* [hch-xfs:xfs-inode-shrink.4 1/18] fs/xfs/scrub/ialloc.c:282:3: error: 'dip' undeclared
@ 2021-03-19  8:51 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-03-19  8:51 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 5847 bytes --]

tree:   git://git.infradead.org/users/hch/xfs xfs-inode-shrink.4
head:   d2b8c2be4ff4933df97ff3910bf13e11050b345d
commit: d953c80672a90e83de00655c46006da572ecddff [1/18] xfs: split xfs_imap_to_bp
config: microblaze-randconfig-r001-20210318 (attached as .config)
compiler: microblaze-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git remote add hch-xfs git://git.infradead.org/users/hch/xfs
        git fetch --no-tags hch-xfs xfs-inode-shrink.4
        git checkout d953c80672a90e83de00655c46006da572ecddff
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=microblaze 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   fs/xfs/scrub/ialloc.c: In function 'xchk_iallocbt_check_cluster':
>> fs/xfs/scrub/ialloc.c:282:3: error: 'dip' undeclared (first use in this function)
     282 |   dip = xfs_buf_offset(cluster_bp, imap.im_boffset);
         |   ^~~
   fs/xfs/scrub/ialloc.c:282:3: note: each undeclared identifier is reported only once for each function it appears in


vim +/dip +282 fs/xfs/scrub/ialloc.c

   199	
   200	/*
   201	 * Check that the holemask and freemask of a hypothetical inode cluster match
   202	 * what's actually on disk.  If sparse inodes are enabled, the cluster does
   203	 * not actually have to map to inodes if the corresponding holemask bit is set.
   204	 *
   205	 * @cluster_base is the first inode in the cluster within the @irec.
   206	 */
   207	STATIC int
   208	xchk_iallocbt_check_cluster(
   209		struct xchk_btree		*bs,
   210		struct xfs_inobt_rec_incore	*irec,
   211		unsigned int			cluster_base)
   212	{
   213		struct xfs_imap			imap;
   214		struct xfs_mount		*mp = bs->cur->bc_mp;
   215		struct xfs_buf			*cluster_bp;
   216		unsigned int			nr_inodes;
   217		xfs_agnumber_t			agno = bs->cur->bc_ag.agno;
   218		xfs_agblock_t			agbno;
   219		unsigned int			cluster_index;
   220		uint16_t			cluster_mask = 0;
   221		uint16_t			ir_holemask;
   222		int				error = 0;
   223	
   224		nr_inodes = min_t(unsigned int, XFS_INODES_PER_CHUNK,
   225				M_IGEO(mp)->inodes_per_cluster);
   226	
   227		/* Map this inode cluster */
   228		agbno = XFS_AGINO_TO_AGBNO(mp, irec->ir_startino + cluster_base);
   229	
   230		/* Compute a bitmask for this cluster that can be used for holemask. */
   231		for (cluster_index = 0;
   232		     cluster_index < nr_inodes;
   233		     cluster_index += XFS_INODES_PER_HOLEMASK_BIT)
   234			cluster_mask |= XFS_INOBT_MASK((cluster_base + cluster_index) /
   235					XFS_INODES_PER_HOLEMASK_BIT);
   236	
   237		/*
   238		 * Map the first inode of this cluster to a buffer and offset.
   239		 * Be careful about inobt records that don't align with the start of
   240		 * the inode buffer when block sizes are large enough to hold multiple
   241		 * inode chunks.  When this happens, cluster_base will be zero but
   242		 * ir_startino can be large enough to make im_boffset nonzero.
   243		 */
   244		ir_holemask = (irec->ir_holemask & cluster_mask);
   245		imap.im_blkno = XFS_AGB_TO_DADDR(mp, agno, agbno);
   246		imap.im_len = XFS_FSB_TO_BB(mp, M_IGEO(mp)->blocks_per_cluster);
   247		imap.im_boffset = XFS_INO_TO_OFFSET(mp, irec->ir_startino) <<
   248				mp->m_sb.sb_inodelog;
   249	
   250		if (imap.im_boffset != 0 && cluster_base != 0) {
   251			ASSERT(imap.im_boffset == 0 || cluster_base == 0);
   252			xchk_btree_set_corrupt(bs->sc, bs->cur, 0);
   253			return 0;
   254		}
   255	
   256		trace_xchk_iallocbt_check_cluster(mp, agno, irec->ir_startino,
   257				imap.im_blkno, imap.im_len, cluster_base, nr_inodes,
   258				cluster_mask, ir_holemask,
   259				XFS_INO_TO_OFFSET(mp, irec->ir_startino +
   260						  cluster_base));
   261	
   262		/* The whole cluster must be a hole or not a hole. */
   263		if (ir_holemask != cluster_mask && ir_holemask != 0) {
   264			xchk_btree_set_corrupt(bs->sc, bs->cur, 0);
   265			return 0;
   266		}
   267	
   268		/* If any part of this is a hole, skip it. */
   269		if (ir_holemask) {
   270			xchk_xref_is_not_owned_by(bs->sc, agbno,
   271					M_IGEO(mp)->blocks_per_cluster,
   272					&XFS_RMAP_OINFO_INODES);
   273			return 0;
   274		}
   275	
   276		xchk_xref_is_owned_by(bs->sc, agbno, M_IGEO(mp)->blocks_per_cluster,
   277				&XFS_RMAP_OINFO_INODES);
   278	
   279		/* Grab the inode cluster buffer. */
   280		error = xfs_imap_to_bp(mp, bs->cur->bc_tp, &imap, &cluster_bp);
   281		if (!error)
 > 282			dip = xfs_buf_offset(cluster_bp, imap.im_boffset);
   283		if (!xchk_btree_xref_process_error(bs->sc, bs->cur, 0, &error))
   284			return error;
   285	
   286		/* Check free status of each inode within this cluster. */
   287		for (cluster_index = 0; cluster_index < nr_inodes; cluster_index++) {
   288			struct xfs_dinode	*dip;
   289	
   290			if (imap.im_boffset >= BBTOB(cluster_bp->b_length)) {
   291				xchk_btree_set_corrupt(bs->sc, bs->cur, 0);
   292				break;
   293			}
   294	
   295			dip = xfs_buf_offset(cluster_bp, imap.im_boffset);
   296			error = xchk_iallocbt_check_cluster_ifree(bs, irec,
   297					cluster_base + cluster_index, dip);
   298			if (error)
   299				break;
   300			imap.im_boffset += mp->m_sb.sb_inodesize;
   301		}
   302	
   303		xfs_trans_brelse(bs->cur->bc_tp, cluster_bp);
   304		return error;
   305	}
   306	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 28703 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-03-19  8:51 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-19  8:51 [hch-xfs:xfs-inode-shrink.4 1/18] fs/xfs/scrub/ialloc.c:282:3: error: 'dip' undeclared kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.