Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ms_block: pass queue_limits to blk_mq_alloc_disk

Pass the few limits ms_block 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-12-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>

authored by

Christoph Hellwig and committed by
Jens Axboe
f93b43ae a339cf2b

+7 -7
+7 -7
drivers/memstick/core/ms_block.c
··· 2078 2078 static int msb_init_disk(struct memstick_dev *card) 2079 2079 { 2080 2080 struct msb_data *msb = memstick_get_drvdata(card); 2081 + struct queue_limits lim = { 2082 + .logical_block_size = msb->page_size, 2083 + .max_hw_sectors = MS_BLOCK_MAX_PAGES, 2084 + .max_segments = MS_BLOCK_MAX_SEGS, 2085 + .max_segment_size = MS_BLOCK_MAX_PAGES * msb->page_size, 2086 + }; 2081 2087 int rc; 2082 2088 unsigned long capacity; 2083 2089 ··· 2099 2093 if (rc) 2100 2094 goto out_release_id; 2101 2095 2102 - msb->disk = blk_mq_alloc_disk(&msb->tag_set, NULL, card); 2096 + msb->disk = blk_mq_alloc_disk(&msb->tag_set, &lim, card); 2103 2097 if (IS_ERR(msb->disk)) { 2104 2098 rc = PTR_ERR(msb->disk); 2105 2099 goto out_free_tag_set; 2106 2100 } 2107 2101 msb->queue = msb->disk->queue; 2108 - 2109 - blk_queue_max_hw_sectors(msb->queue, MS_BLOCK_MAX_PAGES); 2110 - blk_queue_max_segments(msb->queue, MS_BLOCK_MAX_SEGS); 2111 - blk_queue_max_segment_size(msb->queue, 2112 - MS_BLOCK_MAX_PAGES * msb->page_size); 2113 - blk_queue_logical_block_size(msb->queue, msb->page_size); 2114 2102 2115 2103 sprintf(msb->disk->disk_name, "msblk%d", msb->disk_id); 2116 2104 msb->disk->fops = &msb_bdops;