Hi Chandan,

[auto build test WARNING on tip/perf/core]
[also build test WARNING on v4.6-rc4 next-20160418]
[cannot apply to btrfs/next]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improving the system]

url:    
https://github.com/0day-ci/linux/commits/Chandan-Rajendra/Btrfs-subpage-blocksize-Define-extent_buffer_head/20160417-202933
config: ia64-allmodconfig (attached as .config)
reproduce:
        wget 
https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross
 -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=ia64 

All warnings (new ones prefixed by >>):

   fs/btrfs/extent_io.c: In function 'alloc_test_extent_buffer':
   fs/btrfs/extent_io.c:4953:4: error: 'struct extent_buffer' has no member 
named 'fs_info'
     eb->fs_info = fs_info;
       ^
   fs/btrfs/extent_io.c:4971:41: error: 'struct extent_buffer' has no member 
named 'bflags'
     set_bit(EXTENT_BUFFER_HEAD_IN_TREE, &eb->bflags);
                                            ^
   In file included from arch/ia64/include/asm/intrinsics.h:10:0,
                    from arch/ia64/include/asm/bitops.h:18,
                    from include/linux/bitops.h:36,
                    from fs/btrfs/extent_io.c:1:
   fs/btrfs/extent_io.c:4979:16: error: 'struct extent_buffer' has no member 
named 'refs'
     atomic_inc(&eb->refs);
                   ^
   arch/ia64/include/uapi/asm/intrinsics.h:60:24: note: in definition of macro 
'ia64_fetchadd'
     volatile __typeof__(*(v)) *_v = (v);      \
                           ^
   arch/ia64/include/asm/atomic.h:56:5: note: in expansion of macro 
'ia64_fetch_and_add'
      ? ia64_fetch_and_add(__ia64_aar_i, &(v)->counter) \
        ^
   arch/ia64/include/asm/atomic.h:202:33: note: in expansion of macro 
'atomic_add_return'
    #define atomic_add(i,v)   (void)atomic_add_return((i), (v))
                                    ^
   arch/ia64/include/asm/atomic.h:204:25: note: in expansion of macro 
'atomic_add'
    #define atomic_inc(v)   atomic_add(1, (v))
                            ^
>> fs/btrfs/extent_io.c:4979:2: note: in expansion of macro 'atomic_inc'
     atomic_inc(&eb->refs);
     ^
   fs/btrfs/extent_io.c:4979:16: error: 'struct extent_buffer' has no member 
named 'refs'
     atomic_inc(&eb->refs);
                   ^
   arch/ia64/include/uapi/asm/intrinsics.h:60:35: note: in definition of macro 
'ia64_fetchadd'
     volatile __typeof__(*(v)) *_v = (v);      \
                                      ^
   arch/ia64/include/asm/atomic.h:56:5: note: in expansion of macro 
'ia64_fetch_and_add'
      ? ia64_fetch_and_add(__ia64_aar_i, &(v)->counter) \
        ^
   arch/ia64/include/asm/atomic.h:202:33: note: in expansion of macro 
'atomic_add_return'
    #define atomic_add(i,v)   (void)atomic_add_return((i), (v))
                                    ^
   arch/ia64/include/asm/atomic.h:204:25: note: in expansion of macro 
'atomic_add'
    #define atomic_inc(v)   atomic_add(1, (v))
                            ^
>> fs/btrfs/extent_io.c:4979:2: note: in expansion of macro 'atomic_inc'
     atomic_inc(&eb->refs);
     ^
   fs/btrfs/extent_io.c:4979:16: error: 'struct extent_buffer' has no member 
named 'refs'
     atomic_inc(&eb->refs);
                   ^
   arch/ia64/include/uapi/asm/intrinsics.h:43:10: note: in definition of macro 
'IA64_FETCHADD'
     switch (sz) {        \
             ^
   arch/ia64/include/uapi/asm/intrinsics.h:83:34: note: in expansion of macro 
'ia64_fetchadd'
    #define ia64_fetch_and_add(i,v) (ia64_fetchadd(i, v, rel) + (i)) /* return 
new value */
                                     ^
   arch/ia64/include/asm/atomic.h:56:5: note: in expansion of macro 
'ia64_fetch_and_add'
      ? ia64_fetch_and_add(__ia64_aar_i, &(v)->counter) \
        ^
   arch/ia64/include/asm/atomic.h:202:33: note: in expansion of macro 
'atomic_add_return'
    #define atomic_add(i,v)   (void)atomic_add_return((i), (v))
                                    ^
   arch/ia64/include/asm/atomic.h:204:25: note: in expansion of macro 
'atomic_add'
    #define atomic_inc(v)   atomic_add(1, (v))
                            ^
>> fs/btrfs/extent_io.c:4979:2: note: in expansion of macro 'atomic_inc'
     atomic_inc(&eb->refs);
     ^
   fs/btrfs/extent_io.c:4979:16: error: 'struct extent_buffer' has no member 
named 'refs'
     atomic_inc(&eb->refs);
                   ^
   arch/ia64/include/uapi/asm/intrinsics.h:43:10: note: in definition of macro 
'IA64_FETCHADD'
     switch (sz) {        \
             ^
   arch/ia64/include/uapi/asm/intrinsics.h:83:34: note: in expansion of macro 
'ia64_fetchadd'
    #define ia64_fetch_and_add(i,v) (ia64_fetchadd(i, v, rel) + (i)) /* return 
new value */
                                     ^
   arch/ia64/include/asm/atomic.h:56:5: note: in expansion of macro 
'ia64_fetch_and_add'
      ? ia64_fetch_and_add(__ia64_aar_i, &(v)->counter) \
        ^
   arch/ia64/include/asm/atomic.h:202:33: note: in expansion of macro 
'atomic_add_return'
    #define atomic_add(i,v)   (void)atomic_add_return((i), (v))
                                    ^
   arch/ia64/include/asm/atomic.h:204:25: note: in expansion of macro 
'atomic_add'
    #define atomic_inc(v)   atomic_add(1, (v))
                            ^
>> fs/btrfs/extent_io.c:4979:2: note: in expansion of macro 'atomic_inc'
     atomic_inc(&eb->refs);
     ^
   fs/btrfs/extent_io.c:4979:16: error: 'struct extent_buffer' has no member 
named 'refs'
     atomic_inc(&eb->refs);
                   ^
   arch/ia64/include/uapi/asm/intrinsics.h:43:10: note: in definition of macro 
'IA64_FETCHADD'
     switch (sz) {        \
             ^
   arch/ia64/include/uapi/asm/intrinsics.h:83:34: note: in expansion of macro 
'ia64_fetchadd'
    #define ia64_fetch_and_add(i,v) (ia64_fetchadd(i, v, rel) + (i)) /* return 
new value */
                                     ^
   arch/ia64/include/asm/atomic.h:56:5: note: in expansion of macro 
'ia64_fetch_and_add'
      ? ia64_fetch_and_add(__ia64_aar_i, &(v)->counter) \
        ^
   arch/ia64/include/asm/atomic.h:202:33: note: in expansion of macro 
'atomic_add_return'
    #define atomic_add(i,v)   (void)atomic_add_return((i), (v))
                                    ^
   arch/ia64/include/asm/atomic.h:204:25: note: in expansion of macro 
'atomic_add'
    #define atomic_inc(v)   atomic_add(1, (v))
                            ^
>> fs/btrfs/extent_io.c:4979:2: note: in expansion of macro 'atomic_inc'
     atomic_inc(&eb->refs);
     ^
   fs/btrfs/extent_io.c:4979:16: error: 'struct extent_buffer' has no member 
named 'refs'
     atomic_inc(&eb->refs);
                   ^
   arch/ia64/include/uapi/asm/intrinsics.h:43:10: note: in definition of macro 
'IA64_FETCHADD'
     switch (sz) {        \
             ^
   arch/ia64/include/uapi/asm/intrinsics.h:83:34: note: in expansion of macro 
'ia64_fetchadd'
    #define ia64_fetch_and_add(i,v) (ia64_fetchadd(i, v, rel) + (i)) /* return 
new value */
                                     ^
   arch/ia64/include/asm/atomic.h:56:5: note: in expansion of macro 
'ia64_fetch_and_add'
      ? ia64_fetch_and_add(__ia64_aar_i, &(v)->counter) \
        ^
   arch/ia64/include/asm/atomic.h:202:33: note: in expansion of macro 
'atomic_add_return'
    #define atomic_add(i,v)   (void)atomic_add_return((i), (v))
                                    ^
   arch/ia64/include/asm/atomic.h:204:25: note: in expansion of macro 
'atomic_add'
    #define atomic_inc(v)   atomic_add(1, (v))
                            ^
>> fs/btrfs/extent_io.c:4979:2: note: in expansion of macro 'atomic_inc'
     atomic_inc(&eb->refs);
     ^
   fs/btrfs/extent_io.c:4979:16: error: 'struct extent_buffer' has no member 
named 'refs'
     atomic_inc(&eb->refs);
                   ^
   arch/ia64/include/uapi/asm/intrinsics.h:43:10: note: in definition of macro 
'IA64_FETCHADD'
     switch (sz) {        \
             ^
   arch/ia64/include/uapi/asm/intrinsics.h:83:34: note: in expansion of macro 
'ia64_fetchadd'
    #define ia64_fetch_and_add(i,v) (ia64_fetchadd(i, v, rel) + (i)) /* return 
new value */
                                     ^
   arch/ia64/include/asm/atomic.h:56:5: note: in expansion of macro 
'ia64_fetch_and_add'
      ? ia64_fetch_and_add(__ia64_aar_i, &(v)->counter) \
        ^
   arch/ia64/include/asm/atomic.h:202:33: note: in expansion of macro 
'atomic_add_return'
    #define atomic_add(i,v)   (void)atomic_add_return((i), (v))
                                    ^
   arch/ia64/include/asm/atomic.h:204:25: note: in expansion of macro 
'atomic_add'
    #define atomic_inc(v)   atomic_add(1, (v))
                            ^
>> fs/btrfs/extent_io.c:4979:2: note: in expansion of macro 'atomic_inc'
     atomic_inc(&eb->refs);
     ^
   fs/btrfs/extent_io.c:4979:16: error: 'struct extent_buffer' has no member 
named 'refs'
     atomic_inc(&eb->refs);
                   ^
   arch/ia64/include/uapi/asm/intrinsics.h:43:10: note: in definition of macro 
'IA64_FETCHADD'
     switch (sz) {        \
             ^
   arch/ia64/include/uapi/asm/intrinsics.h:83:34: note: in expansion of macro 
'ia64_fetchadd'
    #define ia64_fetch_and_add(i,v) (ia64_fetchadd(i, v, rel) + (i)) /* return 
new value */
                                     ^
   arch/ia64/include/asm/atomic.h:56:5: note: in expansion of macro 
'ia64_fetch_and_add'
      ? ia64_fetch_and_add(__ia64_aar_i, &(v)->counter) \
        ^
   arch/ia64/include/asm/atomic.h:202:33: note: in expansion of macro 
'atomic_add_return'
    #define atomic_add(i,v)   (void)atomic_add_return((i), (v))
                                    ^
   arch/ia64/include/asm/atomic.h:204:25: note: in expansion of macro 
'atomic_add'
    #define atomic_inc(v)   atomic_add(1, (v))
                            ^
>> fs/btrfs/extent_io.c:4979:2: note: in expansion of macro 'atomic_inc'
     atomic_inc(&eb->refs);
     ^
   fs/btrfs/extent_io.c:4979:16: error: 'struct extent_buffer' has no member 
named 'refs'
     atomic_inc(&eb->refs);
                   ^
   arch/ia64/include/uapi/asm/intrinsics.h:43:10: note: in definition of macro 
'IA64_FETCHADD'
     switch (sz) {        \
             ^
   arch/ia64/include/uapi/asm/intrinsics.h:83:34: note: in expansion of macro 
'ia64_fetchadd'
    #define ia64_fetch_and_add(i,v) (ia64_fetchadd(i, v, rel) + (i)) /* return 
new value */
                                     ^
   arch/ia64/include/asm/atomic.h:56:5: note: in expansion of macro 
'ia64_fetch_and_add'
      ? ia64_fetch_and_add(__ia64_aar_i, &(v)->counter) \
        ^
   arch/ia64/include/asm/atomic.h:202:33: note: in expansion of macro 
'atomic_add_return'
    #define atomic_add(i,v)   (void)atomic_add_return((i), (v))
                                    ^
   arch/ia64/include/asm/atomic.h:204:25: note: in expansion of macro 
'atomic_add'
    #define atomic_inc(v)   atomic_add(1, (v))
                            ^
>> fs/btrfs/extent_io.c:4979:2: note: in expansion of macro 'atomic_inc'
     atomic_inc(&eb->refs);
     ^
   fs/btrfs/extent_io.c:4979:16: error: 'struct extent_buffer' has no member 
named 'refs'
     atomic_inc(&eb->refs);
                   ^
   arch/ia64/include/uapi/asm/intrinsics.h:43:10: note: in definition of macro 
'IA64_FETCHADD'
     switch (sz) {        \
             ^
   arch/ia64/include/uapi/asm/intrinsics.h:83:34: note: in expansion of macro 
'ia64_fetchadd'
    #define ia64_fetch_and_add(i,v) (ia64_fetchadd(i, v, rel) + (i)) /* return 
new value */
                                     ^
   arch/ia64/include/asm/atomic.h:56:5: note: in expansion of macro 
'ia64_fetch_and_add'
      ? ia64_fetch_and_add(__ia64_aar_i, &(v)->counter) \
        ^
   arch/ia64/include/asm/atomic.h:202:33: note: in expansion of macro 
'atomic_add_return'
    #define atomic_add(i,v)   (void)atomic_add_return((i), (v))
                                    ^
   arch/ia64/include/asm/atomic.h:204:25: note: in expansion of macro 
'atomic_add'
    #define atomic_inc(v)   atomic_add(1, (v))
                            ^
>> fs/btrfs/extent_io.c:4979:2: note: in expansion of macro 'atomic_inc'
     atomic_inc(&eb->refs);
     ^
   fs/btrfs/extent_io.c:4979:16: error: 'struct extent_buffer' has no member 
named 'refs'
     atomic_inc(&eb->refs);
                   ^
   arch/ia64/include/uapi/asm/intrinsics.h:80:16: note: in definition of macro 
'ia64_fetchadd'
     (__typeof__(*(v))) (_tmp); /* return old value */    \
                   ^
   arch/ia64/include/asm/atomic.h:56:5: note: in expansion of macro 
'ia64_fetch_and_add'
      ? ia64_fetch_and_add(__ia64_aar_i, &(v)->counter) \
        ^
   arch/ia64/include/asm/atomic.h:202:33: note: in expansion of macro 
'atomic_add_return'
    #define atomic_add(i,v)   (void)atomic_add_return((i), (v))
                                    ^
   arch/ia64/include/asm/atomic.h:204:25: note: in expansion of macro 
'atomic_add'
    #define atomic_inc(v)   atomic_add(1, (v))
                            ^
>> fs/btrfs/extent_io.c:4979:2: note: in expansion of macro 'atomic_inc'
     atomic_inc(&eb->refs);
     ^
   In file included from include/linux/atomic.h:4:0,
                    from arch/ia64/include/asm/processor.h:80,
                    from arch/ia64/include/asm/thread_info.h:11,
                    from include/linux/thread_info.h:54,
                    from include/asm-generic/preempt.h:4,
                    from arch/ia64/include/generated/asm/preempt.h:1,
                    from include/linux/preempt.h:59,
                    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/btrfs/extent_io.c:2:
   fs/btrfs/extent_io.c:4979:16: error: 'struct extent_buffer' has no member 
named 'refs'
     atomic_inc(&eb->refs);
                   ^
   arch/ia64/include/asm/atomic.h:57:35: note: in definition of macro 
'atomic_add_return'
      : ia64_atomic_add(__ia64_aar_i, v);   \
                                      ^
   arch/ia64/include/asm/atomic.h:204:25: note: in expansion of macro 
'atomic_add'
    #define atomic_inc(v)   atomic_add(1, (v))
                            ^
>> fs/btrfs/extent_io.c:4979:2: note: in expansion of macro 'atomic_inc'
     atomic_inc(&eb->refs);
     ^
   In file included from arch/ia64/include/asm/bitops.h:16:0,
                    from include/linux/bitops.h:36,
                    from fs/btrfs/extent_io.c:1:
   fs/btrfs/extent_io.c: In function 'release_extent_buffer':
   fs/btrfs/extent_io.c:5149:16: error: 'buf' undeclared (first use in this 
function)
          &eb_head(buf)->bflags))) {
                   ^
   include/linux/compiler.h:170:42: note: in definition of macro 'unlikely'
    # define unlikely(x) __builtin_expect(!!(x), 0)
                                             ^
   fs/btrfs/extent_io.c:5149:16: note: each undeclared identifier is reported 
only once for each function it appears in
          &eb_head(buf)->bflags))) {
                   ^
   include/linux/compiler.h:170:42: note: in definition of macro 'unlikely'
    # define unlikely(x) __builtin_expect(!!(x), 0)
                                             ^
   fs/btrfs/extent_io.c:5150:33: error: 'eb' undeclared (first use in this 
function)
       __free_extent_buffer(eb_head(eb));
                                    ^

vim +/atomic_inc +4979 fs/btrfs/extent_io.c

faa2dbf0 Josef Bacik      2014-05-07  4963      if (ret == -EEXIST) {
faa2dbf0 Josef Bacik      2014-05-07  4964              exists = 
find_extent_buffer(fs_info, start);
faa2dbf0 Josef Bacik      2014-05-07  4965              if (exists)
faa2dbf0 Josef Bacik      2014-05-07  4966                      goto free_eb;
faa2dbf0 Josef Bacik      2014-05-07  4967              else
faa2dbf0 Josef Bacik      2014-05-07  4968                      goto again;
faa2dbf0 Josef Bacik      2014-05-07  4969      }
faa2dbf0 Josef Bacik      2014-05-07  4970      check_buffer_tree_ref(eb);
e6fa7cb7 Chandan Rajendra 2016-04-17  4971      
set_bit(EXTENT_BUFFER_HEAD_IN_TREE, &eb->bflags);
faa2dbf0 Josef Bacik      2014-05-07  4972  
faa2dbf0 Josef Bacik      2014-05-07  4973      /*
faa2dbf0 Josef Bacik      2014-05-07  4974       * We will free dummy extent 
buffer's if they come into
faa2dbf0 Josef Bacik      2014-05-07  4975       * free_extent_buffer with a 
ref count of 2, but if we are using this we
faa2dbf0 Josef Bacik      2014-05-07  4976       * want the buffers to stay in 
memory until we're done with them, so
faa2dbf0 Josef Bacik      2014-05-07  4977       * bump the ref count again.
faa2dbf0 Josef Bacik      2014-05-07  4978       */
faa2dbf0 Josef Bacik      2014-05-07 @4979      atomic_inc(&eb->refs);
faa2dbf0 Josef Bacik      2014-05-07  4980      return eb;
faa2dbf0 Josef Bacik      2014-05-07  4981  free_eb:
faa2dbf0 Josef Bacik      2014-05-07  4982      btrfs_release_extent_buffer(eb);
faa2dbf0 Josef Bacik      2014-05-07  4983      return exists;
faa2dbf0 Josef Bacik      2014-05-07  4984  }
faa2dbf0 Josef Bacik      2014-05-07  4985  #endif
faa2dbf0 Josef Bacik      2014-05-07  4986  
f28491e0 Josef Bacik      2013-12-16  4987  struct extent_buffer 
*alloc_extent_buffer(struct btrfs_fs_info *fs_info,

:::::: The code at line 4979 was first introduced by commit
:::::: faa2dbf004e89e8f7ccd28fbe6f07c308417b8ae Btrfs: add sanity tests for new 
qgroup accounting code

:::::: TO: Josef Bacik <jba...@fb.com>
:::::: CC: Chris Mason <c...@fb.com>

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

Attachment: .config.gz
Description: Binary data

Reply via email to