linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: kbuild test robot <fengguang.wu@intel.com>
To: Josef Bacik <jbacik@fb.com>
Cc: kbuild-all@01.org, linux-btrfs@vger.kernel.org
Subject: [josef-btrfs:new-kill-btree-inode 25/28] fs/super.c:450:3: note: in expansion of macro 'if'
Date: Fri, 10 Nov 2017 01:02:46 +0800	[thread overview]
Message-ID: <201711100143.amkjHZv6%fengguang.wu@intel.com> (raw)

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

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/josef/btrfs-next.git new-kill-btree-inode
head:   246e803530bee11804fa19b24ce467d2a2c9cb5d
commit: 406cde4fc84d7943fa7d69642cc7fd563301f5e6 [25/28] writeback: introduce super_operations->write_metadata
config: x86_64-randconfig-x015-201745 (attached as .config)
compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026
reproduce:
        git checkout 406cde4fc84d7943fa7d69642cc7fd563301f5e6
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All warnings (new ones prefixed by >>):

   In file included from include/asm-generic/bug.h:4:0,
                    from arch/x86/include/asm/bug.h:81,
                    from include/linux/bug.h:4,
                    from include/linux/mmdebug.h:4,
                    from include/linux/gfp.h:4,
                    from include/linux/slab.h:14,
                    from fs/super.c:24:
   fs/super.c: In function 'generic_shutdown_super':
   fs/super.c:450:19: error: incompatible type for argument 1 of 'list_empty'
      if (!list_empty(sb->s_bdi_list)) {
                      ^
   include/linux/compiler.h:156:30: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                 ^~~~
>> fs/super.c:450:3: note: in expansion of macro 'if'
      if (!list_empty(sb->s_bdi_list)) {
      ^~
   In file included from include/linux/preempt.h:10:0,
                    from include/linux/spinlock.h:50,
                    from include/linux/mmzone.h:7,
                    from include/linux/gfp.h:5,
                    from include/linux/slab.h:14,
                    from fs/super.c:24:
   include/linux/list.h:200:19: note: expected 'const struct list_head *' but argument is of type 'struct list_head'
    static inline int list_empty(const struct list_head *head)
                      ^~~~~~~~~~
   In file included from include/asm-generic/bug.h:4:0,
                    from arch/x86/include/asm/bug.h:81,
                    from include/linux/bug.h:4,
                    from include/linux/mmdebug.h:4,
                    from include/linux/gfp.h:4,
                    from include/linux/slab.h:14,
                    from fs/super.c:24:
   fs/super.c:450:19: error: incompatible type for argument 1 of 'list_empty'
      if (!list_empty(sb->s_bdi_list)) {
                      ^
   include/linux/compiler.h:156:42: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                             ^~~~
>> fs/super.c:450:3: note: in expansion of macro 'if'
      if (!list_empty(sb->s_bdi_list)) {
      ^~
   In file included from include/linux/preempt.h:10:0,
                    from include/linux/spinlock.h:50,
                    from include/linux/mmzone.h:7,
                    from include/linux/gfp.h:5,
                    from include/linux/slab.h:14,
                    from fs/super.c:24:
   include/linux/list.h:200:19: note: expected 'const struct list_head *' but argument is of type 'struct list_head'
    static inline int list_empty(const struct list_head *head)
                      ^~~~~~~~~~
   In file included from include/asm-generic/bug.h:4:0,
                    from arch/x86/include/asm/bug.h:81,
                    from include/linux/bug.h:4,
                    from include/linux/mmdebug.h:4,
                    from include/linux/gfp.h:4,
                    from include/linux/slab.h:14,
                    from fs/super.c:24:
   fs/super.c:450:19: error: incompatible type for argument 1 of 'list_empty'
      if (!list_empty(sb->s_bdi_list)) {
                      ^
   include/linux/compiler.h:167:16: note: in definition of macro '__trace_if'
      ______r = !!(cond);     \
                   ^~~~
>> fs/super.c:450:3: note: in expansion of macro 'if'
      if (!list_empty(sb->s_bdi_list)) {
      ^~
   In file included from include/linux/preempt.h:10:0,
                    from include/linux/spinlock.h:50,
                    from include/linux/mmzone.h:7,
                    from include/linux/gfp.h:5,
                    from include/linux/slab.h:14,
                    from fs/super.c:24:
   include/linux/list.h:200:19: note: expected 'const struct list_head *' but argument is of type 'struct list_head'
    static inline int list_empty(const struct list_head *head)
                      ^~~~~~~~~~
   In file included from include/asm-generic/bug.h:4:0,
                    from arch/x86/include/asm/bug.h:81,
                    from include/linux/bug.h:4,
                    from include/linux/mmdebug.h:4,
                    from include/linux/gfp.h:4,
                    from include/linux/slab.h:14,
                    from fs/super.c:24:
   fs/super.c: At top level:
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'strcpy' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:421:2: note: in expansion of macro 'if'
     if (p_size == (size_t)-1 && q_size == (size_t)-1)
     ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'kmemdup' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:411:2: note: in expansion of macro 'if'
     if (p_size < size)
     ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'kmemdup' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:409:2: note: in expansion of macro 'if'
     if (__builtin_constant_p(size) && p_size < size)
     ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'memchr_inv' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:400:2: note: in expansion of macro 'if'
     if (p_size < size)
     ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'memchr_inv' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:398:2: note: in expansion of macro 'if'
     if (__builtin_constant_p(size) && p_size < size)
     ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'memchr' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:389:2: note: in expansion of macro 'if'
     if (p_size < size)
     ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'memchr' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:387:2: note: in expansion of macro 'if'
     if (__builtin_constant_p(size) && p_size < size)
     ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'memcmp' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:379:2: note: in expansion of macro 'if'
     if (p_size < size || q_size < size)
     ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'memcmp' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:376:3: note: in expansion of macro 'if'
      if (q_size < size)
      ^~

vim +/if +450 fs/super.c

   401	
   402	/**
   403	 *	generic_shutdown_super	-	common helper for ->kill_sb()
   404	 *	@sb: superblock to kill
   405	 *
   406	 *	generic_shutdown_super() does all fs-independent work on superblock
   407	 *	shutdown.  Typical ->kill_sb() should pick all fs-specific objects
   408	 *	that need destruction out of superblock, call generic_shutdown_super()
   409	 *	and release aforementioned objects.  Note: dentries and inodes _are_
   410	 *	taken care of and do not need specific handling.
   411	 *
   412	 *	Upon calling this function, the filesystem may no longer alter or
   413	 *	rearrange the set of dentries belonging to this super_block, nor may it
   414	 *	change the attachments of dentries to inodes.
   415	 */
   416	void generic_shutdown_super(struct super_block *sb)
   417	{
   418		const struct super_operations *sop = sb->s_op;
   419	
   420		if (sb->s_root) {
   421			shrink_dcache_for_umount(sb);
   422			sync_filesystem(sb);
   423			sb->s_flags &= ~SB_ACTIVE;
   424	
   425			fsnotify_unmount_inodes(sb);
   426			cgroup_writeback_umount();
   427	
   428			evict_inodes(sb);
   429	
   430			if (sb->s_dio_done_wq) {
   431				destroy_workqueue(sb->s_dio_done_wq);
   432				sb->s_dio_done_wq = NULL;
   433			}
   434	
   435			if (sop->put_super)
   436				sop->put_super(sb);
   437	
   438			if (!list_empty(&sb->s_inodes)) {
   439				printk("VFS: Busy inodes after unmount of %s. "
   440				   "Self-destruct in 5 seconds.  Have a nice day...\n",
   441				   sb->s_id);
   442			}
   443		}
   444		spin_lock(&sb_lock);
   445		/* should be initialized for __put_super_and_need_restart() */
   446		hlist_del_init(&sb->s_instances);
   447		spin_unlock(&sb_lock);
   448		up_write(&sb->s_umount);
   449		if (sb->s_bdi != &noop_backing_dev_info) {
 > 450			if (!list_empty(sb->s_bdi_list)) {
   451				spin_lock(&sb->s_bdi->sb_list_lock);
   452				list_del_init(&sb->s_bdi_list);
   453				spin_unlock(&sb->s_bdi->sb_list_lock);
   454			}
   455			bdi_put(sb->s_bdi);
   456			sb->s_bdi = &noop_backing_dev_info;
   457		}
   458	}
   459	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

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

                 reply	other threads:[~2017-11-09 17:03 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201711100143.amkjHZv6%fengguang.wu@intel.com \
    --to=fengguang.wu@intel.com \
    --cc=jbacik@fb.com \
    --cc=kbuild-all@01.org \
    --cc=linux-btrfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).