On 2020/07/20 15:13, Christoph Hellwig wrote: > 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. > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > --- > block/blk-settings.c | 25 ++----------------------- > drivers/md/dm-table.c | 3 ++- > include/linux/blkdev.h | 2 -- > 3 files changed, 4 insertions(+), 26 deletions(-) > > diff --git a/block/blk-settings.c b/block/blk-settings.c > index 9cddbd73647405..8c63af7726850c 100644 > --- a/block/blk-settings.c > +++ b/block/blk-settings.c > @@ -614,28 +614,6 @@ int blk_stack_limits(struct queue_limits *t, struct queue_limits *b, > } > EXPORT_SYMBOL(blk_stack_limits); > > -/** > - * bdev_stack_limits - adjust queue limits for stacked drivers > - * @t: the stacking driver limits (top device) > - * @bdev: the component block_device (bottom) > - * @start: first data sector within component device > - * > - * Description: > - * Merges queue limits for a top device and a block_device. Returns > - * 0 if alignment didn't change. Returns -1 if adding the bottom > - * device caused misalignment. > - */ > -int bdev_stack_limits(struct queue_limits *t, struct block_device *bdev, > - sector_t start) > -{ > - struct request_queue *bq = bdev_get_queue(bdev); > - > - start += get_start_sect(bdev); > - > - return blk_stack_limits(t, &bq->limits, start); > -} > -EXPORT_SYMBOL(bdev_stack_limits); > - > /** > * disk_stack_limits - adjust queue limits for stacked drivers > * @disk: MD/DM gendisk (top) > @@ -651,7 +629,8 @@ void disk_stack_limits(struct gendisk *disk, struct block_device *bdev, > { > struct request_queue *t = disk->queue; > > - if (bdev_stack_limits(&t->limits, bdev, offset >> 9) < 0) { > + if (blk_stack_limits(&t->limits, &bdev_get_queue(bdev)->limits, > + get_start_sect(bdev) + (offset >> 9)) < 0) { > char top[BDEVNAME_SIZE], bottom[BDEVNAME_SIZE]; > > disk_name(disk, 0, top); > diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c > index ec5364133cef7f..aac4c31cfc8498 100644 > --- a/drivers/md/dm-table.c > +++ b/drivers/md/dm-table.c > @@ -458,7 +458,8 @@ static int dm_set_device_limits(struct dm_target *ti, struct dm_dev *dev, > return 0; > } > > - if (bdev_stack_limits(limits, bdev, start) < 0) > + if (blk_stack_limits(limits, &q->limits, > + get_start_sect(bdev) + start) < 0) > DMWARN("%s: adding target device %s caused an alignment inconsistency: " > "physical_block_size=%u, logical_block_size=%u, " > "alignment_offset=%u, start=%llu", > diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h > index 67b9ccc1da3560..247b0e0a2901f0 100644 > --- a/include/linux/blkdev.h > +++ b/include/linux/blkdev.h > @@ -1106,8 +1106,6 @@ extern void blk_set_default_limits(struct queue_limits *lim); > extern void blk_set_stacking_limits(struct queue_limits *lim); > extern int blk_stack_limits(struct queue_limits *t, struct queue_limits *b, > sector_t offset); > -extern int bdev_stack_limits(struct queue_limits *t, struct block_device *bdev, > - sector_t offset); > extern void disk_stack_limits(struct gendisk *disk, struct block_device *bdev, > sector_t offset); > extern void blk_queue_stack_limits(struct request_queue *t, struct request_queue *b); > Looks good. Reviewed-by: Damien Le Moal <damien.lemoal@xxxxxxx> -- Damien Le Moal Western Digital Research -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel