Re: [PATCH] Btrfs: subpage-blocksize: Define extent_buffer_head.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <jbacik@xxxxxx>
:::::: CC: Chris Mason <clm@xxxxxx>

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

Attachment: .config.gz
Description: Binary data


[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux