diff options
Diffstat (limited to 'drivers/md/raid10.c')
-rw-r--r-- | drivers/md/raid10.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c index 987db37cb875..99ae6068e456 100644 --- a/drivers/md/raid10.c +++ b/drivers/md/raid10.c | |||
@@ -3475,6 +3475,7 @@ static int run(struct mddev *mddev) | |||
3475 | 3475 | ||
3476 | rdev_for_each(rdev, mddev) { | 3476 | rdev_for_each(rdev, mddev) { |
3477 | long long diff; | 3477 | long long diff; |
3478 | struct request_queue *q; | ||
3478 | 3479 | ||
3479 | disk_idx = rdev->raid_disk; | 3480 | disk_idx = rdev->raid_disk; |
3480 | if (disk_idx < 0) | 3481 | if (disk_idx < 0) |
@@ -3493,6 +3494,9 @@ static int run(struct mddev *mddev) | |||
3493 | goto out_free_conf; | 3494 | goto out_free_conf; |
3494 | disk->rdev = rdev; | 3495 | disk->rdev = rdev; |
3495 | } | 3496 | } |
3497 | q = bdev_get_queue(rdev->bdev); | ||
3498 | if (q->merge_bvec_fn) | ||
3499 | mddev->merge_check_needed = 1; | ||
3496 | diff = (rdev->new_data_offset - rdev->data_offset); | 3500 | diff = (rdev->new_data_offset - rdev->data_offset); |
3497 | if (!mddev->reshape_backwards) | 3501 | if (!mddev->reshape_backwards) |
3498 | diff = -diff; | 3502 | diff = -diff; |