From: Christoph Hellwig Date: Fri, 15 Dec 2023 07:13:50 +0000 (+0100) Subject: sd: only call disk_clear_zoned when needed X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=refs%2Fheads%2Fblock-remove-zone-aware;p=users%2Fhch%2Fblock.git sd: only call disk_clear_zoned when needed disk_clear_zoned only needs to be called when a device reported zone managed mode first and we clear it. Add a check so that disk_clear_zoned isn't called on devices that were never zoned. This avoids a fairly expensive queue freezing when revalidating conventional devices. Signed-off-by: Christoph Hellwig --- diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index dbed075cdb98..8c8ac5cd1833 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c @@ -3149,7 +3149,7 @@ static void sd_read_block_characteristics(struct scsi_disk *sdkp) * the device physical block size. */ blk_queue_zone_write_granularity(q, sdkp->physical_block_size); - } else { + } else if (blk_queue_is_zoned(q)) { /* * Anything else. This includes host-aware device that we treat * as conventional.