Damien,
For host-aware ZBC disk, setting the device zoned model to
BLK_ZONED_HA using blk_queue_set_zoned() in
sd_read_block_characteristics() may result in the block device
effective zoned model to be "none" (BLK_ZONED_NONE) if partitions are
present on the device. In this case, sd_zbc_read_zones() should not
setup the zone related queue limits for the disk so that the device
limits and configuration is consistent with a regular disk and
resources not uselessly allocated (e.g. the zone write pointer
tracking array for zone append emulation).
Furthermore, if the disk zoned model changes at run time due to the
creation of a partition by the user, the zone related resources can be
released.
Fix both problems by introducing the function sd_zbc_clear_zone_info()
to reset the scsi disk zone information and free resources and by
returning early in sd_zbc_read_zones() for a block device that has a
zoned model equal to BLK_ZONED_NONE.
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme