|
@@ -423,15 +423,15 @@ static int sd_zbc_read_zoned_characteristics(struct scsi_disk *sdkp,
|
|
if (sdkp->device->type != TYPE_ZBC) {
|
|
if (sdkp->device->type != TYPE_ZBC) {
|
|
/* Host-aware */
|
|
/* Host-aware */
|
|
sdkp->urswrz = 1;
|
|
sdkp->urswrz = 1;
|
|
- sdkp->zones_optimal_open = get_unaligned_be64(&buf[8]);
|
|
|
|
- sdkp->zones_optimal_nonseq = get_unaligned_be64(&buf[12]);
|
|
|
|
|
|
+ sdkp->zones_optimal_open = get_unaligned_be32(&buf[8]);
|
|
|
|
+ sdkp->zones_optimal_nonseq = get_unaligned_be32(&buf[12]);
|
|
sdkp->zones_max_open = 0;
|
|
sdkp->zones_max_open = 0;
|
|
} else {
|
|
} else {
|
|
/* Host-managed */
|
|
/* Host-managed */
|
|
sdkp->urswrz = buf[4] & 1;
|
|
sdkp->urswrz = buf[4] & 1;
|
|
sdkp->zones_optimal_open = 0;
|
|
sdkp->zones_optimal_open = 0;
|
|
sdkp->zones_optimal_nonseq = 0;
|
|
sdkp->zones_optimal_nonseq = 0;
|
|
- sdkp->zones_max_open = get_unaligned_be64(&buf[16]);
|
|
|
|
|
|
+ sdkp->zones_max_open = get_unaligned_be32(&buf[16]);
|
|
}
|
|
}
|
|
|
|
|
|
return 0;
|
|
return 0;
|