On Thu, Jan 28, 2021 at 01:47:33PM +0900, Damien Le Moal wrote: > 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. So creating the partition doesn't even call into the driver, which means we'll leak the info for now. But I guess the next revalidate will simply clean it up, so it is not a major issue. Looks good: Reviewed-by: Christoph Hellwig <hch@xxxxxx>