All of lore.kernel.org
 help / color / mirror / Atom feed
* [otc-clk-server-linux:ira/lck-4071-b8-v2 19/28] fs/xfs/xfs_super.c:1452:25: error: 'lock_dax_state_static_key' undeclared; did you mean 'proc_do_static_key'?
@ 2020-01-24  6:43 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2020-01-24  6:43 UTC (permalink / raw)
  To: kbuild-all

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

tree:   otc-clk-server-linux/ira/lck-4071-b8-v2
head:   08333ed7d45cb9e8a2c4d602f97d0e9c2f56e8d3
commit: 6880f81a5190f83201be0ff8b3ce48e5b1f594a3 [19/28] fs/xfs: Allow toggle of effective DAX flag
config: parisc-c3000_defconfig (attached as .config)
compiler: hppa-linux-gcc (GCC) 7.5.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 6880f81a5190f83201be0ff8b3ce48e5b1f594a3
        # save the attached .config to linux build tree
        GCC_VERSION=7.5.0 make.cross ARCH=parisc 

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

All errors (new ones prefixed by >>):

   In file included from include/linux/static_key.h:1:0,
                    from include/linux/tracepoint-defs.h:12,
                    from include/linux/page_ref.h:8,
                    from include/linux/mm.h:26,
                    from fs/xfs/kmem.h:11,
                    from fs/xfs/xfs_linux.h:24,
                    from fs/xfs/xfs.h:22,
                    from fs/xfs/xfs_super.c:7:
   fs/xfs/xfs_super.c: In function 'xfs_fc_fill_super':
>> fs/xfs/xfs_super.c:1452:25: error: 'lock_dax_state_static_key' undeclared (first use in this function); did you mean 'proc_do_static_key'?
      static_branch_enable(&lock_dax_state_static_key);
                            ^
   include/linux/jump_label.h:498:55: note: in definition of macro 'static_branch_enable'
    #define static_branch_enable(x)   static_key_enable(&(x)->key)
                                                          ^
   fs/xfs/xfs_super.c:1452:25: note: each undeclared identifier is reported only once for each function it appears in
      static_branch_enable(&lock_dax_state_static_key);
                            ^
   include/linux/jump_label.h:498:55: note: in definition of macro 'static_branch_enable'
    #define static_branch_enable(x)   static_key_enable(&(x)->key)
                                                          ^

vim +1452 fs/xfs/xfs_super.c

  1331	
  1332	static int
  1333	xfs_fc_fill_super(
  1334		struct super_block	*sb,
  1335		struct fs_context	*fc)
  1336	{
  1337		struct xfs_mount	*mp = sb->s_fs_info;
  1338		struct inode		*root;
  1339		int			flags = 0, error;
  1340		bool                    rtdev_is_dax = false, datadev_is_dax;
  1341	
  1342		mp->m_super = sb;
  1343	
  1344		error = xfs_fc_validate_params(mp);
  1345		if (error)
  1346			goto out_free_names;
  1347	
  1348		sb_min_blocksize(sb, BBSIZE);
  1349		sb->s_xattr = xfs_xattr_handlers;
  1350		sb->s_export_op = &xfs_export_operations;
  1351	#ifdef CONFIG_XFS_QUOTA
  1352		sb->s_qcop = &xfs_quotactl_operations;
  1353		sb->s_quota_types = QTYPE_MASK_USR | QTYPE_MASK_GRP | QTYPE_MASK_PRJ;
  1354	#endif
  1355		sb->s_op = &xfs_super_operations;
  1356	
  1357		/*
  1358		 * Delay mount work if the debug hook is set. This is debug
  1359		 * instrumention to coordinate simulation of xfs mount failures with
  1360		 * VFS superblock operations
  1361		 */
  1362		if (xfs_globals.mount_delay) {
  1363			xfs_notice(mp, "Delaying mount for %d seconds.",
  1364				xfs_globals.mount_delay);
  1365			msleep(xfs_globals.mount_delay * 1000);
  1366		}
  1367	
  1368		if (fc->sb_flags & SB_SILENT)
  1369			flags |= XFS_MFSI_QUIET;
  1370	
  1371		error = xfs_open_devices(mp);
  1372		if (error)
  1373			goto out_free_names;
  1374	
  1375		error = xfs_init_mount_workqueues(mp);
  1376		if (error)
  1377			goto out_close_devices;
  1378	
  1379		error = xfs_init_percpu_counters(mp);
  1380		if (error)
  1381			goto out_destroy_workqueues;
  1382	
  1383		/* Allocate stats memory before we do operations that might use it */
  1384		mp->m_stats.xs_stats = alloc_percpu(struct xfsstats);
  1385		if (!mp->m_stats.xs_stats) {
  1386			error = -ENOMEM;
  1387			goto out_destroy_counters;
  1388		}
  1389	
  1390		error = xfs_readsb(mp, flags);
  1391		if (error)
  1392			goto out_free_stats;
  1393	
  1394		error = xfs_finish_flags(mp);
  1395		if (error)
  1396			goto out_free_sb;
  1397	
  1398		error = xfs_setup_devices(mp);
  1399		if (error)
  1400			goto out_free_sb;
  1401	
  1402		/*
  1403		 * XFS block mappings use 54 bits to store the logical block offset.
  1404		 * This should suffice to handle the maximum file size that the VFS
  1405		 * supports (currently 2^63 bytes on 64-bit and ULONG_MAX << PAGE_SHIFT
  1406		 * bytes on 32-bit), but as XFS and VFS have gotten the s_maxbytes
  1407		 * calculation wrong on 32-bit kernels in the past, we'll add a WARN_ON
  1408		 * to check this assertion.
  1409		 *
  1410		 * Avoid integer overflow by comparing the maximum bmbt offset to the
  1411		 * maximum pagecache offset in units of fs blocks.
  1412		 */
  1413		if (XFS_B_TO_FSBT(mp, MAX_LFS_FILESIZE) > XFS_MAX_FILEOFF) {
  1414			xfs_warn(mp,
  1415	"MAX_LFS_FILESIZE block offset (%llu) exceeds extent map maximum (%llu)!",
  1416				 XFS_B_TO_FSBT(mp, MAX_LFS_FILESIZE),
  1417				 XFS_MAX_FILEOFF);
  1418			error = -EINVAL;
  1419			goto out_free_sb;
  1420		}
  1421	
  1422		error = xfs_filestream_mount(mp);
  1423		if (error)
  1424			goto out_free_sb;
  1425	
  1426		/*
  1427		 * we must configure the block size in the superblock before we run the
  1428		 * full mount process as the mount process can lookup and cache inodes.
  1429		 */
  1430		sb->s_magic = XFS_SUPER_MAGIC;
  1431		sb->s_blocksize = mp->m_sb.sb_blocksize;
  1432		sb->s_blocksize_bits = ffs(sb->s_blocksize) - 1;
  1433		sb->s_maxbytes = MAX_LFS_FILESIZE;
  1434		sb->s_max_links = XFS_MAXLINK;
  1435		sb->s_time_gran = 1;
  1436		sb->s_time_min = S32_MIN;
  1437		sb->s_time_max = S32_MAX;
  1438		sb->s_iflags |= SB_I_CGROUPWB;
  1439	
  1440		set_posix_acl_flag(sb);
  1441	
  1442		/* version 5 superblocks support inode version counters. */
  1443		if (XFS_SB_VERSION_NUM(&mp->m_sb) == XFS_SB_VERSION_5)
  1444			sb->s_flags |= SB_I_VERSION;
  1445	
  1446		datadev_is_dax = bdev_dax_supported(mp->m_ddev_targp->bt_bdev,
  1447						    sb->s_blocksize);
  1448		if (mp->m_rtdev_targp)
  1449			rtdev_is_dax = bdev_dax_supported(mp->m_rtdev_targp->bt_bdev,
  1450							  sb->s_blocksize);
  1451		if (rtdev_is_dax || datadev_is_dax)
> 1452			static_branch_enable(&lock_dax_state_static_key);
  1453	
  1454		if (mp->m_flags & XFS_MOUNT_DAX) {
  1455			xfs_warn(mp,
  1456			"DAX enabled. Warning: EXPERIMENTAL, use at your own risk");
  1457	
  1458			if (!rtdev_is_dax && !datadev_is_dax) {
  1459				xfs_alert(mp,
  1460				"DAX unsupported by block device. Turning off DAX.");
  1461				mp->m_flags &= ~XFS_MOUNT_DAX;
  1462			}
  1463			if (xfs_sb_version_hasreflink(&mp->m_sb)) {
  1464				xfs_alert(mp,
  1465			"DAX and reflink cannot be used together!");
  1466				error = -EINVAL;
  1467				goto out_filestream_unmount;
  1468			}
  1469		}
  1470	
  1471		if (mp->m_flags & XFS_MOUNT_DISCARD) {
  1472			struct request_queue *q = bdev_get_queue(sb->s_bdev);
  1473	
  1474			if (!blk_queue_discard(q)) {
  1475				xfs_warn(mp, "mounting with \"discard\" option, but "
  1476						"the device does not support discard");
  1477				mp->m_flags &= ~XFS_MOUNT_DISCARD;
  1478			}
  1479		}
  1480	
  1481		if (xfs_sb_version_hasreflink(&mp->m_sb)) {
  1482			if (mp->m_sb.sb_rblocks) {
  1483				xfs_alert(mp,
  1484		"reflink not compatible with realtime device!");
  1485				error = -EINVAL;
  1486				goto out_filestream_unmount;
  1487			}
  1488	
  1489			if (xfs_globals.always_cow) {
  1490				xfs_info(mp, "using DEBUG-only always_cow mode.");
  1491				mp->m_always_cow = true;
  1492			}
  1493		}
  1494	
  1495		if (xfs_sb_version_hasrmapbt(&mp->m_sb) && mp->m_sb.sb_rblocks) {
  1496			xfs_alert(mp,
  1497		"reverse mapping btree not compatible with realtime device!");
  1498			error = -EINVAL;
  1499			goto out_filestream_unmount;
  1500		}
  1501	
  1502		error = xfs_mountfs(mp);
  1503		if (error)
  1504			goto out_filestream_unmount;
  1505	
  1506		root = igrab(VFS_I(mp->m_rootip));
  1507		if (!root) {
  1508			error = -ENOENT;
  1509			goto out_unmount;
  1510		}
  1511		sb->s_root = d_make_root(root);
  1512		if (!sb->s_root) {
  1513			error = -ENOMEM;
  1514			goto out_unmount;
  1515		}
  1516	
  1517		return 0;
  1518	
  1519	 out_filestream_unmount:
  1520		xfs_filestream_unmount(mp);
  1521	 out_free_sb:
  1522		xfs_freesb(mp);
  1523	 out_free_stats:
  1524		free_percpu(mp->m_stats.xs_stats);
  1525	 out_destroy_counters:
  1526		xfs_destroy_percpu_counters(mp);
  1527	 out_destroy_workqueues:
  1528		xfs_destroy_mount_workqueues(mp);
  1529	 out_close_devices:
  1530		xfs_close_devices(mp);
  1531	 out_free_names:
  1532		sb->s_fs_info = NULL;
  1533		xfs_mount_free(mp);
  1534		return error;
  1535	
  1536	 out_unmount:
  1537		xfs_filestream_unmount(mp);
  1538		xfs_unmountfs(mp);
  1539		goto out_free_sb;
  1540	}
  1541	

---
0-DAY kernel test infrastructure                 Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org Intel Corporation

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

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

only message in thread, other threads:[~2020-01-24  6:43 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-24  6:43 [otc-clk-server-linux:ira/lck-4071-b8-v2 19/28] fs/xfs/xfs_super.c:1452:25: error: 'lock_dax_state_static_key' undeclared; did you mean 'proc_do_static_key'? kbuild 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.