Message ID | 20240215070300.2200308-15-hch@lst.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [01/17] ubd: pass queue_limits to blk_mq_alloc_disk | expand |
在 2024/2/15 15:02, Christoph Hellwig 写道: > Pass the few limits ubiblock imposes directly to blk_mq_alloc_disk > instead of setting them one at a time. > > Signed-off-by: Christoph Hellwig <hch@lst.de> > --- > drivers/mtd/ubi/block.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) Reviewed-by: Zhihao Cheng <chengzhihao1@huawei.com> > > diff --git a/drivers/mtd/ubi/block.c b/drivers/mtd/ubi/block.c > index 9be87c231a2eba..5c8fdcc088a0df 100644 > --- a/drivers/mtd/ubi/block.c > +++ b/drivers/mtd/ubi/block.c > @@ -348,6 +348,9 @@ static int calc_disk_capacity(struct ubi_volume_info *vi, u64 *disk_capacity) > > int ubiblock_create(struct ubi_volume_info *vi) > { > + struct queue_limits lim = { > + .max_segments = UBI_MAX_SG_COUNT, > + }; > struct ubiblock *dev; > struct gendisk *gd; > u64 disk_capacity; > @@ -393,7 +396,7 @@ int ubiblock_create(struct ubi_volume_info *vi) > > > /* Initialize the gendisk of this ubiblock device */ > - gd = blk_mq_alloc_disk(&dev->tag_set, NULL, dev); > + gd = blk_mq_alloc_disk(&dev->tag_set, &lim, dev); > if (IS_ERR(gd)) { > ret = PTR_ERR(gd); > goto out_free_tags; > @@ -416,7 +419,6 @@ int ubiblock_create(struct ubi_volume_info *vi) > dev->gd = gd; > > dev->rq = gd->queue; > - blk_queue_max_segments(dev->rq, UBI_MAX_SG_COUNT); > > list_add_tail(&dev->list, &ubiblock_devices); > >
diff --git a/drivers/mtd/ubi/block.c b/drivers/mtd/ubi/block.c index 9be87c231a2eba..5c8fdcc088a0df 100644 --- a/drivers/mtd/ubi/block.c +++ b/drivers/mtd/ubi/block.c @@ -348,6 +348,9 @@ static int calc_disk_capacity(struct ubi_volume_info *vi, u64 *disk_capacity) int ubiblock_create(struct ubi_volume_info *vi) { + struct queue_limits lim = { + .max_segments = UBI_MAX_SG_COUNT, + }; struct ubiblock *dev; struct gendisk *gd; u64 disk_capacity; @@ -393,7 +396,7 @@ int ubiblock_create(struct ubi_volume_info *vi) /* Initialize the gendisk of this ubiblock device */ - gd = blk_mq_alloc_disk(&dev->tag_set, NULL, dev); + gd = blk_mq_alloc_disk(&dev->tag_set, &lim, dev); if (IS_ERR(gd)) { ret = PTR_ERR(gd); goto out_free_tags; @@ -416,7 +419,6 @@ int ubiblock_create(struct ubi_volume_info *vi) dev->gd = gd; dev->rq = gd->queue; - blk_queue_max_segments(dev->rq, UBI_MAX_SG_COUNT); list_add_tail(&dev->list, &ubiblock_devices);
Pass the few limits ubiblock imposes directly to blk_mq_alloc_disk instead of setting them one at a time. Signed-off-by: Christoph Hellwig <hch@lst.de> --- drivers/mtd/ubi/block.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)