|
|
@@ -4653,7 +4653,10 @@ static int handle_reshape_read_error(struct mddev *mddev,
|
|
|
struct r10bio *r10b = &on_stack.r10_bio;
|
|
|
int slot = 0;
|
|
|
int idx = 0;
|
|
|
- struct bio_vec *bvec = r10_bio->master_bio->bi_io_vec;
|
|
|
+ struct page **pages;
|
|
|
+
|
|
|
+ /* reshape IOs share pages from .devs[0].bio */
|
|
|
+ pages = get_resync_pages(r10_bio->devs[0].bio)->pages;
|
|
|
|
|
|
r10b->sector = r10_bio->sector;
|
|
|
__raid10_find_phys(&conf->prev, r10b);
|
|
|
@@ -4682,7 +4685,7 @@ static int handle_reshape_read_error(struct mddev *mddev,
|
|
|
success = sync_page_io(rdev,
|
|
|
addr,
|
|
|
s << 9,
|
|
|
- bvec[idx].bv_page,
|
|
|
+ pages[idx],
|
|
|
REQ_OP_READ, 0, false);
|
|
|
rdev_dec_pending(rdev, mddev);
|
|
|
rcu_read_lock();
|