Re: [PATCH] bcache: fix cache miss's issue

From: Coly Li
Date: Mon Jun 28 2021 - 12:05:17 EST


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),