Hi, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v6.2-rc6 next-20230201] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/mingzhe-zou-easystack-cn/bcache-submit-writeback-inflight-dirty-writes-in-batch/20230201-145421 patch link: https://lore.kernel.org/r/20230201065202.17610-3-mingzhe.zou%40easystack.cn patch subject: [PATCH 3/3] bcache: support overlay bcache config: x86_64-randconfig-a014-20230130 (https://download.01.org/0day-ci/archive/20230202/202302020147.4HT8cQF3-lkp@xxxxxxxxx/config) compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/785b6ea709e3008e2df009d5555c80db709e6d5f git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review mingzhe-zou-easystack-cn/bcache-submit-writeback-inflight-dirty-writes-in-batch/20230201-145421 git checkout 785b6ea709e3008e2df009d5555c80db709e6d5f # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): >> drivers/md/bcache/super.c:1475:34: error: implicit declaration of function 'part_to_dev' is invalid in C99 [-Werror,-Wimplicit-function-declaration] ret = sysfs_create_link_nowarn(&part_to_dev(bdev->bd_part)->kobj, ^ >> drivers/md/bcache/super.c:1475:62: error: member reference type 'int' is not a pointer ret = sysfs_create_link_nowarn(&part_to_dev(bdev->bd_part)->kobj, ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ >> drivers/md/bcache/super.c:1475:52: error: no member named 'bd_part' in 'struct block_device' ret = sysfs_create_link_nowarn(&part_to_dev(bdev->bd_part)->kobj, ~~~~ ^ drivers/md/bcache/super.c:2403:34: error: implicit declaration of function 'part_to_dev' is invalid in C99 [-Werror,-Wimplicit-function-declaration] ret = sysfs_create_link_nowarn(&part_to_dev(bdev->bd_part)->kobj, ^ drivers/md/bcache/super.c:2403:62: error: member reference type 'int' is not a pointer ret = sysfs_create_link_nowarn(&part_to_dev(bdev->bd_part)->kobj, ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ drivers/md/bcache/super.c:2403:52: error: no member named 'bd_part' in 'struct block_device' ret = sysfs_create_link_nowarn(&part_to_dev(bdev->bd_part)->kobj, ~~~~ ^ 6 errors generated. vim +/part_to_dev +1475 drivers/md/bcache/super.c 1453 1454 static int register_bdev(struct cache_sb *sb, struct cache_sb_disk *sb_disk, 1455 struct block_device *bdev, 1456 struct cached_dev *dc) 1457 { 1458 const char *err = "cannot allocate memory"; 1459 struct cache_set *c; 1460 int ret = -ENOMEM; 1461 1462 memcpy(&dc->sb, sb, sizeof(struct cache_sb)); 1463 dc->bdev = bdev; 1464 dc->bdev->bd_holder = dc; 1465 dc->sb_disk = sb_disk; 1466 1467 if (cached_dev_init(dc, sb->block_size << 9)) 1468 goto err; 1469 1470 err = "error creating kobject"; 1471 if (kobject_add(&dc->disk.kobj, bdev_kobj(bdev), "bcache_bdev")) 1472 goto err; 1473 1474 err = "error creating lagacy sysfs link"; > 1475 ret = sysfs_create_link_nowarn(&part_to_dev(bdev->bd_part)->kobj, 1476 &dc->disk.kobj, "bcache"); 1477 if (ret && ret != -EEXIST) { 1478 pr_err("Couldn't create lagacy disk sysfs ->bcache"); 1479 goto err; 1480 } 1481 1482 if (bch_cache_accounting_add_kobjs(&dc->accounting, &dc->disk.kobj)) 1483 goto err; 1484 1485 pr_info("registered backing device %pg\n", dc->bdev); 1486 1487 list_add(&dc->list, &uncached_devices); 1488 /* attach to a matched cache set if it exists */ 1489 list_for_each_entry(c, &bch_cache_sets, list) 1490 bch_cached_dev_attach(dc, c, NULL); 1491 1492 if (BDEV_STATE(&dc->sb) == BDEV_STATE_NONE || 1493 BDEV_STATE(&dc->sb) == BDEV_STATE_STALE) { 1494 err = "failed to run cached device"; 1495 ret = bch_cached_dev_run(dc); 1496 if (ret) 1497 goto err; 1498 } 1499 1500 return 0; 1501 err: 1502 pr_notice("error %pg: %s\n", dc->bdev, err); 1503 bcache_device_stop(&dc->disk); 1504 return ret; 1505 } 1506 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests