All of lore.kernel.org
 help / color / mirror / Atom feed
* [f2fs-stable:linux-4.19.y 612/612] fs/xfs/xfs_trans_inode.c:100:2: note: in expansion of macro 'if'
@ 2020-06-24 15:25 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-06-24 15:25 UTC (permalink / raw)
  To: kbuild-all

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

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-stable.git linux-4.19.y
head:   00f6b03b4176b05c58ab06738c95555b1449cc02
commit: 00f6b03b4176b05c58ab06738c95555b1449cc02 [612/612] writeback: Drop I_DIRTY_TIME_EXPIRE
config: i386-randconfig-a011-20200624 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce (this is a W=1 build):
        git checkout 00f6b03b4176b05c58ab06738c95555b1449cc02
        # save the attached .config to linux build tree
        make W=1 ARCH=i386 

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

All warnings (new ones prefixed by >>):

   In file included from include/linux/string.h:6,
                    from include/linux/uuid.h:20,
                    from fs/xfs/xfs_linux.h:10,
                    from fs/xfs/xfs.h:22,
                    from fs/xfs/xfs_trans_inode.c:6:
   fs/xfs/xfs_trans_inode.c: In function 'xfs_trans_log_inode':
   fs/xfs/xfs_trans_inode.c:100:39: error: 'I_DIRTY_TIME_EXPIRED' undeclared (first use in this function)
     100 |  if (inode->i_state & (I_DIRTY_TIME | I_DIRTY_TIME_EXPIRED)) {
         |                                       ^~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
      58 |  if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
         |                              ^~~~
>> fs/xfs/xfs_trans_inode.c:100:2: note: in expansion of macro 'if'
     100 |  if (inode->i_state & (I_DIRTY_TIME | I_DIRTY_TIME_EXPIRED)) {
         |  ^~
   fs/xfs/xfs_trans_inode.c:100:39: note: each undeclared identifier is reported only once for each function it appears in
     100 |  if (inode->i_state & (I_DIRTY_TIME | I_DIRTY_TIME_EXPIRED)) {
         |                                       ^~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
      58 |  if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
         |                              ^~~~
>> fs/xfs/xfs_trans_inode.c:100:2: note: in expansion of macro 'if'
     100 |  if (inode->i_state & (I_DIRTY_TIME | I_DIRTY_TIME_EXPIRED)) {
         |  ^~

vim +/if +100 fs/xfs/xfs_trans_inode.c

dcd79a1423f64e Dave Chinner      2010-09-28   73  
^1da177e4c3f41 Linus Torvalds    2005-04-16   74  /*
^1da177e4c3f41 Linus Torvalds    2005-04-16   75   * This is called to mark the fields indicated in fieldmask as needing
^1da177e4c3f41 Linus Torvalds    2005-04-16   76   * to be logged when the transaction is committed.  The inode must
^1da177e4c3f41 Linus Torvalds    2005-04-16   77   * already be associated with the given transaction.
^1da177e4c3f41 Linus Torvalds    2005-04-16   78   *
^1da177e4c3f41 Linus Torvalds    2005-04-16   79   * The values for fieldmask are defined in xfs_inode_item.h.  We always
^1da177e4c3f41 Linus Torvalds    2005-04-16   80   * log all of the core inode if any of it has changed, and we always log
^1da177e4c3f41 Linus Torvalds    2005-04-16   81   * all of the inline data/extents/b-tree root if any of them has changed.
^1da177e4c3f41 Linus Torvalds    2005-04-16   82   */
^1da177e4c3f41 Linus Torvalds    2005-04-16   83  void
^1da177e4c3f41 Linus Torvalds    2005-04-16   84  xfs_trans_log_inode(
^1da177e4c3f41 Linus Torvalds    2005-04-16   85  	xfs_trans_t	*tp,
^1da177e4c3f41 Linus Torvalds    2005-04-16   86  	xfs_inode_t	*ip,
^1da177e4c3f41 Linus Torvalds    2005-04-16   87  	uint		flags)
^1da177e4c3f41 Linus Torvalds    2005-04-16   88  {
c3b1b13190aec6 Christoph Hellwig 2018-03-06   89  	struct inode	*inode = VFS_I(ip);
c3b1b13190aec6 Christoph Hellwig 2018-03-06   90  
^1da177e4c3f41 Linus Torvalds    2005-04-16   91  	ASSERT(ip->i_itemp != NULL);
579aa9caf552c6 Christoph Hellwig 2008-04-22   92  	ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL));
^1da177e4c3f41 Linus Torvalds    2005-04-16   93  
c3b1b13190aec6 Christoph Hellwig 2018-03-06   94  	/*
c3b1b13190aec6 Christoph Hellwig 2018-03-06   95  	 * Don't bother with i_lock for the I_DIRTY_TIME check here, as races
c3b1b13190aec6 Christoph Hellwig 2018-03-06   96  	 * don't matter - we either will need an extra transaction in 24 hours
c3b1b13190aec6 Christoph Hellwig 2018-03-06   97  	 * to log the timestamps, or will clear already cleared fields in the
c3b1b13190aec6 Christoph Hellwig 2018-03-06   98  	 * worst case.
c3b1b13190aec6 Christoph Hellwig 2018-03-06   99  	 */
c3b1b13190aec6 Christoph Hellwig 2018-03-06 @100  	if (inode->i_state & (I_DIRTY_TIME | I_DIRTY_TIME_EXPIRED)) {
c3b1b13190aec6 Christoph Hellwig 2018-03-06  101  		spin_lock(&inode->i_lock);
c3b1b13190aec6 Christoph Hellwig 2018-03-06  102  		inode->i_state &= ~(I_DIRTY_TIME | I_DIRTY_TIME_EXPIRED);
c3b1b13190aec6 Christoph Hellwig 2018-03-06  103  		spin_unlock(&inode->i_lock);
c3b1b13190aec6 Christoph Hellwig 2018-03-06  104  	}
c3b1b13190aec6 Christoph Hellwig 2018-03-06  105  
fc0561cefc04e7 Dave Chinner      2015-11-03  106  	/*
fc0561cefc04e7 Dave Chinner      2015-11-03  107  	 * Record the specific change for fdatasync optimisation. This
fc0561cefc04e7 Dave Chinner      2015-11-03  108  	 * allows fdatasync to skip log forces for inodes that are only
fc0561cefc04e7 Dave Chinner      2015-11-03  109  	 * timestamp dirty. We do this before the change count so that
fc0561cefc04e7 Dave Chinner      2015-11-03  110  	 * the core being logged in this case does not impact on fdatasync
fc0561cefc04e7 Dave Chinner      2015-11-03  111  	 * behaviour.
fc0561cefc04e7 Dave Chinner      2015-11-03  112  	 */
fc0561cefc04e7 Dave Chinner      2015-11-03  113  	ip->i_itemp->ili_fsync_fields |= flags;
fc0561cefc04e7 Dave Chinner      2015-11-03  114  
dc037ad7d24f37 Dave Chinner      2013-06-27  115  	/*
dc037ad7d24f37 Dave Chinner      2013-06-27  116  	 * First time we log the inode in a transaction, bump the inode change
d17260fd5f9cd5 Jeff Layton       2017-12-11  117  	 * counter if it is configured for this to occur. While we have the
d17260fd5f9cd5 Jeff Layton       2017-12-11  118  	 * inode locked exclusively for metadata modification, we can usually
d17260fd5f9cd5 Jeff Layton       2017-12-11  119  	 * avoid setting XFS_ILOG_CORE if no one has queried the value since
d17260fd5f9cd5 Jeff Layton       2017-12-11  120  	 * the last time it was incremented. If we have XFS_ILOG_CORE already
d17260fd5f9cd5 Jeff Layton       2017-12-11  121  	 * set however, then go ahead and bump the i_version counter
d17260fd5f9cd5 Jeff Layton       2017-12-11  122  	 * unconditionally.
dc037ad7d24f37 Dave Chinner      2013-06-27  123  	 */
e6631f85546c8f Dave Chinner      2018-05-09  124  	if (!test_and_set_bit(XFS_LI_DIRTY, &ip->i_itemp->ili_item.li_flags) &&
dc037ad7d24f37 Dave Chinner      2013-06-27  125  	    IS_I_VERSION(VFS_I(ip))) {
d17260fd5f9cd5 Jeff Layton       2017-12-11  126  		if (inode_maybe_inc_iversion(VFS_I(ip), flags & XFS_ILOG_CORE))
dc037ad7d24f37 Dave Chinner      2013-06-27  127  			flags |= XFS_ILOG_CORE;
dc037ad7d24f37 Dave Chinner      2013-06-27  128  	}
dc037ad7d24f37 Dave Chinner      2013-06-27  129  
^1da177e4c3f41 Linus Torvalds    2005-04-16  130  	tp->t_flags |= XFS_TRANS_DIRTY;
^1da177e4c3f41 Linus Torvalds    2005-04-16  131  
^1da177e4c3f41 Linus Torvalds    2005-04-16  132  	/*
^1da177e4c3f41 Linus Torvalds    2005-04-16  133  	 * Always OR in the bits from the ili_last_fields field.
^1da177e4c3f41 Linus Torvalds    2005-04-16  134  	 * This is to coordinate with the xfs_iflush() and xfs_iflush_done()
f5d8d5c4bf29c9 Christoph Hellwig 2012-02-29  135  	 * routines in the eventual clearing of the ili_fields bits.
^1da177e4c3f41 Linus Torvalds    2005-04-16  136  	 * See the big comment in xfs_iflush() for an explanation of
c41564b5af328e Nathan Scott      2006-03-29  137  	 * this coordination mechanism.
^1da177e4c3f41 Linus Torvalds    2005-04-16  138  	 */
^1da177e4c3f41 Linus Torvalds    2005-04-16  139  	flags |= ip->i_itemp->ili_last_fields;
f5d8d5c4bf29c9 Christoph Hellwig 2012-02-29  140  	ip->i_itemp->ili_fields |= flags;
^1da177e4c3f41 Linus Torvalds    2005-04-16  141  }
411350df14a3d6 Christoph Hellwig 2017-08-28  142  

:::::: The code at line 100 was first introduced by commit
:::::: c3b1b13190aec6d7450971b5ff10beaec04af558 xfs: implement the lazytime mount option

:::::: TO: Christoph Hellwig <hch@lst.de>
:::::: CC: Darrick J. Wong <darrick.wong@oracle.com>

---
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: 33309 bytes --]

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

only message in thread, other threads:[~2020-06-24 15:25 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-24 15:25 [f2fs-stable:linux-4.19.y 612/612] fs/xfs/xfs_trans_inode.c:100:2: note: in expansion of macro 'if' 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.