diff options
Diffstat (limited to 'drivers/md/multipath.c')
| -rw-r--r-- | drivers/md/multipath.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/md/multipath.c b/drivers/md/multipath.c index cbe368fa6598..237fe3fd235c 100644 --- a/drivers/md/multipath.c +++ b/drivers/md/multipath.c | |||
| @@ -294,7 +294,8 @@ static int multipath_add_disk(mddev_t *mddev, mdk_rdev_t *rdev) | |||
| 294 | for (path = first; path <= last; path++) | 294 | for (path = first; path <= last; path++) |
| 295 | if ((p=conf->multipaths+path)->rdev == NULL) { | 295 | if ((p=conf->multipaths+path)->rdev == NULL) { |
| 296 | q = rdev->bdev->bd_disk->queue; | 296 | q = rdev->bdev->bd_disk->queue; |
| 297 | blk_queue_stack_limits(mddev->queue, q); | 297 | disk_stack_limits(mddev->gendisk, rdev->bdev, |
| 298 | rdev->data_offset << 9); | ||
| 298 | 299 | ||
| 299 | /* as we don't honour merge_bvec_fn, we must never risk | 300 | /* as we don't honour merge_bvec_fn, we must never risk |
| 300 | * violating it, so limit ->max_sector to one PAGE, as | 301 | * violating it, so limit ->max_sector to one PAGE, as |
| @@ -463,9 +464,9 @@ static int multipath_run (mddev_t *mddev) | |||
| 463 | 464 | ||
| 464 | disk = conf->multipaths + disk_idx; | 465 | disk = conf->multipaths + disk_idx; |
| 465 | disk->rdev = rdev; | 466 | disk->rdev = rdev; |
| 467 | disk_stack_limits(mddev->gendisk, rdev->bdev, | ||
| 468 | rdev->data_offset << 9); | ||
| 466 | 469 | ||
| 467 | blk_queue_stack_limits(mddev->queue, | ||
| 468 | rdev->bdev->bd_disk->queue); | ||
| 469 | /* as we don't honour merge_bvec_fn, we must never risk | 470 | /* as we don't honour merge_bvec_fn, we must never risk |
| 470 | * violating it, not that we ever expect a device with | 471 | * violating it, not that we ever expect a device with |
| 471 | * a merge_bvec_fn to be involved in multipath */ | 472 | * a merge_bvec_fn to be involved in multipath */ |
