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
Attachment:
.config.gz
Description: application/gzip
-- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel