diff options
author | ken <ken@FreeBSD.org> | 2015-03-18 20:52:34 +0000 |
---|---|---|
committer | ken <ken@FreeBSD.org> | 2015-03-18 20:52:34 +0000 |
commit | 1cc0a333e959a384a88704ae1e68dfc880df51e7 (patch) | |
tree | 1f33d20d8149fd8caa8e8d7b073a73593db170a8 /sys/cam | |
parent | 86edfc3fbee5ced122795b493451463fa2c1dddf (diff) | |
download | FreeBSD-src-1cc0a333e959a384a88704ae1e68dfc880df51e7.zip FreeBSD-src-1cc0a333e959a384a88704ae1e68dfc880df51e7.tar.gz |
Fix a couple of problems in the sa(4) media type reports.
The only drives I have discovered so far that support medium type
reports are newer HP LTO (LTO-5 and LTO-6) drives. IBM drives
only support the density reports.
sys/cam/scsi/scsi_sa.h:
The number of possible density codes in the medium type
report is 9, not 8. This caused problems parsing all of
the medium type report after this point in the structure.
usr.bin/mt/mt.c:
Run the density codes returned in the medium type report
through denstostring(), just like the primary and secondary
density codes in the density report. This will print the
density code in hex, and give a text description if it
is available.
Thanks to Rudolf Cejka for doing extensive testing with HP LTO drives
and Bacula and discovering these problems.
Tested by: Rudolf Cejka <cejkar at fit.vutbr.cz>
Sponsored by: Spectra Logic
MFC after: 4 days
Diffstat (limited to 'sys/cam')
-rw-r--r-- | sys/cam/scsi/scsi_sa.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/cam/scsi/scsi_sa.h b/sys/cam/scsi/scsi_sa.h index c0676e4..6ecef65 100644 --- a/sys/cam/scsi/scsi_sa.h +++ b/sys/cam/scsi/scsi_sa.h @@ -477,7 +477,7 @@ struct scsi_medium_type_data { u_int8_t length[2]; #define SMTD_DEFAULT_LENGTH 52 u_int8_t num_density_codes; - u_int8_t primary_density_codes[8]; + u_int8_t primary_density_codes[9]; u_int8_t media_width[2]; u_int8_t medium_length[2]; u_int8_t reserved2[2]; |