The cloned bio has to be singlepage bvec based, so use bio_clone_sp(), and the allocated bvec table is enough for hold the bvecs because QUEUE_FLAG_SPLIT_MP is set for bcache. Signed-off-by: Ming Lei <tom.leiming@xxxxxxxxx> --- drivers/md/bcache/debug.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/md/bcache/debug.c b/drivers/md/bcache/debug.c index 71a9f05918eb..0735015b0842 100644 --- a/drivers/md/bcache/debug.c +++ b/drivers/md/bcache/debug.c @@ -111,12 +111,10 @@ void bch_data_verify(struct cached_dev *dc, struct bio *bio) struct bvec_iter iter, citer = { 0 }; /* - * Once multipage bvec is supported, the bio_clone() - * has to make sure page count in this bio can be held - * in the new cloned bio because each single page need - * to assign to each bvec of the new bio. + * QUEUE_FLAG_SPLIT_MP can make the cloned singlepage + * bvecs to be held in the allocated bvec table. */ - check = bio_clone(bio, GFP_NOIO); + check = bio_clone_sp(bio, GFP_NOIO); if (!check) return; bio_set_op_attrs(check, REQ_OP_READ, READ_SYNC); -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe linux-bcache" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html