@@ -111,8 +111,8 @@ int nvme_update_zone_info(struct nvme_ns *ns, unsigned lbaf)
blk_queue_zoned(q);
blk_queue_flag_set(QUEUE_FLAG_ZONE_RESETALL, q);
- disk_set_max_open_zones(ns->disk, le32_to_cpu(id->mor) + 1);
- disk_set_max_active_zones(ns->disk, le32_to_cpu(id->mar) + 1);
+ blk_queue_max_open_zones(q, le32_to_cpu(id->mor) + 1);
+ blk_queue_max_active_zones(q, le32_to_cpu(id->mar) + 1);
free_data:
kfree(id);
return status;
@@ -943,10 +943,10 @@ int sd_zbc_read_zones(struct scsi_disk *sdkp, u8 buf[SD_BUF_SIZE])
blk_queue_flag_set(QUEUE_FLAG_ZONE_RESETALL, q);
blk_queue_required_elevator_features(q, ELEVATOR_F_ZBD_SEQ_WRITE);
if (sdkp->zones_max_open == U32_MAX)
- disk_set_max_open_zones(disk, 0);
+ blk_queue_max_open_zones(q, 0);
else
- disk_set_max_open_zones(disk, sdkp->zones_max_open);
- disk_set_max_active_zones(disk, 0);
+ blk_queue_max_open_zones(q, sdkp->zones_max_open);
+ blk_queue_max_active_zones(q, 0);
nr_zones = round_up(sdkp->capacity, zone_blocks) >> ilog2(zone_blocks);
sdkp->early_zone_info.nr_zones = nr_zones;
@@ -615,6 +615,20 @@ static inline bool blk_queue_is_zoned(struct request_queue *q)
return IS_ENABLED(CONFIG_BLK_DEV_ZONED) && q->limits.zoned;
}
+static inline void blk_queue_max_open_zones(struct request_queue *q,
+ unsigned int max_open_zones)
+{
+ WARN_ON_ONCE(!IS_ENABLED(CONFIG_BLK_DEV_ZONED));
+ q->limits.max_open_zones = max_open_zones;
+}
+
+static inline void blk_queue_max_active_zones(struct request_queue *q,
+ unsigned int max_active_zones)
+{
+ WARN_ON_ONCE(!IS_ENABLED(CONFIG_BLK_DEV_ZONED));
+ q->limits.max_active_zones = max_active_zones;
+}
+
#ifdef CONFIG_BLK_DEV_ZONED
unsigned int bdev_nr_zones(struct block_device *bdev);
@@ -639,18 +653,6 @@ static inline bool disk_zone_is_seq(struct gendisk *disk, sector_t sector)
return !test_bit(disk_zone_no(disk, sector), disk->conv_zones_bitmap);
}
-static inline void disk_set_max_open_zones(struct gendisk *disk,
- unsigned int 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->queue->limits.max_active_zones = max_active_zones;
-}
-
static inline unsigned int bdev_max_open_zones(struct block_device *bdev)
{
return bdev->bd_disk->queue->limits.max_open_zones;
Given that the max_open_zones and max_active_zones attributes of a zoned block device have been moved to the device request queue limit, rename the functions disk_set_max_open_zones() and disk_set_max_active_zones() to blk_queue_max_open_zones() and blk_queue_max_active_zones() to be consistent with other request queue limit setting functions. Signed-off-by: Damien Le Moal <dlemoal@kernel.org> --- drivers/nvme/host/zns.c | 4 ++-- drivers/scsi/sd_zbc.c | 6 +++--- include/linux/blkdev.h | 26 ++++++++++++++------------ 3 files changed, 19 insertions(+), 17 deletions(-)