* [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.