diff options
Diffstat (limited to 'kernel/drivers/md/multipath.c')
-rw-r--r-- | kernel/drivers/md/multipath.c | 4 |
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; |