This function is just a tiny wrapper around blk_stack_limit and has two callers. Simplify the stack a bit by open coding it in the two callers.
Unified · Split
| @@ -614,28 +614,6 @@ int blk_stack_limits(struct queue_limits *t, struct queue_limits *b, · 613 unmodified lines | |||
| 614 | } | 614 | } |
| 615 | EXPORT_SYMBOL(blk_stack_limits); | 615 | EXPORT_SYMBOL(blk_stack_limits); |
| 616 | 616 | ||
| 617 | /** | ||
| 618 | * bdev_stack_limits - adjust queue limits for stacked drivers | ||
| 619 | * @t: the stacking driver limits (top device) | ||
| 620 | * @bdev: the component block_device (bottom) | ||
| 621 | * @start: first data sector within component device | ||
| 622 | * | ||
| 623 | * Description: | ||
| 624 | * Merges queue limits for a top device and a block_device. Returns | ||
| 625 | * 0 if alignment didn't change. Returns -1 if adding the bottom | ||
| 626 | * device caused misalignment. | ||
| 627 | */ | ||
| 628 | int bdev_stack_limits(struct queue_limits *t, struct block_device *bdev, | ||
| 629 | sector_t start) | ||
| 630 | { | ||
| 631 | struct request_queue *bq = bdev_get_queue(bdev); | ||
| 632 | |||
| 633 | start += get_start_sect(bdev); | ||
| 634 | |||
| 635 | return blk_stack_limits(t, &bq->limits, start); | ||
| 636 | } | ||
| 637 | EXPORT_SYMBOL(bdev_stack_limits); | ||
| 638 | |||
| 639 | /** | 617 | /** |
| 640 | * disk_stack_limits - adjust queue limits for stacked drivers | 618 | * disk_stack_limits - adjust queue limits for stacked drivers |
| 641 | * @disk: MD/DM gendisk (top) | 619 | * @disk: MD/DM gendisk (top) |
| @@ -651,7 +629,8 @@ void disk_stack_limits(struct gendisk *disk, struct block_device *bdev, · 9 unmodified lines | |||
| 651 | { | 629 | { |
| 652 | struct request_queue *t = disk->queue; | 630 | struct request_queue *t = disk->queue; |
| 653 | 631 | ||
| 654 | if (bdev_stack_limits(&t->limits, bdev, offset >> 9) < 0) { | 632 | if (blk_stack_limits(&t->limits, &bdev_get_queue(bdev)->limits, |
| 633 | get_start_sect(bdev) + (offset >> 9)) < 0) { | ||
| 655 | char top[BDEVNAME_SIZE], bottom[BDEVNAME_SIZE]; | 634 | char top[BDEVNAME_SIZE], bottom[BDEVNAME_SIZE]; |
| 656 | 635 | ||
| 657 | disk_name(disk, 0, top); | 636 | disk_name(disk, 0, top); |
| @@ -458,7 +458,8 @@ static int dm_set_device_limits(struct dm_target *ti, struct dm_dev *dev, · 457 unmodified lines | |||
| 458 | return 0; | 458 | return 0; |
| 459 | } | 459 | } |
| 460 | 460 | ||
| 461 | if (bdev_stack_limits(limits, bdev, start) < 0) | 461 | if (blk_stack_limits(limits, &q->limits, |
| 462 | get_start_sect(bdev) + start) < 0) | ||
| 462 | DMWARN("%s: adding target device %s caused an alignment inconsistency: " | 463 | DMWARN("%s: adding target device %s caused an alignment inconsistency: " |
| 463 | "physical_block_size=%u, logical_block_size=%u, " | 464 | "physical_block_size=%u, logical_block_size=%u, " |
| 464 | "alignment_offset=%u, start=%llu", | 465 | "alignment_offset=%u, start=%llu", |
| @@ -1139,8 +1139,6 @@ extern void blk_set_default_limits(struct queue_limits *lim); · 1138 unmodified lines | |||
| 1139 | extern void blk_set_stacking_limits(struct queue_limits *lim); | 1139 | extern void blk_set_stacking_limits(struct queue_limits *lim); |
| 1140 | extern int blk_stack_limits(struct queue_limits *t, struct queue_limits *b, | 1140 | extern int blk_stack_limits(struct queue_limits *t, struct queue_limits *b, |
| 1141 | sector_t offset); | 1141 | sector_t offset); |
| 1142 | extern int bdev_stack_limits(struct queue_limits *t, struct block_device *bdev, | ||
| 1143 | sector_t offset); | ||
| 1144 | extern void disk_stack_limits(struct gendisk *disk, struct block_device *bdev, | 1142 | extern void disk_stack_limits(struct gendisk *disk, struct block_device *bdev, |
| 1145 | sector_t offset); | 1143 | sector_t offset); |
| 1146 | extern void blk_queue_stack_limits(struct request_queue *t, struct request_queue *b); | 1144 | extern void blk_queue_stack_limits(struct request_queue *t, struct request_queue *b); |