History

block: remove bdev_stack_limits

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.

Christoph Hellwig committed 6 years ago

Commit 9efa82e1 parent 3093a473 files · +4 −26Browse files

Unified · Split

3 files
  1. block/blk-settings.c +2 −23
  2. drivers/md/dm-table.c +2 −1
  3. include/linux/blkdev.h +0 −2
block/blk-settings.c+2−23
@@ -614,28 +614,6 @@ int blk_stack_limits(struct queue_limits *t, struct queue_limits *b, · 613 unmodified lines
614}614}
615EXPORT_SYMBOL(blk_stack_limits);615EXPORT_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 */
628int 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}
637EXPORT_SYMBOL(bdev_stack_limits);
638
639/**617/**
640 * disk_stack_limits - adjust queue limits for stacked drivers618 * 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);
drivers/md/dm-table.c+2−1
@@ -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",
include/linux/blkdev.h+0−2
@@ -1139,8 +1139,6 @@ extern void blk_set_default_limits(struct queue_limits *lim); · 1138 unmodified lines
1139extern void blk_set_stacking_limits(struct queue_limits *lim);1139extern void blk_set_stacking_limits(struct queue_limits *lim);
1140extern int blk_stack_limits(struct queue_limits *t, struct queue_limits *b,1140extern int blk_stack_limits(struct queue_limits *t, struct queue_limits *b,
1141 sector_t offset);1141 sector_t offset);
1142extern int bdev_stack_limits(struct queue_limits *t, struct block_device *bdev,
1143 sector_t offset);
1144extern void disk_stack_limits(struct gendisk *disk, struct block_device *bdev,1142extern void disk_stack_limits(struct gendisk *disk, struct block_device *bdev,
1145 sector_t offset);1143 sector_t offset);
1146extern void blk_queue_stack_limits(struct request_queue *t, struct request_queue *b);1144extern void blk_queue_stack_limits(struct request_queue *t, struct request_queue *b);