Message ID | 20211126125533.266015-2-Niklas.Cassel@wdc.com |
---|---|
State | Superseded |
Headers | show |
Series | [1/2] scsi: sd_zbc: Compare against block layer enum values | expand |
Looks good,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
On 2021/11/26 21:56, Niklas Cassel wrote: > From: Niklas Cassel <niklas.cassel@wdc.com> > > 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 <niklas.cassel@wdc.com> > --- > 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 024f1bec6e5a..3e25ded3ac0f 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 != BLK_ZONE_TYPE_CONVENTIONAL && > zone.cond == BLK_ZONE_COND_FULL) > 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) > Looks good to me, modulo the switch to using BLK_ZONE_* enums.
diff --git a/drivers/scsi/sd_zbc.c b/drivers/scsi/sd_zbc.c index 024f1bec6e5a..3e25ded3ac0f 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 != BLK_ZONE_TYPE_CONVENTIONAL && zone.cond == BLK_ZONE_COND_FULL) 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)