From: kernel test robot <lkp@intel.com>
To: mingzhe.zou@easystack.cn, colyli@suse.de, linux-bcache@vger.kernel.org
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org, zoumingzhe@qq.com
Subject: Re: [PATCH v3 1/3] bcache: bch_sectors_dirty_init() check each thread result and return error
Date: Wed, 21 Sep 2022 05:20:00 +0800 [thread overview]
Message-ID: <202209210545.PcfwfXrP-lkp@intel.com> (raw)
In-Reply-To: <20220920112850.13157-1-mingzhe.zou@easystack.cn>
Hi,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v6.0-rc6 next-20220920]
[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-bch_sectors_dirty_init-check-each-thread-result-and-return-error/20220920-193043
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 521a547ced6477c54b4b0cc206000406c221b4d6
config: hexagon-randconfig-r041-20220921 (https://download.01.org/0day-ci/archive/20220921/202209210545.PcfwfXrP-lkp@intel.com/config)
compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 791a7ae1ba3efd6bca96338e10ffde557ba83920)
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/1e312ee12bfc74c18aa6bc0c1519b36f22d8db13
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review mingzhe-zou-easystack-cn/bcache-bch_sectors_dirty_init-check-each-thread-result-and-return-error/20220920-193043
git checkout 1e312ee12bfc74c18aa6bc0c1519b36f22d8db13
# 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=hexagon SHELL=/bin/bash drivers/md/bcache/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
>> drivers/md/bcache/writeback.c:940:6: error: conflicting types for 'bch_sectors_dirty_init'
void bch_sectors_dirty_init(struct bcache_device *d)
^
drivers/md/bcache/writeback.h:152:5: note: previous declaration is here
int bch_sectors_dirty_init(struct bcache_device *d);
^
>> drivers/md/bcache/writeback.c:962:3: error: void function 'bch_sectors_dirty_init' should not return a value [-Wreturn-type]
return 0;
^ ~
drivers/md/bcache/writeback.c:1011:2: error: void function 'bch_sectors_dirty_init' should not return a value [-Wreturn-type]
return ret;
^ ~~~
3 errors generated.
vim +/bch_sectors_dirty_init +940 drivers/md/bcache/writeback.c
b144e45fc57649 Coly Li 2020-03-22 939
b144e45fc57649 Coly Li 2020-03-22 @940 void bch_sectors_dirty_init(struct bcache_device *d)
b144e45fc57649 Coly Li 2020-03-22 941 {
b144e45fc57649 Coly Li 2020-03-22 942 int i;
1e312ee12bfc74 ZouMingzhe 2022-09-20 943 int ret = 0;
b144e45fc57649 Coly Li 2020-03-22 944 struct bkey *k = NULL;
b144e45fc57649 Coly Li 2020-03-22 945 struct btree_iter iter;
b144e45fc57649 Coly Li 2020-03-22 946 struct sectors_dirty_init op;
b144e45fc57649 Coly Li 2020-03-22 947 struct cache_set *c = d->c;
4dc34ae1b45fe2 Coly Li 2022-05-24 948 struct bch_dirty_init_state state;
b144e45fc57649 Coly Li 2020-03-22 949
b144e45fc57649 Coly Li 2020-03-22 950 /* Just count root keys if no leaf node */
4dc34ae1b45fe2 Coly Li 2022-05-24 951 rw_lock(0, c->root, c->root->level);
b144e45fc57649 Coly Li 2020-03-22 952 if (c->root->level == 0) {
b144e45fc57649 Coly Li 2020-03-22 953 bch_btree_op_init(&op.op, -1);
b144e45fc57649 Coly Li 2020-03-22 954 op.inode = d->id;
b144e45fc57649 Coly Li 2020-03-22 955 op.count = 0;
b144e45fc57649 Coly Li 2020-03-22 956
b144e45fc57649 Coly Li 2020-03-22 957 for_each_key_filter(&c->root->keys,
b144e45fc57649 Coly Li 2020-03-22 958 k, &iter, bch_ptr_invalid)
b144e45fc57649 Coly Li 2020-03-22 959 sectors_dirty_init_fn(&op.op, c->root, k);
80db4e4707e78c Coly Li 2022-05-24 960
4dc34ae1b45fe2 Coly Li 2022-05-24 961 rw_unlock(0, c->root);
1e312ee12bfc74 ZouMingzhe 2022-09-20 @962 return 0;
b144e45fc57649 Coly Li 2020-03-22 963 }
b144e45fc57649 Coly Li 2020-03-22 964
7d6b902ea0e02b Coly Li 2022-05-27 965 memset(&state, 0, sizeof(struct bch_dirty_init_state));
4dc34ae1b45fe2 Coly Li 2022-05-24 966 state.c = c;
4dc34ae1b45fe2 Coly Li 2022-05-24 967 state.d = d;
4dc34ae1b45fe2 Coly Li 2022-05-24 968 state.total_threads = bch_btre_dirty_init_thread_nr();
4dc34ae1b45fe2 Coly Li 2022-05-24 969 state.key_idx = 0;
4dc34ae1b45fe2 Coly Li 2022-05-24 970 spin_lock_init(&state.idx_lock);
4dc34ae1b45fe2 Coly Li 2022-05-24 971 atomic_set(&state.started, 0);
4dc34ae1b45fe2 Coly Li 2022-05-24 972 atomic_set(&state.enough, 0);
4dc34ae1b45fe2 Coly Li 2022-05-24 973 init_waitqueue_head(&state.wait);
b144e45fc57649 Coly Li 2020-03-22 974
4dc34ae1b45fe2 Coly Li 2022-05-24 975 for (i = 0; i < state.total_threads; i++) {
4dc34ae1b45fe2 Coly Li 2022-05-24 976 /* Fetch latest state.enough earlier */
eb9b6666d6ca6f Coly Li 2020-03-22 977 smp_mb__before_atomic();
4dc34ae1b45fe2 Coly Li 2022-05-24 978 if (atomic_read(&state.enough))
b144e45fc57649 Coly Li 2020-03-22 979 break;
b144e45fc57649 Coly Li 2020-03-22 980
4dc34ae1b45fe2 Coly Li 2022-05-24 981 state.infos[i].state = &state;
4dc34ae1b45fe2 Coly Li 2022-05-24 982 state.infos[i].thread =
4dc34ae1b45fe2 Coly Li 2022-05-24 983 kthread_run(bch_dirty_init_thread, &state.infos[i],
4dc34ae1b45fe2 Coly Li 2022-05-24 984 "bch_dirtcnt[%d]", i);
4dc34ae1b45fe2 Coly Li 2022-05-24 985 if (IS_ERR(state.infos[i].thread)) {
46f5aa8806e34f Joe Perches 2020-05-27 986 pr_err("fails to run thread bch_dirty_init[%d]\n", i);
b144e45fc57649 Coly Li 2020-03-22 987 for (--i; i >= 0; i--)
4dc34ae1b45fe2 Coly Li 2022-05-24 988 kthread_stop(state.infos[i].thread);
1e312ee12bfc74 ZouMingzhe 2022-09-20 989 ret = -ENOMEM;
1e312ee12bfc74 ZouMingzhe 2022-09-20 990 goto out_wait;
b144e45fc57649 Coly Li 2020-03-22 991 }
4dc34ae1b45fe2 Coly Li 2022-05-24 992 atomic_inc(&state.started);
b144e45fc57649 Coly Li 2020-03-22 993 }
b144e45fc57649 Coly Li 2020-03-22 994
1e312ee12bfc74 ZouMingzhe 2022-09-20 995 out_wait:
4dc34ae1b45fe2 Coly Li 2022-05-24 996 /* Must wait for all threads to stop. */
4dc34ae1b45fe2 Coly Li 2022-05-24 997 wait_event(state.wait, atomic_read(&state.started) == 0);
1e312ee12bfc74 ZouMingzhe 2022-09-20 998
1e312ee12bfc74 ZouMingzhe 2022-09-20 999 if (ret)
1e312ee12bfc74 ZouMingzhe 2022-09-20 1000 goto out;
1e312ee12bfc74 ZouMingzhe 2022-09-20 1001
1e312ee12bfc74 ZouMingzhe 2022-09-20 1002 for (i = 0; i < state.total_threads; i++) {
1e312ee12bfc74 ZouMingzhe 2022-09-20 1003 if (state.infos[i].result) {
1e312ee12bfc74 ZouMingzhe 2022-09-20 1004 ret = state.infos[i].result;
1e312ee12bfc74 ZouMingzhe 2022-09-20 1005 goto out;
1e312ee12bfc74 ZouMingzhe 2022-09-20 1006 }
1e312ee12bfc74 ZouMingzhe 2022-09-20 1007 }
1e312ee12bfc74 ZouMingzhe 2022-09-20 1008
1e312ee12bfc74 ZouMingzhe 2022-09-20 1009 out:
4dc34ae1b45fe2 Coly Li 2022-05-24 1010 rw_unlock(0, c->root);
1e312ee12bfc74 ZouMingzhe 2022-09-20 1011 return ret;
444fc0b6b167ed Kent Overstreet 2013-05-11 1012 }
444fc0b6b167ed Kent Overstreet 2013-05-11 1013
--
0-DAY CI Kernel Test Service
https://01.org/lkp
prev parent reply other threads:[~2022-09-20 21:21 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-20 11:28 [PATCH v3 1/3] bcache: bch_sectors_dirty_init() check each thread result and return error mingzhe.zou
2022-09-20 11:28 ` [PATCH v3 2/3] bcache: check bch_sectors_dirty_init() return value mingzhe.zou
2022-09-20 11:28 ` [PATCH v3 3/3] bcache: check bch_cached_dev_attach() " mingzhe.zou
2022-09-20 21:20 ` kernel test robot [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202209210545.PcfwfXrP-lkp@intel.com \
--to=lkp@intel.com \
--cc=colyli@suse.de \
--cc=kbuild-all@lists.01.org \
--cc=linux-bcache@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=mingzhe.zou@easystack.cn \
--cc=zoumingzhe@qq.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).