Fixed (my fault!) On Fri, Nov 10 2017 at 3:03pm -0500, kbuild test robot <fengguang.wu@xxxxxxxxx> wrote: > 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@xxxxxxxxxx> > :::::: CC: Mike Snitzer <snitzer@xxxxxxxxxx> > > --- > 0-DAY kernel test infrastructure Open Source Technology Center > https://lists.01.org/pipermail/kbuild-all Intel Corporation -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel