Re: [PATCH v2] scsi: sd_zbc: Clean up sd_zbc_parse_report() setting of wp
From: Damien Le Moal <hidden>
Date: 2021-11-29 22:43:16
On 2021/11/29 22:15, Niklas Cassel wrote:
quoted hunk ↗ jump to hunk
From: Niklas Cassel <redacted> Make sd_zbc_parse_report() use if/else when setting the write pointer, instead of setting it unconditionally and then conditionally updating it. Signed-off-by: Niklas Cassel <redacted> Reviewed-by: Johannes Thumshirn <redacted> --- Changes since V2: -Picked up Johannes' tag. -Dropped patch 1/2 from the series. The actual +/- lines of this patch is unchanged. drivers/scsi/sd_zbc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)diff --git a/drivers/scsi/sd_zbc.c b/drivers/scsi/sd_zbc.c index ed06798983f8..20e849437687 100644 --- a/drivers/scsi/sd_zbc.c +++ b/drivers/scsi/sd_zbc.c@@ -61,10 +61,11 @@ static int sd_zbc_parse_report(struct scsi_disk *sdkp, u8 *buf, zone.len = logical_to_sectors(sdp, get_unaligned_be64(&buf[8])); zone.capacity = zone.len; zone.start = logical_to_sectors(sdp, get_unaligned_be64(&buf[16])); - zone.wp = logical_to_sectors(sdp, get_unaligned_be64(&buf[24])); if (zone.type != ZBC_ZONE_TYPE_CONV && zone.cond == ZBC_ZONE_COND_FULL)
Actually, thinking about this test again, I think we should simplify it to: if (zone.cond == ZBC_ZONE_COND_FULL) since conventional zones always have the condition ZBC_ZONE_COND_NO_WP, checking the zone type is useless. With that changed, feel free to add: Reviewed-by: Damien Le Moal <redacted>
zone.wp = zone.start + zone.len; + else + zone.wp = logical_to_sectors(sdp, get_unaligned_be64(&buf[24])); ret = cb(&zone, idx, data); if (ret)
-- Damien Le Moal Western Digital Research