mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-09 07:23:14 +00:00
sunvdc: pass queue_limits to blk_mq_alloc_disk
Pass the few limits sunvdc imposes directly to blk_mq_alloc_disk instead of setting them one at a time. Signed-off-by: Christoph Hellwig <hch@lst.de> Link: https://lore.kernel.org/r/20240215070300.2200308-10-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
e6ed9892f1
commit
d0fa9a8b0a
@ -784,6 +784,14 @@ static const struct blk_mq_ops vdc_mq_ops = {
|
||||
|
||||
static int probe_disk(struct vdc_port *port)
|
||||
{
|
||||
struct queue_limits lim = {
|
||||
.physical_block_size = port->vdisk_phys_blksz,
|
||||
.max_hw_sectors = port->max_xfer_size,
|
||||
/* Each segment in a request is up to an aligned page in size. */
|
||||
.seg_boundary_mask = PAGE_SIZE - 1,
|
||||
.max_segment_size = PAGE_SIZE,
|
||||
.max_segments = port->ring_cookies,
|
||||
};
|
||||
struct request_queue *q;
|
||||
struct gendisk *g;
|
||||
int err;
|
||||
@ -824,7 +832,7 @@ static int probe_disk(struct vdc_port *port)
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
g = blk_mq_alloc_disk(&port->tag_set, NULL, port);
|
||||
g = blk_mq_alloc_disk(&port->tag_set, &lim, port);
|
||||
if (IS_ERR(g)) {
|
||||
printk(KERN_ERR PFX "%s: Could not allocate gendisk.\n",
|
||||
port->vio.name);
|
||||
@ -835,12 +843,6 @@ static int probe_disk(struct vdc_port *port)
|
||||
port->disk = g;
|
||||
q = g->queue;
|
||||
|
||||
/* Each segment in a request is up to an aligned page in size. */
|
||||
blk_queue_segment_boundary(q, PAGE_SIZE - 1);
|
||||
blk_queue_max_segment_size(q, PAGE_SIZE);
|
||||
|
||||
blk_queue_max_segments(q, port->ring_cookies);
|
||||
blk_queue_max_hw_sectors(q, port->max_xfer_size);
|
||||
g->major = vdc_major;
|
||||
g->first_minor = port->vio.vdev->dev_no << PARTITION_SHIFT;
|
||||
g->minors = 1 << PARTITION_SHIFT;
|
||||
@ -872,8 +874,6 @@ static int probe_disk(struct vdc_port *port)
|
||||
}
|
||||
}
|
||||
|
||||
blk_queue_physical_block_size(q, port->vdisk_phys_blksz);
|
||||
|
||||
pr_info(PFX "%s: %u sectors (%u MB) protocol %d.%d\n",
|
||||
g->disk_name,
|
||||
port->vdisk_size, (port->vdisk_size >> (20 - 9)),
|
||||
|
Loading…
Reference in New Issue
Block a user