From: Mike Snitzer <snitzer@redhat.com>
Date: Mon, 9 Feb 2015 17:21:54 +0000 (-0500)
Subject: dm: fix multipath regression due to initializing wrong request
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=db507b3ffd9b7a1c87e732ac6e2c3a5d0babb15a;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

dm: fix multipath regression due to initializing wrong request

Commit febf715 ("block: require blk_rq_prep_clone() be given an
initialized clone request") introduced a regression by calling
blk_rq_init() on the original request rather than the clone
request that is passed to setup_clone().

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Fixes: febf71588c2a ("block: require blk_rq_prep_clone() be given an initialized clone request")
Signed-off-by: Jens Axboe <axboe@fb.com>
---

diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index f251633a51af..71e6b73fe78d 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -1719,7 +1719,7 @@ static int setup_clone(struct request *clone, struct request *rq,
 {
 	int r;
 
-	blk_rq_init(NULL, rq);
+	blk_rq_init(NULL, clone);
 	r = blk_rq_prep_clone(clone, rq, tio->md->bs, GFP_ATOMIC,
 			      dm_rq_bio_constructor, tio);
 	if (r)