[PATCH] bcache: fix cache miss's issue
From: Qiang Bai
Date: Sun Jun 27 2021 - 03:18:51 EST
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>
---
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),
--
2.31.1