Messages in this thread | | | Date | Wed, 13 Apr 2022 13:41:43 +0800 | From | kernel test robot <> | Subject | [djwong-xfs:vectorized-scrub 38/396] fs/xfs/scrub/agheader_repair.c:585:9: error: implicit declaration of function 'xbitmap_walk'; did you mean 'xbitmap_set'? |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git vectorized-scrub head: bd756ef7af68274b79308166ee64949d288be861 commit: d8273f3634d00732c204ba1c112bf1b9efcc6e4d [38/396] xfs: make AGFL repair function avoid crosslinked blocks config: arc-randconfig-r002-20220413 (https://download.01.org/0day-ci/archive/20220413/202204131305.VOrAxCN4-lkp@intel.com/config) compiler: arc-elf-gcc (GCC) 11.2.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 # https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git/commit/?id=d8273f3634d00732c204ba1c112bf1b9efcc6e4d git remote add djwong-xfs https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git git fetch --no-tags djwong-xfs vectorized-scrub git checkout d8273f3634d00732c204ba1c112bf1b9efcc6e4d # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash fs/xfs/
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com>
Note: the djwong-xfs/vectorized-scrub HEAD bd756ef7af68274b79308166ee64949d288be861 builds fine. It only hurts bisectability.
All errors (new ones prefixed by >>):
fs/xfs/scrub/agheader_repair.c: In function 'xrep_agfl_collect_blocks': >> fs/xfs/scrub/agheader_repair.c:585:9: error: implicit declaration of function 'xbitmap_walk'; did you mean 'xbitmap_set'? [-Werror=implicit-function-declaration] 585 | xbitmap_walk(agfl_extents, xrep_agfl_check_extent, &ra); | ^~~~~~~~~~~~ | xbitmap_set cc1: some warnings being treated as errors
vim +585 fs/xfs/scrub/agheader_repair.c
525 526 /* 527 * Map out all the non-AGFL OWN_AG space in this AG so that we can deduce 528 * which blocks belong to the AGFL. 529 * 530 * Compute the set of old AGFL blocks by subtracting from the list of OWN_AG 531 * blocks the list of blocks owned by all other OWN_AG metadata (bnobt, cntbt, 532 * rmapbt). These are the old AGFL blocks, so return that list and the number 533 * of blocks we're actually going to put back on the AGFL. 534 */ 535 STATIC int 536 xrep_agfl_collect_blocks( 537 struct xfs_scrub *sc, 538 struct xfs_buf *agf_bp, 539 struct xbitmap *agfl_extents, 540 xfs_agblock_t *flcount) 541 { 542 struct xrep_agfl ra; 543 struct xfs_mount *mp = sc->mp; 544 struct xfs_btree_cur *cur; 545 int error; 546 547 ra.sc = sc; 548 ra.freesp = agfl_extents; 549 xbitmap_init(&ra.agmetablocks); 550 xbitmap_init(&ra.crossed); 551 552 /* Find all space used by the free space btrees & rmapbt. */ 553 cur = xfs_rmapbt_init_cursor(mp, sc->tp, agf_bp, sc->sa.pag); 554 error = xfs_rmap_query_all(cur, xrep_agfl_walk_rmap, &ra); 555 xfs_btree_del_cursor(cur, error); 556 if (error) 557 goto out_bmp; 558 559 /* Find all blocks currently being used by the bnobt. */ 560 cur = xfs_allocbt_init_cursor(mp, sc->tp, agf_bp, 561 sc->sa.pag, XFS_BTNUM_BNO); 562 error = xbitmap_set_btblocks(&ra.agmetablocks, cur); 563 xfs_btree_del_cursor(cur, error); 564 if (error) 565 goto out_bmp; 566 567 /* Find all blocks currently being used by the cntbt. */ 568 cur = xfs_allocbt_init_cursor(mp, sc->tp, agf_bp, 569 sc->sa.pag, XFS_BTNUM_CNT); 570 error = xbitmap_set_btblocks(&ra.agmetablocks, cur); 571 xfs_btree_del_cursor(cur, error); 572 if (error) 573 goto out_bmp; 574 575 /* 576 * Drop the freesp meta blocks that are in use by btrees. 577 * The remaining blocks /should/ be AGFL blocks. 578 */ 579 error = xbitmap_disunion(agfl_extents, &ra.agmetablocks); 580 if (error) 581 goto out_bmp; 582 583 /* Strike out the blocks that are cross-linked. */ 584 ra.rmap_cur = xfs_rmapbt_init_cursor(mp, sc->tp, agf_bp, sc->sa.pag); > 585 xbitmap_walk(agfl_extents, xrep_agfl_check_extent, &ra); 586 xfs_btree_del_cursor(ra.rmap_cur, 0); 587 error = xbitmap_disunion(agfl_extents, &ra.crossed); 588 if (error) 589 goto out_bmp; 590 591 /* 592 * Calculate the new AGFL size. If we found more blocks than fit in 593 * the AGFL we'll free them later. 594 */ 595 *flcount = min_t(uint64_t, xbitmap_hweight(agfl_extents), 596 xfs_agfl_size(mp)); 597 598 out_bmp: 599 xbitmap_destroy(&ra.crossed); 600 xbitmap_destroy(&ra.agmetablocks); 601 return error; 602 } 603
-- 0-DAY CI Kernel Test Service https://01.org/lkp
| |