summaryrefslogtreecommitdiffstats
path: root/kernel/drivers/md/multipath.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/drivers/md/multipath.c')
-rw-r--r--kernel/drivers/md/multipath.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/drivers/md/multipath.c b/kernel/drivers/md/multipath.c
index 0a72ab6e6..dd483bb2e 100644
--- a/kernel/drivers/md/multipath.c
+++ b/kernel/drivers/md/multipath.c
@@ -129,7 +129,9 @@ static void multipath_make_request(struct mddev *mddev, struct bio * bio)
}
multipath = conf->multipaths + mp_bh->path;
- mp_bh->bio = *bio;
+ bio_init(&mp_bh->bio);
+ __bio_clone_fast(&mp_bh->bio, bio);
+
mp_bh->bio.bi_iter.bi_sector += multipath->rdev->data_offset;
mp_bh->bio.bi_bdev = multipath->rdev->bdev;
mp_bh->bio.bi_rw |= REQ_FAILFAST_TRANSPORT;