On 6/27/21 3:18 PM, Qiang Bai wrote: > when cache miss's IO was done, it needs to continue the left part of IO, > not return -EINTR. -EINTR will stop the whole btree recurse. > > Signed-off-by: Qiang Bai <chiang.bai@xxxxxxxxx> NACK. The commit log should explain how the fixing issue happens in detail, and why your method fixes it. Thanks. Coly Li > --- > drivers/md/bcache/request.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/md/bcache/request.c b/drivers/md/bcache/request.c > index 29c231758293..b6ff101d2611 100644 > --- a/drivers/md/bcache/request.c > +++ b/drivers/md/bcache/request.c > @@ -914,7 +914,7 @@ static int cached_dev_cache_miss(struct btree *b, struct search *s, > miss = bio_next_split(bio, sectors, GFP_NOIO, &s->d->bio_split); > > /* btree_search_recurse()'s btree iterator is no good anymore */ > - ret = miss == bio ? MAP_DONE : -EINTR; > + ret = miss == bio ? MAP_DONE : MAP_CONTINUE; > > cache_bio = bio_alloc_bioset(GFP_NOWAIT, > DIV_ROUND_UP(s->insert_bio_sectors, PAGE_SECTORS),