diff --git a/[refs] b/[refs] index 50da828deb77..032a05d0e205 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5cf00fcd3c98d2eafb58ac7a649bbdb9dbc4902b +refs/heads/master: 1fdd6fc92f330b81604c9a4f892f713775a9751a diff --git a/trunk/drivers/md/md.c b/trunk/drivers/md/md.c index 9fa98fc74b05..c6b8d9fd0b04 100644 --- a/trunk/drivers/md/md.c +++ b/trunk/drivers/md/md.c @@ -888,6 +888,10 @@ int sync_page_io(struct md_rdev *rdev, sector_t sector, int size, rdev->meta_bdev : rdev->bdev; if (metadata_op) bio->bi_sector = sector + rdev->sb_start; + else if (rdev->mddev->reshape_position != MaxSector && + (rdev->mddev->reshape_backwards == + (sector >= rdev->mddev->reshape_position))) + bio->bi_sector = sector + rdev->new_data_offset; else bio->bi_sector = sector + rdev->data_offset; bio_add_page(bio, page, size, 0);