All of lore.kernel.org
 help / color / mirror / Atom feed
* [djwong-xfs:pptrs-online-dir-check 86/86] fs/xfs/scrub/dir.c:1063: undefined reference to `xfblob_load'
@ 2023-02-15 12:25 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-02-15 12:25 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: oe-kbuild-all

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git pptrs-online-dir-check
head:   742799e0756242478440147ff6400f90b599b6d4
commit: 742799e0756242478440147ff6400f90b599b6d4 [86/86] xfs: deferred scrub of dirents
config: x86_64-randconfig-a014-20230213 (https://download.01.org/0day-ci/archive/20230215/202302152005.h21DIFY2-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
reproduce (this is a W=1 build):
        # https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git/commit/?id=742799e0756242478440147ff6400f90b599b6d4
        git remote add djwong-xfs https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git
        git fetch --no-tags djwong-xfs pptrs-online-dir-check
        git checkout 742799e0756242478440147ff6400f90b599b6d4
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 O=build_dir ARCH=x86_64 olddefconfig
        make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202302152005.h21DIFY2-lkp@intel.com/

All errors (new ones prefixed by >>):

   ld: fs/xfs/scrub/dir.o: in function `xchk_dir_finish_slow_dirents':
>> fs/xfs/scrub/dir.c:1063: undefined reference to `xfblob_load'
   ld: fs/xfs/scrub/dir.o: in function `xchk_dir_check_pptr_fast':
>> fs/xfs/scrub/dir.c:207: undefined reference to `xfblob_store'
   ld: fs/xfs/scrub/dir.o: in function `xchk_directory':
>> fs/xfs/scrub/dir.c:1145: undefined reference to `xfblob_destroy'
>> ld: fs/xfs/scrub/dir.c:1125: undefined reference to `xfblob_create'
   ld: fs/xfs/scrub/listxattr.o: in function `xchk_xattr_find_leftmost_leaf':
   fs/xfs/scrub/listxattr.c:184: undefined reference to `xbitmap_set'
   ld: fs/xfs/scrub/listxattr.c:195: undefined reference to `xbitmap_test'
   ld: fs/xfs/scrub/listxattr.c:210: undefined reference to `xbitmap_set'
   ld: fs/xfs/scrub/listxattr.o: in function `xchk_xattr_walk_node':
   fs/xfs/scrub/listxattr.c:237: undefined reference to `xbitmap_init'
   ld: fs/xfs/scrub/listxattr.c:261: undefined reference to `xbitmap_test'
   ld: fs/xfs/scrub/listxattr.c:270: undefined reference to `xbitmap_set'
   ld: fs/xfs/scrub/listxattr.c:278: undefined reference to `xbitmap_destroy'
   ld: fs/xfs/scrub/parent.o: in function `xchk_parent_scan_attr':
   fs/xfs/scrub/parent.c:578: undefined reference to `xfblob_store'
   ld: fs/xfs/scrub/parent.o: in function `xchk_parent_slow_pptr':
   fs/xfs/scrub/parent.c:654: undefined reference to `xfblob_load'
   ld: fs/xfs/scrub/parent.o: in function `xchk_parent_finish_slow_pptrs':
   fs/xfs/scrub/parent.c:759: undefined reference to `xfblob_truncate'
   ld: fs/xfs/scrub/parent.o: in function `xchk_parent_pptr':
   fs/xfs/scrub/parent.c:789: undefined reference to `xfblob_create'
   ld: fs/xfs/scrub/parent.c:806: undefined reference to `xfblob_destroy'


vim +1063 fs/xfs/scrub/dir.c

  1047	
  1048	/* Check all the dirents that we deferred the first time around. */
  1049	STATIC int
  1050	xchk_dir_finish_slow_dirents(
  1051		struct xchk_dir		*sd)
  1052	{
  1053		xfarray_idx_t		array_cur;
  1054		int			error;
  1055	
  1056		foreach_xfarray_idx(sd->dir_entries, array_cur) {
  1057			struct xchk_dirent	dirent;
  1058	
  1059			error = xfarray_load(sd->dir_entries, array_cur, &dirent);
  1060			if (error)
  1061				return error;
  1062	
> 1063			error = xfblob_load(sd->dir_names, dirent.name_cookie,
  1064					sd->namebuf, dirent.namelen);
  1065			if (error)
  1066				return error;
  1067			sd->namebuf[MAXNAMELEN - 1] = 0;
  1068	
  1069			error = xchk_dir_slow_dirent(sd, &dirent);
  1070			if (error)
  1071				return error;
  1072		}
  1073	
  1074		return 0;
  1075	}
  1076	
  1077	/* Scrub a whole directory. */
  1078	int
  1079	xchk_directory(
  1080		struct xfs_scrub	*sc)
  1081	{
  1082		struct xchk_dir		*sd;
  1083		int			error;
  1084	
  1085		if (!S_ISDIR(VFS_I(sc->ip)->i_mode))
  1086			return -ENOENT;
  1087	
  1088		/* Plausible size? */
  1089		if (sc->ip->i_disk_size < xfs_dir2_sf_hdr_size(0)) {
  1090			xchk_ino_set_corrupt(sc, sc->ip->i_ino);
  1091			return 0;
  1092		}
  1093	
  1094		/* Check directory tree structure */
  1095		error = xchk_da_btree(sc, XFS_DATA_FORK, xchk_dir_rec, NULL);
  1096		if (error)
  1097			return error;
  1098	
  1099		if (sc->sm->sm_flags & XFS_SCRUB_OFLAG_CORRUPT)
  1100			return 0;
  1101	
  1102		/* Check the freespace. */
  1103		error = xchk_directory_blocks(sc);
  1104		if (error)
  1105			return error;
  1106	
  1107		if (sc->sm->sm_flags & XFS_SCRUB_OFLAG_CORRUPT)
  1108			return 0;
  1109	
  1110		sd = kvzalloc(sizeof(struct xchk_dir), XCHK_GFP_FLAGS);
  1111		if (!sd)
  1112			return -ENOMEM;
  1113		sd->sc = sc;
  1114	
  1115		if (xfs_has_parent(sc->mp)) {
  1116			/*
  1117			 * Set up some staging memory for dirents that we can't check
  1118			 * due to locking contention.
  1119			 */
  1120			error = xfarray_create(sc->mp, "directory entries", 0,
  1121					sizeof(struct xchk_dirent), &sd->dir_entries);
  1122			if (error)
  1123				goto out_sd;
  1124	
> 1125			error = xfblob_create(sc->mp, "dirent names", &sd->dir_names);
  1126			if (error)
  1127				goto out_entries;
  1128		}
  1129	
  1130		/* Look up every name in this directory by hash. */
  1131		error = xchk_dir_walk(sc, sc->ip, xchk_dir_actor, sd);
  1132		if (error == -ECANCELED)
  1133			error = 0;
  1134		if (error)
  1135			goto out_names;
  1136	
  1137		if (xfs_has_parent(sc->mp)) {
  1138			error = xchk_dir_finish_slow_dirents(sd);
  1139			if (error)
  1140				goto out_names;
  1141		}
  1142	
  1143	out_names:
  1144		if (sd->dir_names)
> 1145			xfblob_destroy(sd->dir_names);

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

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

only message in thread, other threads:[~2023-02-15 12:25 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-15 12:25 [djwong-xfs:pptrs-online-dir-check 86/86] fs/xfs/scrub/dir.c:1063: undefined reference to `xfblob_load' 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.