tree:
https://git.kernel.org/pub/scm/linux/kernel/git/colyli/linux-bcache.git
nvdimm-meta
head: 722ffe14d3ec1009a9245b0f0ba49805643d92bb
commit: 20a01bce9e4b922773f6943d8f41cadef6673ffc [11/16] bcache: support storing bcache
journal into NVDIMM meta device
config: arc-allyesconfig (attached as .config)
compiler: arceb-elf-gcc (GCC) 9.3.0
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://git.kernel.org/pub/scm/linux/kernel/git/colyli/linux-bcache.git/c...
git remote add bcache
https://git.kernel.org/pub/scm/linux/kernel/git/colyli/linux-bcache.git
git fetch --no-tags bcache nvdimm-meta
git checkout 20a01bce9e4b922773f6943d8f41cadef6673ffc
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from drivers/md/bcache/nvm-pages.h:6,
from drivers/md/bcache/super.c:17:
include/uapi/linux/bcache-nvm.h:110:3: error: #error "Non-64bit platform is not
supported"
110 | #error "Non-64bit platform is not supported"
| ^~~~~
drivers/md/bcache/super.c: In function 'cache_set_free':
> drivers/md/bcache/super.c:1705:6: warning: cast to pointer from
integer of different size [-Wint-to-pointer-cast]
1705 | (void
*)(ca->sb.d[i] + offset), len);
| ^
In file included from drivers/md/bcache/nvm-pages.h:6,
from drivers/md/bcache/super.c:17:
At top level:
include/uapi/linux/bcache-nvm.h:105:28: warning: 'bch_nvm_pages_pgalloc_magic'
defined but not used [-Wunused-const-variable=]
105 | static const unsigned char bch_nvm_pages_pgalloc_magic[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/uapi/linux/bcache-nvm.h:102:28: warning: 'bch_nvm_pages_magic' defined
but not used [-Wunused-const-variable=]
102 | static const unsigned char bch_nvm_pages_magic[] = {
| ^~~~~~~~~~~~~~~~~~~
vim +1705 drivers/md/bcache/super.c
1685
1686 static void cache_set_free(struct closure *cl)
1687 {
1688 struct cache_set *c = container_of(cl, struct cache_set, cl);
1689 struct cache *ca = c->cache;
1690
1691 #ifdef CONFIG_BCACHE_NVM_PAGES
1692 /* Flush cache if journal stored in NVDIMM */
1693 if (ca && bch_has_feature_nvdimm_meta(&ca->sb)) {
1694 unsigned long bucket_size = ca->sb.bucket_size;
1695 int i;
1696
1697 for (i = 0; i < ca->sb.keys; i++) {
1698 unsigned long offset = 0;
1699 unsigned int len = round_down(UINT_MAX, 2);
1700
1701 while (bucket_size > 0) {
1702 if (len > bucket_size)
1703 len = bucket_size;
1704 arch_invalidate_pmem(
1705 (void *)(ca->sb.d[i] + offset), len);
1706 offset += len;
1707 bucket_size -= len;
1708 }
1709 }
1710 }
1711 #endif /* CONFIG_BCACHE_NVM_PAGES */
1712
1713 debugfs_remove(c->debug);
1714
1715 bch_open_buckets_free(c);
1716 bch_btree_cache_free(c);
1717 bch_journal_free(c);
1718
1719 mutex_lock(&bch_register_lock);
1720 bch_bset_sort_state_free(&c->sort);
1721 free_pages((unsigned long) c->uuids,
ilog2(meta_bucket_pages(&c->cache->sb)));
1722
1723 if (ca) {
1724 ca->set = NULL;
1725 c->cache = NULL;
1726 kobject_put(&ca->kobj);
1727 }
1728
1729
1730 if (c->moving_gc_wq)
1731 destroy_workqueue(c->moving_gc_wq);
1732 bioset_exit(&c->bio_split);
1733 mempool_exit(&c->fill_iter);
1734 mempool_exit(&c->bio_meta);
1735 mempool_exit(&c->search);
1736 kfree(c->devices);
1737
1738 list_del(&c->list);
1739 mutex_unlock(&bch_register_lock);
1740
1741 pr_info("Cache set %pU unregistered\n", c->set_uuid);
1742 wake_up(&unregister_wait);
1743
1744 closure_debug_destroy(&c->cl);
1745 kobject_put(&c->kobj);
1746 }
1747
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org