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.leim...@gmail.com>
---
 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

Reply via email to