tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 37aeb7e817053fbf532b214aa02858b3c23af0b1 commit: 70e6748c08ab45df178269e4e3ae6da56c33af54 [6399/23714] bcache: fix failure in journal relplay config: x86_64-randconfig-123-20240915 (https://download.01.org/0day-ci/archive/20240916/202409161342.bh5SnmU9-lkp@i...) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240916/202409161342.bh5SnmU9-lkp@i...)
If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot lkp@intel.com | Closes: https://lore.kernel.org/oe-kbuild-all/202409161342.bh5SnmU9-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:294:38: sparse: sparse: array of flexible structures
drivers/md/bcache/journal.c:320:6: sparse: sparse: symbol 'is_discard_enabled' was not declared. Should it be static?
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:627:13: sparse: sparse: context imbalance in 'journal_write_unlocked' - different lock contexts for basic block drivers/md/bcache/journal.c:725:9: sparse: sparse: context imbalance in 'journal_try_write' - different lock contexts for basic block drivers/md/bcache/journal.c:320:6: warning: no previous prototype for 'is_discard_enabled' [-Wmissing-prototypes] 320 | bool is_discard_enabled(struct cache_set *s) | ^~~~~~~~~~~~~~~~~~ drivers/md/bcache/journal.o: warning: objtool: journal_read_bucket()+0x157: sibling call from callable instruction with modified stack frame drivers/md/bcache/journal.o: warning: objtool: journal_write_work()+0x6f: sibling call from callable instruction with modified stack frame drivers/md/bcache/journal.o: warning: objtool: do_journal_discard()+0x4d: sibling call from callable instruction with modified stack frame drivers/md/bcache/journal.o: warning: objtool: journal_reclaim()+0x64d: sibling call from callable instruction with modified stack frame drivers/md/bcache/journal.o: warning: objtool: journal_wait_for_write()+0x290: sibling call from callable instruction with modified stack frame drivers/md/bcache/journal.o: warning: objtool: bch_journal_mark()+0x6a2: sibling call from callable instruction with modified stack frame drivers/md/bcache/journal.o: warning: objtool: is_discard_enabled()+0x13e: sibling call from callable instruction with modified stack frame drivers/md/bcache/journal.o: warning: objtool: bch_journal_replay()+0x101: sibling call from callable instruction with modified stack frame drivers/md/bcache/journal.o: warning: objtool: journal_write_unlocked()+0xeb: sibling call from callable instruction with modified stack frame drivers/md/bcache/journal.o: warning: objtool: bch_journal()+0x28d: sibling call from callable instruction with modified stack frame
vim +/is_discard_enabled +320 drivers/md/bcache/journal.c
319
320 bool is_discard_enabled(struct cache_set *s)
321 { 322 struct cache *ca; 323 unsigned int i; 324 325 for_each_cache(ca, s, i) 326 if (ca->discard) 327 return true; 328 329 return false; 330 } 331