diff options
Diffstat (limited to 'drivers/md/multipath.c')
| -rw-r--r-- | drivers/md/multipath.c | 13 | 
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/md/multipath.c b/drivers/md/multipath.c index 1642eae75a3..849ad39f547 100644 --- a/drivers/md/multipath.c +++ b/drivers/md/multipath.c @@ -100,7 +100,7 @@ static void multipath_end_request(struct bio *bio, int error)  		md_error (mp_bh->mddev, rdev);  		printk(KERN_ERR "multipath: %s: rescheduling sector %llu\n",   		       bdevname(rdev->bdev,b),  -		       (unsigned long long)bio->bi_sector); +		       (unsigned long long)bio->bi_iter.bi_sector);  		multipath_reschedule_retry(mp_bh);  	} else  		multipath_end_bh_io(mp_bh, error); @@ -132,7 +132,7 @@ static void multipath_make_request(struct mddev *mddev, struct bio * bio)  	multipath = conf->multipaths + mp_bh->path;  	mp_bh->bio = *bio; -	mp_bh->bio.bi_sector += multipath->rdev->data_offset; +	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;  	mp_bh->bio.bi_end_io = multipath_end_request; @@ -355,21 +355,22 @@ static void multipathd(struct md_thread *thread)  		spin_unlock_irqrestore(&conf->device_lock, flags);  		bio = &mp_bh->bio; -		bio->bi_sector = mp_bh->master_bio->bi_sector; +		bio->bi_iter.bi_sector = mp_bh->master_bio->bi_iter.bi_sector;  		if ((mp_bh->path = multipath_map (conf))<0) {  			printk(KERN_ALERT "multipath: %s: unrecoverable IO read"  				" error for block %llu\n",  				bdevname(bio->bi_bdev,b), -				(unsigned long long)bio->bi_sector); +				(unsigned long long)bio->bi_iter.bi_sector);  			multipath_end_bh_io(mp_bh, -EIO);  		} else {  			printk(KERN_ERR "multipath: %s: redirecting sector %llu"  				" to another IO path\n",  				bdevname(bio->bi_bdev,b), -				(unsigned long long)bio->bi_sector); +				(unsigned long long)bio->bi_iter.bi_sector);  			*bio = *(mp_bh->master_bio); -			bio->bi_sector += conf->multipaths[mp_bh->path].rdev->data_offset; +			bio->bi_iter.bi_sector += +				conf->multipaths[mp_bh->path].rdev->data_offset;  			bio->bi_bdev = conf->multipaths[mp_bh->path].rdev->bdev;  			bio->bi_rw |= REQ_FAILFAST_TRANSPORT;  			bio->bi_end_io = multipath_end_request;  | 
