pers->make_request can fail sometimes. It can't handle the bio again if pers->make_request fails. The bio can never return to upper layer again. It should use md_handle_request to do this job. Fixes: 2bc13b8 (md: batch flush requests.) Suggested-by: David Jeffery <djeffery@xxxxxxxxxx> Signed-off-by: Xiao Ni <xni@xxxxxxxxxx> --- drivers/md/md.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/md/md.c b/drivers/md/md.c index daa885e..8ed19b4 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -570,7 +570,7 @@ void md_flush_request(struct mddev *mddev, struct bio *bio) bio_endio(bio); else { bio->bi_opf &= ~REQ_PREFLUSH; - mddev->pers->make_request(mddev, bio); + md_handle_request(mddev, bio); } } } -- 2.7.5