* [djwong-xfs:vectorized-scrub 244/326] fs/xfs/libxfs/xfs_btree.c:5391: undefined reference to `xfs_rt_resv_alloc_extent'
@ 2021-05-01 8:15 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-05-01 8:15 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 5344 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git vectorized-scrub
head: 69e2e5df9ef7ef56d03034a3558383f8c861c5e5
commit: a6e21f2031c039910649fb2f346aed3a4ea06c64 [244/326] xfs: add realtime rmap btree operations
config: i386-randconfig-c004-20210501 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git/commit/?id=a6e21f2031c039910649fb2f346aed3a4ea06c64
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 a6e21f2031c039910649fb2f346aed3a4ea06c64
# save the attached .config to linux build tree
make W=1 W=1 ARCH=i386
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 >>):
ld: fs/xfs/libxfs/xfs_btree.o: in function `xfs_btree_alloc_rtmeta_block':
>> fs/xfs/libxfs/xfs_btree.c:5391: undefined reference to `xfs_rt_resv_alloc_extent'
ld: fs/xfs/libxfs/xfs_btree.o: in function `xfs_btree_free_rtmeta_block':
>> fs/xfs/libxfs/xfs_btree.c:5425: undefined reference to `xfs_rt_resv_free_extent'
ld: fs/xfs/xfs_fsops.o: in function `xfs_fs_reserve_ag_blocks':
fs/xfs/xfs_fsops.c:599: undefined reference to `xfs_rt_resv_init'
ld: fs/xfs/xfs_fsops.o: in function `xfs_fs_unreserve_ag_blocks':
fs/xfs/xfs_fsops.c:625: undefined reference to `xfs_rt_resv_free'
vim +5391 fs/xfs/libxfs/xfs_btree.c
5325
5326 /* Allocate a block for an inode-rooted realtime metadata btree. */
5327 int
5328 xfs_btree_alloc_rtmeta_block(
5329 struct xfs_btree_cur *cur,
5330 union xfs_btree_ptr *start,
5331 union xfs_btree_ptr *new,
5332 int *stat)
5333 {
5334 struct xfs_alloc_arg args = { .mp = cur->bc_mp, .tp = cur->bc_tp };
5335 struct xfs_inode *ip = cur->bc_ino.ip;
5336 struct xfs_trans *tp = cur->bc_tp;
5337 int error;
5338
5339 ASSERT(!XFS_NOT_DQATTACHED(cur->bc_mp, ip));
5340
5341 args.fsbno = tp->t_firstblock;
5342 args.resv = XFS_AG_RESV_RTMETADATA;
5343 xfs_rmap_ino_bmbt_owner(&args.oinfo, ip->i_ino, cur->bc_ino.whichfork);
5344
5345 if (args.fsbno == NULLFSBLOCK) {
5346 args.fsbno = be64_to_cpu(start->l);
5347 args.type = XFS_ALLOCTYPE_START_BNO;
5348 /*
5349 * Make sure there is sufficient room left in the AG to
5350 * complete a full tree split for an extent insert. If
5351 * we are converting the middle part of an extent then
5352 * we may need space for two tree splits.
5353 *
5354 * We are relying on the caller to make the correct block
5355 * reservation for this operation to succeed. If the
5356 * reservation amount is insufficient then we may fail a
5357 * block allocation here and corrupt the filesystem.
5358 */
5359 args.minleft = tp->t_blk_res;
5360 } else if (tp->t_flags & XFS_TRANS_LOWMODE) {
5361 args.type = XFS_ALLOCTYPE_START_BNO;
5362 } else {
5363 args.type = XFS_ALLOCTYPE_NEAR_BNO;
5364 }
5365
5366 args.minlen = args.maxlen = args.prod = 1;
5367 error = xfs_alloc_vextent(&args);
5368 if (error)
5369 goto error0;
5370
5371 if (args.fsbno == NULLFSBLOCK && args.minleft) {
5372 /*
5373 * Could not find an AG with enough free space to satisfy
5374 * a full btree split. Try again without minleft and if
5375 * successful activate the lowspace algorithm.
5376 */
5377 args.fsbno = 0;
5378 args.type = XFS_ALLOCTYPE_FIRST_AG;
5379 args.minleft = 0;
5380 error = xfs_alloc_vextent(&args);
5381 if (error)
5382 goto error0;
5383 tp->t_flags |= XFS_TRANS_LOWMODE;
5384 }
5385 if (args.fsbno == NULLFSBLOCK) {
5386 *stat = 0;
5387 return 0;
5388 }
5389 ASSERT(args.len == 1);
5390
> 5391 xfs_rt_resv_alloc_extent(ip, &args);
5392 cur->bc_ino.allocated++;
5393 xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
5394 xfs_trans_mod_dquot_byino(tp, ip, XFS_TRANS_DQ_BCOUNT, 1);
5395
5396 new->l = cpu_to_be64(args.fsbno);
5397 *stat = 1;
5398 return 0;
5399
5400 error0:
5401 return error;
5402 }
5403
5404 /* Free a block from an inode-rooted realtime metadata btree. */
5405 int
5406 xfs_btree_free_rtmeta_block(
5407 struct xfs_btree_cur *cur,
5408 struct xfs_buf *bp)
5409 {
5410 struct xfs_owner_info oinfo;
5411 struct xfs_mount *mp = cur->bc_mp;
5412 struct xfs_inode *ip = cur->bc_ino.ip;
5413 struct xfs_trans *tp = cur->bc_tp;
5414 xfs_fsblock_t fsbno = XFS_DADDR_TO_FSB(mp, XFS_BUF_ADDR(bp));
5415 int error;
5416
5417 ASSERT(!XFS_NOT_DQATTACHED(mp, ip));
5418
5419 xfs_rmap_ino_bmbt_owner(&oinfo, ip->i_ino, cur->bc_ino.whichfork);
5420 error = __xfs_free_extent(tp, fsbno, 1, &oinfo, XFS_AG_RESV_RTMETADATA,
5421 false);
5422 if (error)
5423 return error;
5424
> 5425 xfs_rt_resv_free_extent(ip, tp, 1);
---
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: 38240 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-05-01 8:15 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-01 8:15 [djwong-xfs:vectorized-scrub 244/326] fs/xfs/libxfs/xfs_btree.c:5391: undefined reference to `xfs_rt_resv_alloc_extent' 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.