All of lore.kernel.org
 help / color / mirror / Atom feed
* [bcache:nvdimm-meta 10/12] drivers/md/bcache/journal.c:860:13: sparse: sparse: context imbalance in 'journal_write' - wrong count at exit
@ 2021-07-26 20:10 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-07-26 20:10 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 6479 bytes --]

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Coly Li <colyli@suse.de>
CC: Hannes Reinecke <hare@suse.de>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/colyli/linux-bcache.git nvdimm-meta
head:   e9d63ebcb289612237d5a62fa9876114798555eb
commit: 83cf31104f672925fccbdfabf3d5f14a78a9e568 [10/12] bcache: support storing bcache journal into NVDIMM meta device
:::::: branch date: 13 hours ago
:::::: commit date: 13 hours ago
config: powerpc-randconfig-s032-20210726 (attached as .config)
compiler: powerpc-linux-gcc (GCC) 10.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.3-341-g8af24329-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/colyli/linux-bcache.git/commit/?id=83cf31104f672925fccbdfabf3d5f14a78a9e568
        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 83cf31104f672925fccbdfabf3d5f14a78a9e568
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=powerpc SHELL=/bin/bash drivers/md/bcache/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)
   drivers/md/bcache/journal.c: note: in included file (through drivers/md/bcache/bcache.h):
   include/uapi/linux/bcache.h:362:38: sparse: sparse: array of flexible structures
   drivers/md/bcache/journal.c: note: in included file (through drivers/md/bcache/bcache.h):
   drivers/md/bcache/bset.h:231:36: sparse: sparse: array of flexible structures
   drivers/md/bcache/journal.c:829:17: sparse: sparse: context imbalance in 'journal_write_unlocked' - unexpected unlock
>> drivers/md/bcache/journal.c:860:13: sparse: sparse: context imbalance in 'journal_write' - wrong count at exit
   drivers/md/bcache/journal.c:876:9: sparse: sparse: context imbalance in 'journal_try_write' - different lock contexts for basic block

vim +/journal_write +860 drivers/md/bcache/journal.c

83cf31104f6729 Coly Li         2021-07-24  818  
83cf31104f6729 Coly Li         2021-07-24  819  static void journal_write_unlocked(struct closure *cl)
83cf31104f6729 Coly Li         2021-07-24  820  {
83cf31104f6729 Coly Li         2021-07-24  821  	struct cache_set *c = container_of(cl, struct cache_set, journal.io);
83cf31104f6729 Coly Li         2021-07-24  822  	struct cache *ca = c->cache;
83cf31104f6729 Coly Li         2021-07-24  823  	struct journal_write *w = c->journal.cur;
83cf31104f6729 Coly Li         2021-07-24  824  
83cf31104f6729 Coly Li         2021-07-24  825  	if (!w->need_write) {
83cf31104f6729 Coly Li         2021-07-24  826  		closure_return_with_destructor(cl, journal_write_unlock);
83cf31104f6729 Coly Li         2021-07-24  827  		return;
83cf31104f6729 Coly Li         2021-07-24  828  	} else if (journal_full(&c->journal)) {
83cf31104f6729 Coly Li         2021-07-24 @829  		journal_reclaim(c);
83cf31104f6729 Coly Li         2021-07-24  830  		spin_unlock(&c->journal.lock);
83cf31104f6729 Coly Li         2021-07-24  831  
83cf31104f6729 Coly Li         2021-07-24  832  		btree_flush_write(c);
83cf31104f6729 Coly Li         2021-07-24  833  		continue_at(cl, journal_write, bch_journal_wq);
83cf31104f6729 Coly Li         2021-07-24  834  		return;
83cf31104f6729 Coly Li         2021-07-24  835  	}
83cf31104f6729 Coly Li         2021-07-24  836  
83cf31104f6729 Coly Li         2021-07-24  837  	c->journal.blocks_free -= set_blocks(w->data, block_bytes(ca));
83cf31104f6729 Coly Li         2021-07-24  838  
83cf31104f6729 Coly Li         2021-07-24  839  	w->data->btree_level = c->root->level;
83cf31104f6729 Coly Li         2021-07-24  840  
83cf31104f6729 Coly Li         2021-07-24  841  	bkey_copy(&w->data->btree_root, &c->root->key);
83cf31104f6729 Coly Li         2021-07-24  842  	bkey_copy(&w->data->uuid_bucket, &c->uuid_bucket);
83cf31104f6729 Coly Li         2021-07-24  843  
83cf31104f6729 Coly Li         2021-07-24  844  	w->data->prio_bucket[ca->sb.nr_this_dev] = ca->prio_buckets[0];
83cf31104f6729 Coly Li         2021-07-24  845  	w->data->magic		= jset_magic(&ca->sb);
83cf31104f6729 Coly Li         2021-07-24  846  	w->data->version	= BCACHE_JSET_VERSION;
83cf31104f6729 Coly Li         2021-07-24  847  	w->data->last_seq	= last_seq(&c->journal);
83cf31104f6729 Coly Li         2021-07-24  848  	w->data->csum		= csum_set(w->data);
83cf31104f6729 Coly Li         2021-07-24  849  
83cf31104f6729 Coly Li         2021-07-24  850  	if (!bch_has_feature_nvdimm_meta(&ca->sb))
83cf31104f6729 Coly Li         2021-07-24  851  		__journal_write_unlocked(c);
83cf31104f6729 Coly Li         2021-07-24  852  #if defined(CONFIG_BCACHE_NVM_PAGES)
83cf31104f6729 Coly Li         2021-07-24  853  	else
83cf31104f6729 Coly Li         2021-07-24  854  		__journal_nvdimm_write_unlocked(c);
83cf31104f6729 Coly Li         2021-07-24  855  #endif
cafe563591446c Kent Overstreet 2013-03-23  856  
cafe563591446c Kent Overstreet 2013-03-23  857  	continue_at(cl, journal_write_done, NULL);
cafe563591446c Kent Overstreet 2013-03-23  858  }
cafe563591446c Kent Overstreet 2013-03-23  859  
cafe563591446c Kent Overstreet 2013-03-23 @860  static void journal_write(struct closure *cl)
cafe563591446c Kent Overstreet 2013-03-23  861  {
7857d5d470ec53 Kent Overstreet 2013-10-08  862  	struct cache_set *c = container_of(cl, struct cache_set, journal.io);
cafe563591446c Kent Overstreet 2013-03-23  863  
cafe563591446c Kent Overstreet 2013-03-23  864  	spin_lock(&c->journal.lock);
cafe563591446c Kent Overstreet 2013-03-23  865  	journal_write_unlocked(cl);
cafe563591446c Kent Overstreet 2013-03-23  866  }
cafe563591446c Kent Overstreet 2013-03-23  867  

:::::: The code at line 860 was first introduced by commit
:::::: cafe563591446cf80bfbc2fe3bc72a2e36cf1060 bcache: A block layer cache

:::::: TO: Kent Overstreet <koverstreet@google.com>
:::::: CC: Kent Overstreet <koverstreet@google.com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 44233 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-07-26 20:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-26 20:10 [bcache:nvdimm-meta 10/12] drivers/md/bcache/journal.c:860:13: sparse: sparse: context imbalance in 'journal_write' - wrong count at exit kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.