block: move max_{open,active}_zones to struct queue_limits
authorChristoph Hellwig <hch@lst.de>
Thu, 28 Dec 2023 06:27:34 +0000 (06:27 +0000)
committerChristoph Hellwig <hch@lst.de>
Mon, 12 Feb 2024 05:00:01 +0000 (06:00 +0100)
The maximum number of open and active zones is a limit on the queue
and should be places there so that we can including it in the upcoming
queue limits batch update API.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
include/linux/blkdev.h

index d7cac3de65b31bc0cb5a5a62c6896ce69925f5ec..de9251922f75833c35ca6ab90470d3b01d15754c 100644 (file)
@@ -189,8 +189,6 @@ struct gendisk {
         * blk_mq_unfreeze_queue().
         */
        unsigned int            nr_zones;
-       unsigned int            max_open_zones;
-       unsigned int            max_active_zones;
        unsigned long           *conv_zones_bitmap;
        unsigned long           *seq_zones_wlock;
 #endif /* CONFIG_BLK_DEV_ZONED */
@@ -307,6 +305,8 @@ struct queue_limits {
        unsigned char           discard_misaligned;
        unsigned char           raid_partial_stripes_expensive;
        bool                    zoned;
+       unsigned int            max_open_zones;
+       unsigned int            max_active_zones;
 
        /*
         * Drivers that set dma_alignment to less than 511 must be prepared to
@@ -639,23 +639,23 @@ static inline bool disk_zone_is_seq(struct gendisk *disk, sector_t sector)
 static inline void disk_set_max_open_zones(struct gendisk *disk,
                unsigned int max_open_zones)
 {
-       disk->max_open_zones = max_open_zones;
+       disk->queue->limits.max_open_zones = max_open_zones;
 }
 
 static inline void disk_set_max_active_zones(struct gendisk *disk,
                unsigned int max_active_zones)
 {
-       disk->max_active_zones = max_active_zones;
+       disk->queue->limits.max_active_zones = max_active_zones;
 }
 
 static inline unsigned int bdev_max_open_zones(struct block_device *bdev)
 {
-       return bdev->bd_disk->max_open_zones;
+       return bdev->bd_disk->queue->limits.max_open_zones;
 }
 
 static inline unsigned int bdev_max_active_zones(struct block_device *bdev)
 {
-       return bdev->bd_disk->max_active_zones;
+       return bdev->bd_disk->queue->limits.max_active_zones;
 }
 
 #else /* CONFIG_BLK_DEV_ZONED */