[dm-devel] [dm:for-next 18/27] drivers//md/dm-cache-target.c:1441:19: error: 'ws' undeclared

kbuild test robot fengguang.wu at intel.com
Fri Nov 10 20:03:47 UTC 2017


tree:   https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git for-next
head:   b93f980e5c9e057254d694c388daef774e717729
commit: 10d807b74cef508e163e7ae622321f5d6ae866df [18/27] dm cache: fix race condition in the writeback mode overwrite_bio optimisation
config: i386-randconfig-x019-201745 (attached as .config)
compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026
reproduce:
        git checkout 10d807b74cef508e163e7ae622321f5d6ae866df
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   drivers//md/dm-cache-target.c: In function 'mg_full_copy':
>> drivers//md/dm-cache-target.c:1441:19: error: 'ws' undeclared (first use in this function)
      mg_upgrade_lock(ws);
                      ^~
   drivers//md/dm-cache-target.c:1441:19: note: each undeclared identifier is reported only once for each function it appears in
   In file included from include/linux/linkage.h:4:0,
                    from include/linux/fs.h:4,
                    from drivers//md/dm.h:13,
                    from drivers//md/dm-cache-target.c:7:
   drivers//md/dm-cache-target.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)
      ^~
   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:374:3: 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 'memcmp' which is not static
       ______f = {     \

vim +/ws +1441 drivers//md/dm-cache-target.c

c6b4fcba Joe Thornber      2013-03-01  1432  
10d807b7 Joe Thornber      2017-11-10  1433  static void mg_full_copy(struct dm_cache_migration *mg)
c6b4fcba Joe Thornber      2013-03-01  1434  {
b29d4986 Joe Thornber      2016-12-15  1435  	struct cache *cache = mg->cache;
b29d4986 Joe Thornber      2016-12-15  1436  	struct policy_work *op = mg->op;
b29d4986 Joe Thornber      2016-12-15  1437  	bool is_policy_promote = (op->op == POLICY_PROMOTE);
c6b4fcba Joe Thornber      2013-03-01  1438  
b29d4986 Joe Thornber      2016-12-15  1439  	if ((!is_policy_promote && !is_dirty(cache, op->cblock)) ||
b29d4986 Joe Thornber      2016-12-15  1440  	    is_discarded_oblock(cache, op->oblock)) {
b29d4986 Joe Thornber      2016-12-15 @1441  		mg_upgrade_lock(ws);
c6b4fcba Joe Thornber      2013-03-01  1442  		return;
b29d4986 Joe Thornber      2016-12-15  1443  	}
c6b4fcba Joe Thornber      2013-03-01  1444  
b29d4986 Joe Thornber      2016-12-15  1445  	init_continuation(&mg->k, mg_upgrade_lock);
c6b4fcba Joe Thornber      2013-03-01  1446  
10d807b7 Joe Thornber      2017-11-10  1447  	if (copy(mg, is_policy_promote)) {
b29d4986 Joe Thornber      2016-12-15  1448  		DMERR_LIMIT("%s: migration copy failed", cache_device_name(cache));
4e4cbee9 Christoph Hellwig 2017-06-03  1449  		mg->k.input = BLK_STS_IOERR;
b29d4986 Joe Thornber      2016-12-15  1450  		mg_complete(mg, false);
b29d4986 Joe Thornber      2016-12-15  1451  	}
c6b4fcba Joe Thornber      2013-03-01  1452  }
10d807b7 Joe Thornber      2017-11-10  1453  

:::::: The code at line 1441 was first introduced by commit
:::::: b29d4986d0da1a27cd35917cdb433672f5c95d7f dm cache: significant rework to leverage dm-bio-prison-v2

:::::: TO: Joe Thornber <ejt at redhat.com>
:::::: CC: Mike Snitzer <snitzer at redhat.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 28409 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/dm-devel/attachments/20171111/79487865/attachment.gz>


More information about the dm-devel mailing list