xref: /aosp_15_r20/external/sg3_utils/ChangeLog (revision 44704f698541f6367e81f991ef8bb54ccbf3fc18)
1*44704f69SBart Van AsscheEach utility has its own version number, date of last change and
2*44704f69SBart Van Asschesome description at the top of its ".c" file. All utilities in the main
3*44704f69SBart Van Asschedirectory have their own "man" pages. There is also a sg3_utils man page.
4*44704f69SBart Van Assche
5*44704f69SBart Van AsscheChangelog for pre-release sg3_utils-1.48 [20221112] [svn: r983]
6*44704f69SBart Van Assche  - some utilities: add experimental --json[=JO] option
7*44704f69SBart Van Assche  - sg_z_act_query: new utility for sending either a
8*44704f69SBart Van Assche    Zone activate or Zone query command
9*44704f69SBart Van Assche  - sg_rep_density: new utility for decoding the response of
10*44704f69SBart Van Assche    Report density support command [ssc (tape)]
11*44704f69SBart Van Assche  - sg_rem_rest_elem: new utility for removing or restoring
12*44704f69SBart Van Assche    elements
13*44704f69SBart Van Assche  - sg_rtpg: https://github.com/hreinecke/sg3_utils/pull/79
14*44704f69SBart Van Assche    applied
15*44704f69SBart Van Assche  - rescan-scsi-bus.sh: with '-r' it crashed due to change in
16*44704f69SBart Van Assche    rev 867 in sg_inq.c from Device_type= to PDT= .
17*44704f69SBart Van Assche    Change script to use either
18*44704f69SBart Van Assche    - undo regression in rev 815 that added newline after
19*44704f69SBart Van Assche      each LUN in the default (no option) output
20*44704f69SBart Van Assche    - rev 815 changed the order of listing hosts from
21*44704f69SBart Van Assche      numeric to alphabetical, change it back to numeric
22*44704f69SBart Van Assche    - https://github.com/doug-gilbert/sg3_utils/pull/17
23*44704f69SBart Van Assche      applied with tweaks: add timeout parameter
24*44704f69SBart Van Assche    - clean $norm handling
25*44704f69SBart Van Assche    - fix handling of '-I <secs>' option
26*44704f69SBart Van Assche    - sgdevice26: do not traverse sg class if scsi_device
27*44704f69SBart Van Assche      is not added
28*44704f69SBart Van Assche    - add -no-lip-scan option
29*44704f69SBart Van Assche    - https://github.com/doug-gilbert/sg3_utils/pull/21
30*44704f69SBart Van Assche    - speed testonline() when peripheral_qualifier != 0
31*44704f69SBart Van Assche      see https://github.com/doug-gilbert/sg3_utils/issues/24
32*44704f69SBart Van Assche    - speed multipath scans with many LUNs, cache multipath
33*44704f69SBart Van Assche      LUN info in temporary file, see
34*44704f69SBart Van Assche      https://github.com/doug-gilbert/sg3_utils/issues/22
35*44704f69SBart Van Assche  - sg_rep_zones: add Report zone starting LBA granularity
36*44704f69SBart Van Assche    field in REPORT ZONES response [zbc2r12]
37*44704f69SBart Van Assche    - add --brief option, show part of header and last
38*44704f69SBart Van Assche      descriptor fetched
39*44704f69SBart Van Assche    - add --find ZT option to find the first occurrence of
40*44704f69SBart Van Assche      ZT; if ZT prefixed by - or ! find first not equal to ZT
41*44704f69SBart Van Assche    - add --statistics option
42*44704f69SBart Van Assche  - sg_get_elem_status: change '--maxlen=' option default to
43*44704f69SBart Van Assche    1056 (header plus 32 physical element status descriptors)
44*44704f69SBart Van Assche  - sg_decode_sense: add --nodecode option
45*44704f69SBart Van Assche  - sg_logs: tweak the meaning of --list option to more closely
46*44704f69SBart Van Assche    reflect the contents of log pages 0x0 and 0x0,0xff
47*44704f69SBart Van Assche    - make '-lll' set union of log pages 0x0 and 0x0,0xff
48*44704f69SBart Van Assche    - add --exclude option to exclude vendor specific pages
49*44704f69SBart Van Assche      and parameters
50*44704f69SBart Van Assche    - add --undefined option for hex format of undefined/
51*44704f69SBart Van Assche      unrecognized fields
52*44704f69SBart Van Assche    - for short binary fields, remove address (index) from
53*44704f69SBart Van Assche      the left hand side of each line of hex
54*44704f69SBart Van Assche    - improve 'last_n' log pages; supply VPD and mode pages
55*44704f69SBart Van Assche      with their name (if T10 defined)
56*44704f69SBart Van Assche    - update names for TapeAlert lpage
57*44704f69SBart Van Assche    - allow --page selection with --inhex=FN
58*44704f69SBart Van Assche  - sg_modes: improve handling of zbc disks with pdt=0x14
59*44704f69SBart Van Assche  - sg_inq, sg_vpd: merge VPD page processing for T10
60*44704f69SBart Van Assche    defined pages, VS pages still differ
61*44704f69SBart Van Assche    - Device Identication VPD page, change
62*44704f69SBart Van Assche      "IEEE Company_id" to "AOI" as per spc6r06.pdf
63*44704f69SBart Van Assche    - add support for Hitachi/HP open-v ldev names
64*44704f69SBart Van Assche  - sg_vpd: apply github pull 18 (missing LF)
65*44704f69SBart Van Assche    - add --sinq_inraw=RFN option
66*44704f69SBart Van Assche  - sg_opcodes: cleanup error reporting
67*44704f69SBart Van Assche    - add --inhex=FN to process earlier -HHH
68*44704f69SBart Van Assche  - sg_format: allow disk formats on ZBC (zoned) disks
69*44704f69SBart Van Assche  - sg_read_buffer: add --eh_code= and --no_output options
70*44704f69SBart Van Assche  - sg_ses: add exp_sas_addr acronym for getting expander's
71*44704f69SBart Van Assche    SAS address
72*44704f69SBart Van Assche  - sg_turs: change nanosleep() to Sleep() in MinGW
73*44704f69SBart Van Assche    - see sg_lib below for two new exit status values
74*44704f69SBart Van Assche  - sg_stream_ctl: fix --get indexing
75*44704f69SBart Van Assche  - sg_read_block_limits: fix granularity value
76*44704f69SBart Van Assche     - add --mloi option
77*44704f69SBart Van Assche  - inhex/logs_last_n.hex: new, tests for the 4 "Last n ..."
78*44704f69SBart Van Assche    log (sub)pages
79*44704f69SBart Van Assche  - sg_lib: add sg_pdt_s_eq() to cope with ZBC disks which may
80*44704f69SBart Van Assche    be either PDT_ZBC (if host managed) or PDT_DISK
81*44704f69SBart Van Assche    - add hex2fp(), similar to hex2str() but outputs to FILE
82*44704f69SBart Van Assche    - cleanup masks for PDT [0x1f] and group_number [0x3f]
83*44704f69SBart Van Assche    - new sg_json_builder.[hc] files local to lib folder
84*44704f69SBart Van Assche    - document internal json interface in include/sg_pr2serr.h
85*44704f69SBart Van Assche    - add SG_C_CPP_ZERO_INIT to better handle aggregate stack
86*44704f69SBart Van Assche      instance zeroing (C23 adding 'struct T t {};' will help)
87*44704f69SBart Van Assche    - correct fixed format sense data command-specific field
88*44704f69SBart Van Assche      for ata-passthrough (lba field), see:
89*44704f69SBart Van Assche      https://github.com/doug-gilbert/sg3_utils/pull/25
90*44704f69SBart Van Assche    - add sg_ll_read_block_limits_v2() for MLOI bit
91*44704f69SBart Van Assche    - https://github.com/doug-gilbert/sg3_utils/pull/32 added
92*44704f69SBart Van Assche      with tweaks; adds SG_LIB_CAT_STANDBY and
93*44704f69SBart Van Assche      SG_LIB_CAT_UNAVAILABLE which refine the 'not ready'
94*44704f69SBart Van Assche      exit status. Useful for sg_turs
95*44704f69SBart Van Assche  - initialize all sense buffers to 0
96*44704f69SBart Van Assche  - linux: replace references to /proc/scsi/sg with
97*44704f69SBart Van Assche    /sys/module/sg/parameters/
98*44704f69SBart Van Assche  - rework main README file
99*44704f69SBart Van Assche  - rev 921+922 are bugfix revs on release 1.47 [r919,920]
100*44704f69SBart Van Assche  - configure.ac: map msys to mingw
101*44704f69SBart Van Assche    - repeat tweak to accept uclinux as linux
102*44704f69SBart Van Assche  - sg_dd: change uint type to uint32_t
103*44704f69SBart Van Assche    - remove unused out2_off in main()
104*44704f69SBart Van Assche  - sg_pt_dummy.c: remove problematic include
105*44704f69SBart Van Assche  - sg3_utils.spec: change tarball extension from .tgz to
106*44704f69SBart Van Assche    .tar.gz ; fix build issue with Fedora 36
107*44704f69SBart Van Assche  - build cleanups for 'make distcheck', see
108*44704f69SBart Van Assche    https://github.com/doug-gilbert/sg3_utils/pull/26, 27 and
109*44704f69SBart Van Assche    28; need svn:ignore property or maybe global-ignores
110*44704f69SBart Van Assche  - round of coverity identified issue fixes (and non-issues)
111*44704f69SBart Van Assche  - autoconf: upgrade version 2.70 to 2.71; automake upgrade
112*44704f69SBart Van Assche    to version 1.16.5 (from Fedora 36)
113*44704f69SBart Van Assche  - remove archive directory (and its contents)
114*44704f69SBart Van Assche  - codespell fixes
115*44704f69SBart Van Assche
116*44704f69SBart Van AsscheChangelog for released sg3_utils-1.47 [20211110] [svn: r919]
117*44704f69SBart Van Assche  - sg_rep_zones: add support for REPORT ZONE DOMAINS and
118*44704f69SBart Van Assche    REPORT REALMS in this utility
119*44704f69SBart Van Assche  - sg_raw: fix prints of NVMe NVM command names
120*44704f69SBart Van Assche  - sg_ses: fix Windows problem "No command (cdb) given"
121*44704f69SBart Van Assche    - fix crash when '-m LEN' < 252
122*44704f69SBart Van Assche    - guard against smaller '--maxlen=' values
123*44704f69SBart Van Assche  - sg_logs: additions to Volume statistics lpage [ssc5r05c]
124*44704f69SBart Van Assche    - additions to Command duration limits statistics log
125*44704f69SBart Van Assche      page [spc6r06]
126*44704f69SBart Van Assche  - sg_vpd: fix do_hex type on some recent pages
127*44704f69SBart Van Assche    - zoned block dev char vpd: add zone alignment mode and
128*44704f69SBart Van Assche      zone starting LBA granularity [zbc2r11]
129*44704f69SBart Van Assche  - sg_read_buffer: fix --length= problem
130*44704f69SBart Van Assche  - sg_dd, sgm_dd, sgp_dd: don't close negative file descriptors
131*44704f69SBart Van Assche  - sg_dd: srand48_r() and mrand48_r() are GNU libc specific,
132*44704f69SBart Van Assche    put conditional in so non-reentrant version used otherwise
133*44704f69SBart Van Assche    - 'iflag=00,ff' places the 32 bit block address (big endian)
134*44704f69SBart Van Assche      into each block
135*44704f69SBart Van Assche  - sgp_dd: major rework, fix issue with error being ignored
136*44704f69SBart Van Assche    - new: --chkaddr which checks for block address in each block
137*44704f69SBart Van Assche    - add check for stdatomic.h presence in configure.ac
138*44704f69SBart Van Assche  - sg_xcopy: tweak CSCD identification descriptor
139*44704f69SBart Van Assche  - sg_get_elem_status: fix issue with '--maxlen=' option
140*44704f69SBart Van Assche    - add 2 depopulation revocation health attributes [sbc5r01]
141*44704f69SBart Van Assche  - transport error handling improved. To fix report of a
142*44704f69SBart Van Assche    BAD_TARGET transport error but the utility still continued.
143*44704f69SBart Van Assche    - introduce SG_LIB_TRANSPORT_ERROR [35] exit status
144*44704f69SBart Van Assche  - several utilities: override '--maxlen=LEN' when LEN
145*44704f69SBart Van Assche    is < 16 (or 4), take default (or 4) instead
146*44704f69SBart Van Assche  - scripts: 55-scsi-sg3_id.rules remove outdated rule
147*44704f69SBart Van Assche  - sg_lib: add sg_scsi_status_is_good(),
148*44704f69SBart Van Assche    sg_scsi_status_is_bad() and sg_get_zone_type_str()
149*44704f69SBart Van Assche  - pt_linux: fix verify(BytChk=0) which Linux SNTL translated
150*44704f69SBart Van Assche    to write, other SNTL cleanups
151*44704f69SBart Van Assche  - pt_linux_nvme: fix fua setting
152*44704f69SBart Van Assche  - pt: check_pt_file_handle() add return value of 5 for
153*44704f69SBart Van Assche    FreeBSD for nvme(cam)
154*44704f69SBart Van Assche  - pt: new configure option --enable-pt_dummy builds the
155*44704f69SBart Van Assche    library with sg_pt_dummy.c instead of OS specific code;
156*44704f69SBart Van Assche    for experimenting with --inhex= decoding on netbsd
157*44704f69SBart Van Assche  - pt: add Haiku OS support
158*44704f69SBart Van Assche  - gcc -fanalyzer fixes: in sg_pt_linux.c + sg_write_x.c
159*44704f69SBart Van Assche  - sg_pt_dummy.c: add list of functions that a new pt
160*44704f69SBart Van Assche    needs to define
161*44704f69SBart Van Assche  - configure.ac: tweak to accept uclinux as linux
162*44704f69SBart Van Assche  - move some hex files from examples to inhex directory
163*44704f69SBart Van Assche  - major rework of lib/sg_pt_freebsd.c; make SNTL as similar
164*44704f69SBart Van Assche    as practical to the Linux implementation
165*44704f69SBart Van Assche  - add testing/sg_take_snap
166*44704f69SBart Van Assche  - change links to http://sg.danny/cz/sg/* to https
167*44704f69SBart Van Assche
168*44704f69SBart Van AsscheChangelog for released sg3_utils-1.46 [20210329] [svn: r891]
169*44704f69SBart Van Assche  - sg_rep_pip: new utility: report provisioning initialization
170*44704f69SBart Van Assche    pattern command
171*44704f69SBart Van Assche  - sg_turs: estimated time-to-ready [spc6r03]
172*44704f69SBart Van Assche    - add --delay=MS option
173*44704f69SBart Van Assche  - sg_requests: substantial cleanup
174*44704f69SBart Van Assche  - sg_vpd: add Format presets and Concurrent positioning ranges
175*44704f69SBart Van Assche    - add hot-pluggable field in standard Inquiry [spc6r05]
176*44704f69SBart Van Assche    - fix vendor struct opts_t alignment
177*44704f69SBart Van Assche  - sg_inq: add hot-pluggable field in standard Inquiry
178*44704f69SBart Van Assche  - sg_dd: --verify : separate category for miscompare errors
179*44704f69SBart Van Assche    - --verify : oflag=coe continue on miscompares, counts them
180*44704f69SBart Van Assche    - add cdl= operand for command duration limit indexes
181*44704f69SBart Van Assche    - add oflag=nocreat and conv=nocreat : OFILE must exist
182*44704f69SBart Van Assche    - add iflag=00, ff, random flags
183*44704f69SBart Van Assche    - setup conditional auto rule for getrandom()
184*44704f69SBart Van Assche    - add command timeout after comma in time= operand
185*44704f69SBart Van Assche  - sg_get_elem_status: add ralwd bit sbc4r20a
186*44704f69SBart Van Assche  - sg_write_x: add dld bits to write(32) [sbc4r19a]
187*44704f69SBart Van Assche  - sg_rep_zones: print invalid write pointer LBA as -1 rather
188*44704f69SBart Van Assche    than 16 "f"s
189*44704f69SBart Van Assche  - sg_opcodes: improve handling of RWCDLP field
190*44704f69SBart Van Assche  - sg_ses: use fan speed factor field for calculation [ses4r04]
191*44704f69SBart Van Assche    - add --all (-a) option, same action as --join
192*44704f69SBart Van Assche  - sg_compare_and_write: add examples section to its manpage
193*44704f69SBart Van Assche  - sg_modes: document '-s' option (same as '-6')
194*44704f69SBart Van Assche  - sg_sanitize + sg_format: when --verbose given once report
195*44704f69SBart Van Assche    probable success; without --verbose 'no news is good news'
196*44704f69SBart Van Assche  - sg_zone: add Remove element and modify zones command
197*44704f69SBart Van Assche  - sg_raw: increase maximum data-in and data-out buffer size
198*44704f69SBart Van Assche    from 64 KB to 1 MB
199*44704f69SBart Van Assche    - fix --cmdfile= handling
200*44704f69SBart Van Assche    - add --nvm option to send commands from the NVM command set
201*44704f69SBart Van Assche    - add --cmdset option to bypass cdb heuristic
202*44704f69SBart Van Assche    - add --scan= first_opcode,last_opcode
203*44704f69SBart Van Assche  - sg_pt_freebsd: allow device names without leading /dev/
204*44704f69SBart Van Assche    thus fix for regression introduced in rev 731 (ver: 1.43)
205*44704f69SBart Van Assche  - sg_pt_solaris+sg_pt_osf1: fix problem with clear_scsi_pt_obj()
206*44704f69SBart Van Assche    which needs to remember is_nvme and dev_fd values
207*44704f69SBart Van Assche  - sg_lib: add ZBC (2020) feature set entries
208*44704f69SBart Van Assche  - sg_lib: restore elements and rebuild command added
209*44704f69SBart Van Assche  - sg_lib,sg_pt: add partial_clear_scsi_pt_obj(),
210*44704f69SBart Van Assche    get_scsi_pt_cdb_len() and get_scsi_pt_cdb_buf()
211*44704f69SBart Van Assche    - add do_nvm_pt() for the NVM (sub-)command set
212*44704f69SBart Van Assche    - tweak transport error handling in Linux
213*44704f69SBart Van Assche  - sg_lib: Linux NVMe SNTL: add read, write and verify;
214*44704f69SBart Van Assche    synchronize cache and write same translations
215*44704f69SBart Van Assche    - add dummy start stop unit and test unit ready commands
216*44704f69SBart Van Assche    - wire cache mpage's WCE to nvme 'volatile write cache'
217*44704f69SBart Van Assche    - fix crash in sg_f2hex_arr() when fname not found
218*44704f69SBart Van Assche  - sg_lib: reprint cdb with illegal request sense key
219*44704f69SBart Van Assche    - asc/ascq match asc-num.txt @t10 20200708 [spc6r02]
220*44704f69SBart Van Assche  - gcc-10: suppress warnings
221*44704f69SBart Van Assche  - autoconf: upgrade version 2.69 to 2.70
222*44704f69SBart Van Assche  - remove space from end of source lines for git-svn
223*44704f69SBart Van Assche  - testing/sg_mrq_testing: new, for blocking mrq usage
224*44704f69SBart Van Assche  - testing/sgs_dd: add evfd flags and eventfd processing
225*44704f69SBart Van Assche  - testing: remove master-slave terminology for sgv4
226*44704f69SBart Van Assche  - examples: add nvme_read_ctl.hex and nvme_write_ctl.hex
227*44704f69SBart Van Assche
228*44704f69SBart Van AsscheChangelog for released sg3_utils-1.45 [20200229] [svn: r843]
229*44704f69SBart Van Assche  - sg_get_elem_status: new utility [sbc4r16]
230*44704f69SBart Van Assche  - sg_ses: bug: --page= being overridden when --control and --data= also
231*44704f69SBart Van Assche    given; fix
232*44704f69SBart Van Assche    - document explicit Element type codes and example
233*44704f69SBart Van Assche    - rename 'SAS SlimLine' to SlimSAS [ses4r02]
234*44704f69SBart Van Assche    - add --inhex=FN, equivalent to --data=@FN, for compatibility with
235*44704f69SBart Van Assche      other utilities
236*44704f69SBart Van Assche    - 'fan speed factor' field added in 20-013r1
237*44704f69SBart Van Assche  - sg_opcodes: expand MLU (now 2 bits, spc5r20)
238*44704f69SBart Van Assche    - include RWCDLP field as extension of CDLP field (spc5r01)
239*44704f69SBart Van Assche  - sg_write_buffer: allow comma and period separated lists when input
240*44704f69SBart Van Assche    from stdin
241*44704f69SBart Van Assche  - sg_inq: update version descriptors to spc5r21
242*44704f69SBart Van Assche    - add some NVMe 1.4 snippets to ctl identify
243*44704f69SBart Van Assche  - sg_format: add --dcrt used twice (FOV=1 DCRT=0)
244*44704f69SBart Van Assche    - add support for FORMAT WITH PRESET (sbc4r18)
245*44704f69SBart Van Assche  - sg_raw: fix --send bug when using stdin
246*44704f69SBart Van Assche  - sg_vpd: 3pc VPD page add copy group descriptor
247*44704f69SBart Van Assche    - add --examine option
248*44704f69SBart Van Assche    - new zoned block device char. page (zbc2r04)
249*44704f69SBart Van Assche  - sg_read_buffer: decode read microcode status page
250*44704f69SBart Van Assche    - add --inhex=FN option
251*44704f69SBart Van Assche  - sg_request: add --error option, replaces opcode with 0xff (or skips call
252*44704f69SBart Van Assche    to pass-through)
253*44704f69SBart Van Assche  - sg_get_lba_status: add --inhex=FN option
254*44704f69SBart Van Assche  - sg_xcopy: add --fco (fast copy only) (spc5r20)
255*44704f69SBart Van Assche    - implement --app=1 (append) on regular OFILE type
256*44704f69SBart Van Assche  - sg_scan (win32): expand limits for big arrays
257*44704f69SBart Van Assche  - sg_modes: placeholders for Command duration limit  T2A and T2B mpages
258*44704f69SBart Van Assche    (sbc4r17)
259*44704f69SBart Van Assche    - improve zbc support (e.g. caching mpage)
260*44704f69SBart Van Assche  - sg_logs: add Command duration limits statistics lpage (spc6r01)
261*44704f69SBart Van Assche    - zoned block device statistics log page: shorten counter fields from
262*44704f69SBart Van Assche      8 to 4 bytes (zbc2r02)
263*44704f69SBart Van Assche      - new field in this log page (zbc2r04)
264*44704f69SBart Van Assche    - change '-ll' option to suppress subpages=0xff apart from page
265*44704f69SBart Van Assche      0x0,0xff. Used three times: list all pages and subpages names
266*44704f69SBart Van Assche      reported
267*44704f69SBart Van Assche  - sg_reassign: for defect list format 6 (vendor specific) don't try to decode
268*44704f69SBart Van Assche  - sg_rep_zones: expand some fields per zbc2r04
269*44704f69SBart Van Assche    - add --num= and --wp options
270*44704f69SBart Van Assche  - sg_verify: correct so issues VERIFY(16)
271*44704f69SBart Van Assche    - add --0 and --ff options and implement bytchk=3 properly
272*44704f69SBart Van Assche  - sg_write_same: add --ff for 0xff fill
273*44704f69SBart Van Assche  - sg_luns: report new "target commands" w-lun (19-117)
274*44704f69SBart Van Assche  - sg_dd: add --verify support
275*44704f69SBart Van Assche  - sgp_dd: support memory-mapped IO via mmap flag
276*44704f69SBart Van Assche  - inhex directory: new, contains ASCII hex files that can be used with
277*44704f69SBart Van Assche    the '--inhex=' option
278*44704f69SBart Van Assche  - sg_lib: add sg_t10_uuid_desig2str()
279*44704f69SBart Van Assche    - add sg_get_command_str and sg_print_command_len()
280*44704f69SBart Van Assche    - speed up sg_print_command()
281*44704f69SBart Van Assche    - sg_scsi_normalize_sense(): populate byte4,5,6
282*44704f69SBart Van Assche    - tweak sg_pt interface to better handle bidi
283*44704f69SBart Van Assche    - sg_cmds_process_resp(): two arguments removed
284*44704f69SBart Van Assche    - add ${PACKAGE_VERSION} to '.so' name
285*44704f69SBart Van Assche    - add sg_f2hex_arr()
286*44704f69SBart Van Assche    - update some tables for NVMe 1.4
287*44704f69SBart Van Assche    - sg_get_num()+sg_get_llnum(): add 'e' decoding, exabytes; allow
288*44704f69SBart Van Assche      addition (e.g. --count=3+1k)
289*44704f69SBart Van Assche    - asc/ascq match asc-num.txt @t10 20191014
290*44704f69SBart Van Assche    - new zbc2r04 service actions
291*44704f69SBart Van Assche  - sg_pt_freebsd: fixes for FreeBSD 12.0 release
292*44704f69SBart Van Assche  - scripts: update 54-before-scsi-sg3_id.rules, scsi-enable-target-scan.sh
293*44704f69SBart Van Assche    and 59-fc-wwpn-id.rules
294*44704f69SBart Van Assche  - linux: add nanosecond durations when SG3_UTILS_LINUX_NANO environment
295*44704f69SBart Van Assche    variable givenand Linux sg driver >= 4.0.30
296*44704f69SBart Van Assche  - rescan-scsi-bus: widen LUN 0 only scanning
297*44704f69SBart Van Assche    - multiple patches to sync with Suse
298*44704f69SBart Van Assche  - testing/sg_tst_async: fix free_list issue
299*44704f69SBart Van Assche  - testing/sg_tst_ioctl: for sg 4.0 driver
300*44704f69SBart Van Assche  - testing/sg_tst_bidi: for sg 4.0 driver
301*44704f69SBart Van Assche  - testing/sgh_dd: test request sharing, mreqs...
302*44704f69SBart Van Assche    - add --verify support
303*44704f69SBart Van Assche  - testing/sgs_dd: back from archive, for testing SIGPOLL (SIGIO) and
304*44704f69SBart Van Assche    realtime (RT) signals
305*44704f69SBart Van Assche  - testing/sg_chk_asc: allow LF and CR/LF in asc-num.txt
306*44704f69SBart Van Assche  - testing: 'make' now builds both C and C++ programs
307*44704f69SBart Van Assche  - sg_pt: add sg_get_opcode_translation() to replace global pointer to
308*44704f69SBart Van Assche    array: sg_opcode_info_arr[]
309*44704f69SBart Van Assche    - extend small SNTL to support read capacity
310*44704f69SBart Van Assche  - utils/hxascdmp: add -o=<offset> option
311*44704f69SBart Van Assche    - add -1, -2 and -q options
312*44704f69SBart Van Assche  - sg_io_linux (sg_lib): add sg_linux_sense_print()
313*44704f69SBart Van Assche  - sg_pt_linux: uses sg v4 interface if sg driver >= 4.0.0 . Force sg v3
314*44704f69SBart Van Assche    always by building with './configure --disable-linux-sgv4'
315*44704f69SBart Van Assche    - add sg_linux_get_sg_version() function
316*44704f69SBart Van Assche  - add: 'SPDX-License-Identifier: BSD-2-Clause' or a small number of
317*44704f69SBart Van Assche    'GPL-2.0-or-later'
318*44704f69SBart Van Assche  - gcc-9: suppress (pointless) warnings
319*44704f69SBart Van Assche  - automake: upgrade to version 1.16.1
320*44704f69SBart Van Assche  - autoconf: upgrade to version 2.69
321*44704f69SBart Van Assche  - sync with fixes from Redhat, via github
322*44704f69SBart Van Assche
323*44704f69SBart Van AsscheChangelog for sg3_utils-1.44 [20180912] [svn: r791]
324*44704f69SBart Van Assche  - same code as release 1.43 20180911 svn rev 789;
325*44704f69SBart Van Assche    new release due to sync problem with git mirror at:
326*44704f69SBart Van Assche    https://github.com/hreinecke/sg3_utils
327*44704f69SBart Van Assche    that has a v1.43 tag dated 20160217 [svn: r663]
328*44704f69SBart Van Assche
329*44704f69SBart Van AsscheChangelog for sg3_utils-1.43 [20180911] [svn: r789]
330*44704f69SBart Van Assche  - release 1.43 20180911 svn rev 789
331*44704f69SBart Van Assche  - sg_write_x: where x can be normal, atomic, or(write),
332*44704f69SBart Van Assche    same, scattered, or stream writes with 16 or 32 byte
333*44704f69SBart Van Assche    cdbs (sbc4r04 for atomic, sbc4r11 for scattered)
334*44704f69SBart Van Assche  - sg_bg_ctl: new Background control command (sbc4r08)
335*44704f69SBart Van Assche  - sg_seek: new SEEK(10) or PRE-FETCH(10 or 16)
336*44704f69SBart Van Assche  - sg_stream_ctl: new, STREAM CONTROL or GET STREAM STATUS
337*44704f69SBart Van Assche  - sg_senddiag: add --timeout=SECS option
338*44704f69SBart Van Assche  - sg_sanitize: add --timeout=SECS option
339*44704f69SBart Van Assche    - add --dry-run option
340*44704f69SBart Van Assche  - sg_format: add --timeout=SECS option
341*44704f69SBart Van Assche    - add --dry-run option to bypass modifying behaviour
342*44704f69SBart Van Assche    - add --quick option to skip reconsideration time
343*44704f69SBart Van Assche    - extend --wait timeout to 40 hours for disk sizes
344*44704f69SBart Van Assche      > 4 TB and 80 hours if > 8 TB
345*44704f69SBart Van Assche    - when changing block size allow for Mode Select
346*44704f69SBart Van Assche      rejecting SP=1 (Save Page): repeat with SP=0
347*44704f69SBart Van Assche    - FFMT tweaks: default CMPLST to false, shorten poll
348*44704f69SBart Van Assche    - make all data-in and data-out buffers page aligned
349*44704f69SBart Van Assche  - sg_decode sense: add --cdb and --err=ES options
350*44704f69SBart Van Assche  - sg_ses: handle 2 bit EIIOE field in aes dpage
351*44704f69SBart Van Assche    - increase join array size from 260 to 520 elements
352*44704f69SBart Van Assche    - add --quiet option to suppress messages
353*44704f69SBart Van Assche    - expand join handling of SAS connectors and others
354*44704f69SBart Van Assche    - expand join debug code
355*44704f69SBart Van Assche    - allow multiple --clear=, --get= and --set= options
356*44704f69SBart Van Assche    - allow individual index ranges (e.g. --index=3-5)
357*44704f69SBart Van Assche    - allow --index=IIA with -ee to enumerate only fields
358*44704f69SBart Van Assche      belonging to element type IIA
359*44704f69SBart Van Assche    - --data=@FN with --status now decodes dpage(s) in FN
360*44704f69SBart Van Assche    - add 'offset_temp' and 'rqst_override' to temperature
361*44704f69SBart Van Assche      sensor element type
362*44704f69SBart Van Assche    - add 'hw_reset' and 'sw_reset' to enclosure services
363*44704f69SBart Van Assche      controller electronics element type (18-047r1)
364*44704f69SBart Van Assche    - interpret '--join --page=aes' to only display join
365*44704f69SBart Van Assche      rows that have a corresponding AES dpage element
366*44704f69SBart Van Assche    - support NVMe attached enclosure via NVME-MI Send and
367*44704f69SBart Van Assche      Receive SES commands
368*44704f69SBart Van Assche    - decode array status diagnostic page (obsolete)
369*44704f69SBart Van Assche    - sync to ses4r01
370*44704f69SBart Van Assche  - sg_ses_microcode: add --dry-run and -ealsd options
371*44704f69SBart Van Assche  - sg_ses, sg_ses_microcode, sg_senddiag: make all access
372*44704f69SBart Van Assche    buffer page size aligned (typically page_size=4096)
373*44704f69SBart Van Assche  - sg_write_buffer: add --dry-run option
374*44704f69SBart Van Assche  - sg_luns: resync with drafts (sam6r02+spc5r10)
375*44704f69SBart Van Assche    - remove undocumented test "W" format
376*44704f69SBart Van Assche    - accept and output on request "quad dashed" format
377*44704f69SBart Van Assche  - sg_logs: fix volume statistics lpage when subpage
378*44704f69SBart Van Assche    is zero (ssc5r02a); decode mount history log parameter
379*44704f69SBart Van Assche    - add --vendor=VP and '--pdt=DT' options
380*44704f69SBart Van Assche    - decode Requested recovery, TapeAlert response, and
381*44704f69SBart Van Assche      Service buffer information lpages for tape
382*44704f69SBart Van Assche    - add min+max 'mounted' temperature and rel. humidity
383*44704f69SBart Van Assche      fields to Environmental reporting lpage (spc5r10)
384*44704f69SBart Van Assche    - add last n Inquiry/Mode_page data changed log
385*44704f69SBart Van Assche      pages (spc5r17)
386*44704f69SBart Van Assche    - add zoned block device statistics lpage (zbc2r?,
387*44704f69SBart Van Assche      16-264r4)
388*44704f69SBart Van Assche    - fixup enumeration in power condition transition
389*44704f69SBart Van Assche      log page (from H. Reinecke, Suse)
390*44704f69SBart Van Assche  - sg_inq: fix potential unbounded loop in --export
391*44704f69SBart Van Assche    - add --only to stop standard inquiry decoding also
392*44704f69SBart Van Assche      doing a serial number vpd page (0x80) fetch
393*44704f69SBart Van Assche    - update version descriptor list to 20170114
394*44704f69SBart Van Assche    - add further checks so CDROM standard inquiry response
395*44704f69SBart Van Assche      doesn't trick --inhex into thinking it's VPD pg 0x80
396*44704f69SBart Van Assche    - decode NVMe Identify controller/nsid commands
397*44704f69SBart Van Assche    - with NVMe --only restricts to a single Identify
398*44704f69SBart Van Assche      controller command
399*44704f69SBart Van Assche    - add --long which decodes more of the NVMe Identify
400*44704f69SBart Van Assche      command responses
401*44704f69SBart Van Assche  - sg_inq+sg_vpd: update Extended inquiry data vpd
402*44704f69SBart Van Assche    page (spc5r09 and 17-142r5)
403*44704f69SBart Van Assche    - block limits and block limit extension VPD pages:
404*44704f69SBart Van Assche      add extra info about corner cases
405*44704f69SBart Van Assche    - add maximum inquiry|mode_page change logs fields
406*44704f69SBart Van Assche      to extended inquiry vpd page (spc5r17)
407*44704f69SBart Van Assche    - both now return EDOM (adjusted sg error code) when
408*44704f69SBart Van Assche      requested page not in Supported VPD Pages page
409*44704f69SBart Van Assche    - add --force option to bypass checking Supported
410*44704f69SBart Van Assche      Vpd Pages page and fetch requested page directly
411*44704f69SBart Van Assche  - sg_vpd: 3 party copy VPD page improvements
412*44704f69SBart Van Assche    - fully implement Device constituents VPD page
413*44704f69SBart Van Assche    - decode some WDC/Hitachi vendor VPD pages
414*44704f69SBart Van Assche    - improve handling of unknown pages
415*44704f69SBart Van Assche  - sg_reassign+sg_write_same: fix ULONG_MAX problem
416*44704f69SBart Van Assche  - sg_rdac: add sanity checks for -f=lun value
417*44704f69SBart Van Assche  - sg_turs+sg_requests: make both accept '--num=NUM'
418*44704f69SBart Van Assche    and '--number=NUM' for mutual compatibility
419*44704f69SBart Van Assche  - sg_turs: add --low option
420*44704f69SBart Van Assche    - fix exit status when not ready in single case
421*44704f69SBart Van Assche  - sg_zone: fix debug cdb naming
422*44704f69SBart Van Assche    - add --sequentialize, --count=ZC options, zbc2r01b
423*44704f69SBart Van Assche  - sg_reset_wp add --count=ZC option, zbc2r01b
424*44704f69SBart Van Assche  - sg_persist: add --maxlen-LEN option, LEN defaults to
425*44704f69SBart Van Assche    decimal, similar to --alloc-length= which takes hex
426*44704f69SBart Van Assche    - add Replace lost reservation capable (RLR_C) bit
427*44704f69SBart Van Assche      in Report Capabilities (spc4r36)
428*44704f69SBart Van Assche  - sg_dd: add --dry-run and --verbose options
429*44704f69SBart Van Assche    - allow multiple short options (e.g. -dvv )
430*44704f69SBart Van Assche  - sgp_dd: pthread_cancel() has issues in C++ (and
431*44704f69SBart Van Assche    the Android multi-threaded library doesn't supply it)
432*44704f69SBart Van Assche    so use pthread_kill() in its place [Linux only]
433*44704f69SBart Van Assche    - add --dry-run and --verbose options
434*44704f69SBart Van Assche  - sgm_dd: add --dry-run and --verbose options
435*44704f69SBart Van Assche  - sg_opcode: add '--enumerate' and '--pdt=' options
436*44704f69SBart Van Assche    - support CDLP (command duration limit page)
437*44704f69SBart Van Assche    - support MLU, Multiple Logical Units (18-045r1)
438*44704f69SBart Van Assche    - check resid and trim response if necessary
439*44704f69SBart Van Assche    - report when --no-inquiry is ignored
440*44704f69SBart Van Assche  - sg_raw: add --enumerate option
441*44704f69SBart Van Assche    - add --cmdfile=CF option, permit 64 byte NVMe
442*44704f69SBart Van Assche      admin commands to be sent
443*44704f69SBart Van Assche    - add --raw option (for CF in binary)
444*44704f69SBart Van Assche    - page align input and output buffers
445*44704f69SBart Van Assche  - sg_get_lba_status: add --report-type= option (sbc4r12)
446*44704f69SBart Van Assche    - add support for 32 byte cdb variant (sbc4r14)
447*44704f69SBart Van Assche    - add support for --element-id= and --scan-len=
448*44704f69SBart Van Assche      options (sbc4r14)
449*44704f69SBart Van Assche    - decode response's RTP and two more provisioning
450*44704f69SBart Van Assche      statuses and the additional status (sbc4r12)
451*44704f69SBart Van Assche    - decode completion condition (sbc4r14)
452*44704f69SBart Van Assche  - sg_modes: add Out of band management control mpage
453*44704f69SBart Van Assche    - accept acronym for page/subpage codes
454*44704f69SBart Van Assche  - sg_rep_zones: expand --help option information
455*44704f69SBart Van Assche  - sg_unmap: add --all=ST,RN[,LA] option to unmap
456*44704f69SBart Van Assche    large contiguous segments of a disk/ssd
457*44704f69SBart Van Assche    - add --dry-run and --force options
458*44704f69SBart Van Assche  - sg_wr_mode: add --rtd option for RTD bit
459*44704f69SBart Van Assche  - sg_timestamp: add '--no-timestamp' option
460*44704f69SBart Van Assche    - add --elapsed and --hex options
461*44704f69SBart Van Assche  - sginfo: don't open /dev/snapshot
462*44704f69SBart Van Assche  - introduce SG3_UTILS_DSENSE environment variable
463*44704f69SBart Van Assche  - manpages and usage messages: corrections from
464*44704f69SBart Van Assche    Gris Ge via github
465*44704f69SBart Van Assche  - group_number: is 6 bit field allowing 0 to 63,
466*44704f69SBart Van Assche    code in several utilities limited it to 31, fix
467*44704f69SBart Van Assche  - convert many two valued 'int's to bool
468*44704f69SBart Van Assche  - sg_lib: add SSC maintenance in/out sa names
469*44704f69SBart Van Assche    - enhance exit status values and associated
470*44704f69SBart Van Assche      strings, add SG_LIB_OS_BASE_ERR (50)
471*44704f69SBart Van Assche    - add sg_ll_inquiry_v2(), sg_ll_inquiry_pt() and
472*44704f69SBart Van Assche      sg_simple_inquiry_pt()
473*44704f69SBart Van Assche    - add sg_ll_report_luns_pt()
474*44704f69SBart Van Assche    - add sg_ll_log_sense_v2()
475*44704f69SBart Van Assche    - add sg_ll_mode_sense10_v2()
476*44704f69SBart Van Assche    - add sg_ll_mode_select6_v2() and
477*44704f69SBart Van Assche      sg_ll_mode_select10_v2() for RTD bit
478*44704f69SBart Van Assche    - add sg_ll_receive_diag_v2()
479*44704f69SBart Van Assche    - add sg_ll_write_buffer_v2()
480*44704f69SBart Van Assche    - add sg_get_llnum_nomult()
481*44704f69SBart Van Assche    - add sg_ll_get_lba_status16()
482*44704f69SBart Van Assche    - add sg_ll_get_lba_status32()
483*44704f69SBart Van Assche    - add sg_ll_format_unit_v2()
484*44704f69SBart Van Assche    - add sg_ll_test_unit_ready_progress_pt()
485*44704f69SBart Van Assche    - add sg_ll_start_stop_unit_pt()
486*44704f69SBart Van Assche    - add sg_ll_request_sense_pt()
487*44704f69SBart Van Assche    - add sg_ll_send_diag_pt(), sg_ll_receive_diag_pt()
488*44704f69SBart Van Assche    - add sg_get_sfs_name() for spc5r11 (Feature sets)
489*44704f69SBart Van Assche    - add sg_decode_transportid_str()
490*44704f69SBart Van Assche    - add sg_msense_calc_length()
491*44704f69SBart Van Assche    - add sg_all_zeros(), sg_all_ffs()
492*44704f69SBart Van Assche    - add sg_get_sense_cmd_spec_fld()
493*44704f69SBart Van Assche    - add sg_is_scsi_cdb()
494*44704f69SBart Van Assche    - add sg_get_nvme_cmd_status_str()
495*44704f69SBart Van Assche    - add sg_nvme_status2scsi()
496*44704f69SBart Van Assche    - add sg_nvme_desc2sense()
497*44704f69SBart Van Assche    - add sg_build_sense_buffer()
498*44704f69SBart Van Assche    - add sg_get_nvme_opcode_name()
499*44704f69SBart Van Assche    - add sg_memalign() and sg_get_page_size()
500*44704f69SBart Van Assche    - add sg_is_aligned() and pr2ws()
501*44704f69SBart Van Assche    - add sg_get_big_endian(), sg_set_big_endian()
502*44704f69SBart Van Assche    - add hex2stdout(), hex2stderr() and hex2str()
503*44704f69SBart Van Assche    - add sg_convert_errno()
504*44704f69SBart Van Assche    - add sg_if_can2stdout(), sg_if_can2stderr() and
505*44704f69SBart Van Assche      sg_exit2str()
506*44704f69SBart Van Assche    - implement 'format' argument in dStrHexStr()
507*44704f69SBart Van Assche    - add read buffer(16) command mode names
508*44704f69SBart Van Assche    - add Microcode activation sense descriptor spc5r10
509*44704f69SBart Van Assche    - add SG_LIB_OK_TRUE(0) and SG_LIB_OK_FALSE(36)
510*44704f69SBart Van Assche      non "error" code defines for exit status
511*44704f69SBart Van Assche    - add SG_LIB_LBA_OUT_OF_RANGE error code
512*44704f69SBart Van Assche    - add SG_LIB_UNBOUNDED_32BIT (_16BIT and _64BIT)
513*44704f69SBart Van Assche      defines to help with decoding corner cases
514*44704f69SBart Van Assche    - identify vendor specific sense data (response
515*44704f69SBart Van Assche      code 0x7f), print contents in hex
516*44704f69SBart Van Assche  - sg_pr2serr.h: add sg_scnpr() [like lk scnprintf()]
517*44704f69SBart Van Assche  - sg_pt: add construct_scsi_pt_obj_with_fd()
518*44704f69SBart Van Assche    - add pt_device_is_nvme(), get_pt_nvme_nsid()
519*44704f69SBart Van Assche    - add check_pt_file_handle()
520*44704f69SBart Van Assche    - add get_pt_file_handle(), set_pt_file_handle()
521*44704f69SBart Van Assche    - add small SNTL to support sg_ses on NVMe
522*44704f69SBart Van Assche  - sg_lib_data: sync asc/ascq codes with T10 20170114
523*44704f69SBart Van Assche    - add write scattered (16+32) cdb names sbc4r11
524*44704f69SBart Van Assche  - sg_cmds_extra: expand sg_ll_ata_pt() to send new
525*44704f69SBart Van Assche    Ata pass-through(32) command (sat4r05)
526*44704f69SBart Van Assche  - sg_sat_identify: expand to take --len=32
527*44704f69SBart Van Assche  - sg_pt: add dummy pt_device_is_nvme()
528*44704f69SBart Van Assche  - rescan-scsi-bus.sh: harden code
529*44704f69SBart Van Assche    - fixes from Suse; bump version
530*44704f69SBart Van Assche    - bump version to 20180615
531*44704f69SBart Van Assche    - add to install list in Makefile, hope it does
532*44704f69SBart Van Assche      not clash with other package providing it
533*44704f69SBart Van Assche    - add --ignore-rev to ignore revision change
534*44704f69SBart Van Assche  - 55-scsi-sg3_id.rules: fixes from Suse
535*44704f69SBart Van Assche  - https://github.com/hreinecke/sg3_utils branch
536*44704f69SBart Van Assche    sles15 synced 20170914
537*44704f69SBart Van Assche  - move some testing utilities out of the
538*44704f69SBart Van Assche    'examples' and 'utils' directories into the new
539*44704f69SBart Van Assche    'testing' directory
540*44704f69SBart Van Assche  - add testing/sg_tst_nvme utility
541*44704f69SBart Van Assche  - clean Makefile.freebsd in examples/ and testing/
542*44704f69SBart Van Assche  - gcc 7.2 cleanups (sysmacros.h etc)
543*44704f69SBart Van Assche  - clang --analyze static checker clean ups
544*44704f69SBart Van Assche  - shellcheck cleanup on scripts
545*44704f69SBart Van Assche  - ./configure automake utility:
546*44704f69SBart Van Assche    - option --enable-debug added for testing
547*44704f69SBart Van Assche    - option --disable-linuxbsg retired, still accepted
548*44704f69SBart Van Assche      but now ignored, Linux sg v3 or v4 interface
549*44704f69SBart Van Assche      decision made at runtime
550*44704f69SBart Van Assche    - Info section now printed at end of ./configure
551*44704f69SBart Van Assche  - automake: add AM_PROG_AR to configure.ac
552*44704f69SBart Van Assche    - upgrade to version 1.15
553*44704f69SBart Van Assche    - various configure.ac and Makefile.am cleanups
554*44704f69SBart Van Assche    - add SG_LIB_ANDROID build 'define'. If defined then
555*44704f69SBart Van Assche      SG_LIB_LINUX is also defined, so test for Android
556*44704f69SBart Van Assche      before Linux if need to differentiate
557*44704f69SBart Van Assche  - update BSD license from 3 to 2 clause aka FreeBSD
558*44704f69SBart Van Assche    license (without reference to FreeBSD project)
559*44704f69SBart Van Assche  - debian: bump compat file contents from 7 to 10
560*44704f69SBart Van Assche
561*44704f69SBart Van AsscheChangelog for sg3_utils-1.42 [20160217] [svn: r663]
562*44704f69SBart Van Assche  - sg_timestamp: new, to report or set timestamp
563*44704f69SBart Van Assche  - sg_read_attr: new, supported by tape drives
564*44704f69SBart Van Assche  - sg_stpg: fix truncation of target port field
565*44704f69SBart Van Assche  - sg_inq: cope with unicode strings, udev fixes
566*44704f69SBart Van Assche    - update version descriptor list to 20160125
567*44704f69SBart Van Assche    - '--export': new entries for UUID descriptor
568*44704f69SBart Van Assche  - sg_ses: add more field acronyms (ses3r11)
569*44704f69SBart Van Assche  - sg_logs: add Utilization lpage (sbc4r07)
570*44704f69SBart Van Assche    - add Background operation lpage
571*44704f69SBart Van Assche    - add Pending defects lpage
572*44704f69SBart Van Assche    - add LPS misalignment lpage (sbc4r10)
573*44704f69SBart Van Assche    - document '--All' ('-A') option
574*44704f69SBart Van Assche    - rework lto tape vendor lpages
575*44704f69SBart Van Assche  - sg_vpd: add Block limits extension VPD page
576*44704f69SBart Van Assche    - add Device constituents VPD page
577*44704f69SBart Van Assche    - add LB Protection VPD page (ssc ssc5r02a)
578*44704f69SBart Van Assche    - LB provisioning VPD page: expand LBPRZ, add
579*44704f69SBart Van Assche      Minimum and Threshold percentage fields
580*44704f69SBart Van Assche    - rework lto tape vendor VPD pages
581*44704f69SBart Van Assche  - sg_inq+sg_vpd+sg_xcopy: add support for locally
582*44704f69SBart Van Assche    assigned UUIDs in VPD page 0x83 (spc5r08)
583*44704f69SBart Van Assche  - sg_sanitize: add --znr option (sbc4r07)
584*44704f69SBart Van Assche  - sg_rep_zones: add --partial option (zbc-r04)
585*44704f69SBart Van Assche  - sg_format: add ffmt option (sbc4r10)
586*44704f69SBart Van Assche    - add support for FORMAT MEDIUM (for tape)
587*44704f69SBart Van Assche  - sg_raw: document length relationships
588*44704f69SBart Van Assche  - rescan-scsi-bus.sh: updates from Suse
589*44704f69SBart Van Assche  - sg_lib_data: sync asc/ascq codes with T10 20151126
590*44704f69SBart Van Assche  - sg_lib: add 'sense' categories for SCSI statuses:
591*44704f69SBart Van Assche    condition met, busy, task set full, ACA active and
592*44704f69SBart Van Assche    task aborted
593*44704f69SBart Van Assche    - add pr2serr() extern
594*44704f69SBart Van Assche    - change sg_get_sense_str() and dStrHexStr(), return
595*44704f69SBart Van Assche      chars written (returned void previously)
596*44704f69SBart Van Assche    - add sg_get_sense_descriptors_str() function
597*44704f69SBart Van Assche    - add sg_get_designation_descriptor_str() function
598*44704f69SBart Van Assche    - sg_get_desig_type_str()+sg_get_desig_assoc_str()
599*44704f69SBart Van Assche      and sg_get_desig_code_set_str() added
600*44704f69SBart Van Assche    - sg_get_opcode_sa_name() break out zoning in/out,
601*44704f69SBart Van Assche      read attribute and read position service actions
602*44704f69SBart Van Assche  - sg_cmds_extra: add sg_ll_format_unit2() for FFMT
603*44704f69SBart Van Assche  - sg_pr2serr.h: new, to shorten fprintf(stderr, ...)
604*44704f69SBart Van Assche  - sg_io_linux, sg_pt_linux: drop SUGGEST_* decoding
605*44704f69SBart Van Assche  - sg_unaligned.h: add 48 bit support and gets for
606*44704f69SBart Van Assche    variable length unsigned integers
607*44704f69SBart Van Assche    - add specializations for little and big endian
608*44704f69SBart Van Assche  - change sg_ll_*() function's 'int noisy' to bool
609*44704f69SBart Van Assche
610*44704f69SBart Van AsscheChangelog for sg3_utils-1.41 [20150511] [svn: r644]
611*44704f69SBart Van Assche  - sg_zone: new utility for open, close and finish
612*44704f69SBart Van Assche    zone commands introduced in zbc-r02
613*44704f69SBart Van Assche  - sg_rep_zones and sg_reset_wp: change opcodes as
614*44704f69SBart Van Assche    indicated in zbc-r02
615*44704f69SBart Van Assche  - sg_read_buffer: add READ BUFFER(16) support (spc5r02)
616*44704f69SBart Van Assche  - sg_logs: add --enumerate and acronyms
617*44704f69SBart Van Assche    - allow decode from hex or binary in file
618*44704f69SBart Van Assche    - decode environmental reporting + limits lpages
619*44704f69SBart Van Assche  - sg_write_buffer: add --timeout=TO option
620*44704f69SBart Van Assche  - sg_lib interface: add sg_lib_pdt_decay(), TPROTO_PCIE
621*44704f69SBart Van Assche    plus support for zoning service actions
622*44704f69SBart Van Assche  - sg_lib: in Linux blocked devices yield ENXIO from
623*44704f69SBart Van Assche    ioctl(SG_IO), map to SG_LIB_CAT_NOT_READY
624*44704f69SBart Van Assche    - clean up sg_warnings_stream handling
625*44704f69SBart Van Assche  - sg_inq+sg_vpd: fix SCSI name string decoding in
626*44704f69SBart Van Assche    device identification VPD page (0x83)
627*44704f69SBart Van Assche    - increase sanity on Unit Serial number VPD page
628*44704f69SBart Van Assche    - improve rdac vpd page reporting (vendor)
629*44704f69SBart Van Assche  - sg_inq: improve NAA handling in dev_id VPD page
630*44704f69SBart Van Assche    - update version descriptor list to 20150126
631*44704f69SBart Van Assche  - sg_vpd: add atomic boundary values (sbc4r04)
632*44704f69SBart Van Assche    - block limits VPD page: fix unmap granularity
633*44704f69SBart Van Assche      alignment value; spc5r02 additions
634*44704f69SBart Van Assche  - sg_readcap: add support for ZBC's rc_basis field
635*44704f69SBart Van Assche  - sg_senddiag: fix bug with --raw option
636*44704f69SBart Van Assche    - add support for -HHH for output suitable for --raw
637*44704f69SBart Van Assche  - sg_ses: enclosure element: add failure and warning
638*44704f69SBart Van Assche    acronyms, fix warning indication output
639*44704f69SBart Van Assche    - additional element status dpage: add PCIe/NVMe
640*44704f69SBart Van Assche    - handle element descriptor names that count
641*44704f69SBart Van Assche      multiple trailing NULLs
642*44704f69SBart Van Assche  - rescan-scsi-bus.sh: add --issue-lip-wait option and
643*44704f69SBart Van Assche    improve error handling
644*44704f69SBart Van Assche    - improve dm-multipath handling
645*44704f69SBart Van Assche  - sg_modes: make '-HHH' output suitable as input to
646*44704f69SBart Van Assche    'sdparm --inhex='
647*44704f69SBart Van Assche  - sg_rdac: add '-6' option for mode sense/select(6)
648*44704f69SBart Van Assche    - add support for reporting more SCSI transports
649*44704f69SBart Van Assche      and accessing rdac extended mode page 0x2c
650*44704f69SBart Van Assche  - sg_write_same: cleanup, mainly man page
651*44704f69SBart Van Assche  - scsi_logging_level: replace use of tr command
652*44704f69SBart Van Assche  - examples/sg_tst_async: cleanup
653*44704f69SBart Van Assche  - examples/sg-simple_aio.c: remove
654*44704f69SBart Van Assche  - sg_lib_data: sync asc/ascq codes with T10 20150423
655*44704f69SBart Van Assche  - Makefile cleanup
656*44704f69SBart Van Assche  - autogen.sh: upgrade to buildconf 20091223 version
657*44704f69SBart Van Assche
658*44704f69SBart Van AsscheChangelog for sg3_utils-1.40 [20141110] [svn: r620]
659*44704f69SBart Van Assche  - sg_write_verify: new utility for WRITE AND VERIFY
660*44704f69SBart Van Assche  - sg_ses_microcode: new utility
661*44704f69SBart Van Assche  - sg_sat_read_gplog: new utility
662*44704f69SBart Van Assche  - sg_senddiag: add --maxlen= option
663*44704f69SBart Van Assche  - sg_copy_results: correct response length calculations
664*44704f69SBart Van Assche  - sg_format: make '-FFF' bypass mode sense/select
665*44704f69SBart Van Assche    - add --mode=MP to supply alternate mode page,
666*44704f69SBart Van Assche      default remains read-write error recovery mpage
667*44704f69SBart Van Assche    - output unit serial number and LU name prior to
668*44704f69SBart Van Assche  - sg_inq: expand Block limits VPD page output
669*44704f69SBart Van Assche    - fix --cmddt output if not supported by device
670*44704f69SBart Van Assche    - more sanity checks on vendor supplied fields
671*44704f69SBart Van Assche  - sg_vpd: add --all option
672*44704f69SBart Van Assche    - more TPC VPD page decoding
673*44704f69SBart Van Assche    - add zoned block device characteristics page
674*44704f69SBart Van Assche    - more sanity checks on vendor supplied fields
675*44704f69SBart Van Assche  - sg_ses: fix problem with --index=sse (and ssc)
676*44704f69SBart Van Assche    - mask status element before using as control
677*44704f69SBart Van Assche    - defeat previous item with --mask (ignore) option
678*44704f69SBart Van Assche    - SAS connector status element: add overcurrent bit
679*44704f69SBart Van Assche    - handle element descriptor names that count a
680*44704f69SBart Van Assche      trailing NULL
681*44704f69SBart Van Assche    - add --warn option mainly for broken joins
682*44704f69SBart Van Assche    - add optional descriptions to -ee output
683*44704f69SBart Van Assche    - sync with ses3r07
684*44704f69SBart Van Assche  - sg_sanitize: add --desc and --zero options
685*44704f69SBart Van Assche    - output unit serial number and LU name prior to
686*44704f69SBart Van Assche  - sg_rep_zones: corrections, sync with zbc-r01c
687*44704f69SBart Van Assche  - sg_persist: split help into two pages, '-hh' for 2nd
688*44704f69SBart Van Assche  - sg_logs: refine tape drive output
689*44704f69SBart Van Assche  - sg_raw: with -vvv decode T10 CDB name
690*44704f69SBart Van Assche    - do not output/print data-in if error
691*44704f69SBart Van Assche  - sg_opcodes: add --compact field
692*44704f69SBart Van Assche  - sg_senddiag: add --page=PG option
693*44704f69SBart Van Assche  - sg_reset: add words for EAGAIN from reset ioctl
694*44704f69SBart Van Assche  - sg_sat_*: mention t_type and multiple_count fields
695*44704f69SBart Van Assche  - win32: sg_scan: handle larger configurations
696*44704f69SBart Van Assche  - sg_lib: trim trailing spaces in dStrHex() and friends
697*44704f69SBart Van Assche  - sg_lib_data: sync asc/ascq codes with T10 20140924
698*44704f69SBart Van Assche    - clean up service action string functions
699*44704f69SBart Van Assche    - sg_ll_unmap_v2(): fix group number
700*44704f69SBart Van Assche    - sg_ll_inquiry(), sg_ll_mode_sense*(),
701*44704f69SBart Van Assche      sg_ll_log_sense(): use resid to clear unfilled
702*44704f69SBart Van Assche      data-in buffer
703*44704f69SBart Van Assche  - sg_unaligned.h: add header for building parameters
704*44704f69SBart Van Assche  - examples/sg_tst_async: new Linux sg test utility
705*44704f69SBart Van Assche
706*44704f69SBart Van AsscheChangelog for sg3_utils-1.39 [20140612] [svn: r588]
707*44704f69SBart Van Assche  - sg_rep_zones: new utility for ZBC REPORT ZONES
708*44704f69SBart Van Assche  - sg_reset_wp: new utility, ZBC RESET WRITE POINTER
709*44704f69SBart Van Assche  - sg_ses: add --eiioe=auto|force option
710*44704f69SBart Van Assche    - fix AES dpage element indexing problems
711*44704f69SBart Van Assche    - add --readonly option
712*44704f69SBart Van Assche  - sg_write_buffer: add --bpw=CS option to call
713*44704f69SBart Van Assche    write buffer multiple times for big blobs
714*44704f69SBart Van Assche  - sg_format: add --ip_def option to fully provision
715*44704f69SBart Van Assche  - sg_opcodes: add --mask option
716*44704f69SBart Van Assche  - sg_logs: add --in=FN option for log select params
717*44704f69SBart Van Assche    - add --filter=PARC (parameter code)
718*44704f69SBart Van Assche    - add --no_inq for suppress initial INQUIRY call
719*44704f69SBart Van Assche    - add --readonly option
720*44704f69SBart Van Assche  - sg_persist: add --readonly option, environment
721*44704f69SBart Van Assche    variable SG_PERSIST_IN_RDONLY sets ro on prin cmds
722*44704f69SBart Van Assche  - sg_inq: sync version descriptors dated 20105176
723*44704f69SBart Van Assche    - suppress dev-id VPD messages so they only appear
724*44704f69SBart Van Assche      when --verbose is given
725*44704f69SBart Van Assche    - add new SCSI_IDENT_*_ATA pair to --export output
726*44704f69SBart Van Assche  - sg_luns: add decoding for conglomerate LUNS
727*44704f69SBart Van Assche    - add --lu_cong option to simulate the LU_CONG bit
728*44704f69SBart Van Assche  - sg_vpd: add --vendor=VP option, re-order vendor
729*44704f69SBart Van Assche    specific pages, split lto into lto5 and lto6
730*44704f69SBart Van Assche    - add Supported block lengths and protection types
731*44704f69SBart Van Assche      page (sbc4r01)
732*44704f69SBart Van Assche    - add Block device characteristics extension
733*44704f69SBart Van Assche      page (sbc4r02)
734*44704f69SBart Van Assche  - sg_copy_results, sg_get_lba_status, sg_luns,
735*44704f69SBart Van Assche    sg_read_buffer, sg_readcap, sg_referrals, sg_rtpg,
736*44704f69SBart Van Assche    sg_sat_set_features, sg_sat_identify:
737*44704f69SBart Van Assche    add --readonly option
738*44704f69SBart Van Assche  - sginfo: strip trailing spaces from INQUIRY text
739*44704f69SBart Van Assche  - sg_rbuf: add --echo option (to use echo buffer)
740*44704f69SBart Van Assche  - sg_lib: add sanitize command service action names
741*44704f69SBart Van Assche    - add 'sense' categories for reservation conflict,
742*44704f69SBart Van Assche      data protect and protection information violations
743*44704f69SBart Van Assche    - add sg_get_category_sense_str() to API
744*44704f69SBart Van Assche    - change struct sg_simple_inquiry_resp::rmb to byte_1
745*44704f69SBart Van Assche    - add initial zbc service actions
746*44704f69SBart Van Assche    - dStrHex(Err): fix output truncation error
747*44704f69SBart Van Assche    - linux, sg: support SCSI_PT_FLAGS_QUEUE_AT_TAIL and
748*44704f69SBart Van Assche      SCSI_PT_FLAGS_QUEUE_AT_HEAD (block layer queueing)
749*44704f69SBart Van Assche  - sg_lib_data: sync asc/ascq codes with T10 20140516
750*44704f69SBart Van Assche    - sync operation code with T10 20140515
751*44704f69SBart Van Assche    - add id string for SPC-5
752*44704f69SBart Van Assche  - scripts/59-scsi-sg3_utils.rules: removed
753*44704f69SBart Van Assche    - functionality split into two scripts:
754*44704f69SBart Van Assche      55-scsi-sg3_id.rules + 58-scsi-sg3_symlink.rules
755*44704f69SBart Van Assche  - examples/sg_persist_tst.sh: add --exclusive option
756*44704f69SBart Van Assche  - win32: sg_scan, sg_ses and sg_log fixes
757*44704f69SBart Van Assche  - examples/sgq_dd: re-add old utility as example
758*44704f69SBart Van Assche
759*44704f69SBart Van AsscheChangelog for sg3_utils-1.38 [20140401] [svn: r563]
760*44704f69SBart Van Assche  - sg_ses: add --dev-slot-num= and --sas-addr=
761*44704f69SBart Van Assche    - fix --data=- problem with large buffers
762*44704f69SBart Van Assche    - new --data=@FN to read hex data from file FN
763*44704f69SBart Van Assche    - error and warning message cleanup
764*44704f69SBart Van Assche    - add --maxlen= option
765*44704f69SBart Van Assche  - sg_inq: add --block=0|1 option to control opens
766*44704f69SBart Van Assche    - add --inhex=FN to read response in ASCII hex from
767*44704f69SBart Van Assche      a file; --inhex=FN --raw reads response in binary
768*44704f69SBart Van Assche    - make -HHH (-HHHH for '-p ai') output suitable for
769*44704f69SBart Van Assche      another sg_inq invocation to use --inhex to decode
770*44704f69SBart Van Assche    - add LU_CONG to standard inquiry response output
771*44704f69SBart Van Assche    - decode ASCII information VPD pages
772*44704f69SBart Van Assche    - add HAW_ZBC in block dev char. VPD page (sbc4r01)
773*44704f69SBart Van Assche    - sync version descriptors dated 20131126
774*44704f69SBart Van Assche    - allow --page=-1 to force std INQUIRY decoding
775*44704f69SBart Van Assche    - fix overflow in encode_whitespaces
776*44704f69SBart Van Assche    - improve unit serial number display (VPD page 0x80)
777*44704f69SBart Van Assche  - sg_vpd: add LU_CONG to standard inquiry response output
778*44704f69SBart Van Assche    - add --inhex=FN to read response in ASCII hex from
779*44704f69SBart Van Assche      a file; --inhex=FN --raw reads response in binary
780*44704f69SBart Van Assche    - decode Third Party Copy (tpc) page
781*44704f69SBart Van Assche    - add HAW_ZBC in block dev char. VPD page (sbc4r01)
782*44704f69SBart Van Assche    - add LTO and DDS vendor pages
783*44704f69SBart Van Assche    - allow --page=num to restrict --enumerate output
784*44704f69SBart Van Assche  - sg_persist: add PROUT: Replace Lost Reservation (spc4r36)
785*44704f69SBart Van Assche    - add --transport-id= for SOP: 'sop,<routing_id_in_hex>'
786*44704f69SBart Van Assche  - sg_readcap: for --16 show physical block size if
787*44704f69SBart Van Assche    different from logical block size
788*44704f69SBart Van Assche  - sg_xcopy: environment variables: XCOPY_TO_SRC and
789*44704f69SBart Van Assche    XCOPY_TO_DST indicate where xcopy command is sent
790*44704f69SBart Van Assche    - change default to send xcopy to dst (was src)
791*44704f69SBart Van Assche    - improve CL handling of short options (e.g. '-vv')
792*44704f69SBart Van Assche  - sg_luns: guard against garbage response
793*44704f69SBart Van Assche  - sg_decode_sense: with --nospace ignore spaces on
794*44704f69SBart Van Assche    command line, so multiple arguments are concatenated
795*44704f69SBart Van Assche  - sg_write_same: repeat if unit attention
796*44704f69SBart Van Assche  - sg_rtpg: fix indexing bug with --extended option
797*44704f69SBart Van Assche  - sg_logs: placeholder for pending defects lpage
798*44704f69SBart Van Assche  - sg_unmap: fix another problem with --grpnum= option
799*44704f69SBart Van Assche  - sg_lib.h: add PDT_ZBC define (spc4r36p)
800*44704f69SBart Van Assche  - sg_lib_data: sync asc/ascq codes with T10 dated 20140320
801*44704f69SBart Van Assche    - add pdt string for ZBC (spc4r36p)
802*44704f69SBart Van Assche  - sg_lib: extensions to sg_get_num() and sg_get_llnum()
803*44704f69SBart Van Assche  - sg_cmds_extra: fix sa bug in sg_ll_3party_copy_out()
804*44704f69SBart Van Assche  - scripts/rescan-scsi-bus.sh: check if FC driver exports
805*44704f69SBart Van Assche    issue_lip before using it
806*44704f69SBart Van Assche    - man page added (Linux only)
807*44704f69SBart Van Assche  - scripts/59-scsi-sg3_utils.rules: linux specific udev rules
808*44704f69SBart Van Assche  - examples: add sg_tst_excl3 for testing O_EXCL
809*44704f69SBart Van Assche    - improve sg_tst_excl and sg_tst_excl2
810*44704f69SBart Van Assche    - add sg_tst_context for testing file handle contexts
811*44704f69SBart Van Assche  - upgrade automake to version 1.13.3
812*44704f69SBart Van Assche  - add suse directory and 'spec' file to facilitate builds
813*44704f69SBart Van Assche
814*44704f69SBart Van AsscheChangelog for sg3_utils-1.37 [20131014] [svn: r522]
815*44704f69SBart Van Assche  - sg_compare_and_write: fix wrprotect setting
816*44704f69SBart Van Assche    - add --quiet option to suppress miscompare report
817*44704f69SBart Van Assche    - merge features from another implementation
818*44704f69SBart Van Assche  - sg_inq: fix referrals VPD page
819*44704f69SBart Van Assche    - dev_id VPD: T10 vendor id designator clean up
820*44704f69SBart Van Assche  - sg_logs: improve for tape drives, general cleanup
821*44704f69SBart Van Assche  - sg_persist: fix core dump on -Q option
822*44704f69SBart Van Assche  - sg_unmap: fix core dump on -g option
823*44704f69SBart Van Assche  - sg_vpd: dev_id VPD: T10 vendor id designator clean up
824*44704f69SBart Van Assche    - cleanup up dev_id NAA-3: locally assigned
825*44704f69SBart Van Assche  - sg_ses: add --nickname and --nickid options
826*44704f69SBart Van Assche    - eiioe added to additional element status page (ses3r6)
827*44704f69SBart Van Assche    - multiple --filter options to prune output
828*44704f69SBart Van Assche  - sg_verify: improve miscompare handling
829*44704f69SBart Van Assche    - rename --btychk=ndo option to --ndo=ndo (hide former)
830*44704f69SBart Van Assche    - add --quiet option
831*44704f69SBart Van Assche  - sg_xcopy: allow sg and bsg devices
832*44704f69SBart Van Assche    - fix for bpt going negative
833*44704f69SBart Van Assche    - limit each XCOPY(LID1) command to 65535 blocks
834*44704f69SBart Van Assche    - fix for seek in multi-segment copies
835*44704f69SBart Van Assche  - sg_sanitize: skip 15 second safety delay with --fail
836*44704f69SBart Van Assche  - sg_libs: extended copy opcode renamed (spc4r34)
837*44704f69SBart Van Assche    - sg_ll_receive_copy_results(): expand for all sa_s
838*44704f69SBart Van Assche    - add sg_get_sense_key()
839*44704f69SBart Van Assche    - add sg_ll_3party_copy_out()
840*44704f69SBart Van Assche    - add dStrHexErr(): ascii hex to stderr
841*44704f69SBart Van Assche    - add dStrHexStr(): ascii hex to string
842*44704f69SBart Van Assche    - add SG_LIB_CAT_MISCOMPARE to categories
843*44704f69SBart Van Assche    - clean header files
844*44704f69SBart Van Assche  - sg_pt_freebsd: sanity check on sense_resid; fix leaks
845*44704f69SBart Van Assche  - scripts/rescan-scsi-bus.sh KG's v1.57 + HR patch
846*44704f69SBart Van Assche    - improve wlun handling, detect updated and resized
847*44704f69SBart Van Assche      devices, better multipath support
848*44704f69SBart Van Assche  - Makefile.am cleanup
849*44704f69SBart Van Assche  - examples: add sg_tst_excl and sg_tst_excl2
850*44704f69SBart Van Assche
851*44704f69SBart Van AsscheChangelog for sg3_utils-1.36 [20130531] [svn: r497]
852*44704f69SBart Van Assche  - sg_vpd: Protocol-specific port information VPD page
853*44704f69SBart Van Assche    for SAS SSP, persistent connection (spl3r2), power
854*44704f69SBart Van Assche    disable (spl3r3)
855*44704f69SBart Van Assche    - block device characteristics: add FUAB bit
856*44704f69SBart Van Assche  - sg_xcopy: handle more descriptor types; handle zero
857*44704f69SBart Van Assche    maximum segment length; allow list IDs to be disabled;
858*44704f69SBart Van Assche    improve skip/seek handling; allow xcopy on destination
859*44704f69SBart Van Assche  - sg_reset: and --no-esc option to stop reset escalation
860*44704f69SBart Van Assche    - clean up cli, add long option names
861*44704f69SBart Van Assche  - sg_luns: add --test=ALUN option for decoding LUNs
862*44704f69SBart Van Assche    - decoded luns output in decimal or hex (if -HH given)
863*44704f69SBart Van Assche    - add '--linux' option to show Linux LUN after T10
864*44704f69SBart Van Assche      representation, can map one to the other
865*44704f69SBart Van Assche  - sg_inq: add --vendor option to show standard inquiry's
866*44704f69SBart Van Assche    vendor specific fields in ASCII
867*44704f69SBart Van Assche    - take resid into account with response output
868*44704f69SBart Van Assche  - sg_sync: add --16 (for 16 byte command) and --timeout=
869*44704f69SBart Van Assche  - sg_logs: add data compression page (ssc4)
870*44704f69SBart Van Assche  - sg_sat_set_features: increase --lba from 1 to 4 bytes
871*44704f69SBart Van Assche  - sg_write_same: add --ndob option (sbc3r35d)
872*44704f69SBart Van Assche  - sg_map: mark as deprecated
873*44704f69SBart Van Assche  - sginfo: mark as deprecated, especially -l (list)
874*44704f69SBart Van Assche  - sg_lib: improve snprintf handling
875*44704f69SBart Van Assche  - sg_lib_data: sync asc/ascq codes with T10 20130117
876*44704f69SBart Van Assche  - sg_cmds (lib): if noisy given, give more UA info
877*44704f69SBart Van Assche  - make code more C++ friendly
878*44704f69SBart Van Assche
879*44704f69SBart Van AsscheChangelog for sg3_utils-1.35 [20130117] [svn: r476]
880*44704f69SBart Van Assche  - sg_compare_and_write: new utility
881*44704f69SBart Van Assche  - sg_inq+sg_vpd: block device characteristics VPD page:
882*44704f69SBart Van Assche    add product_type, WABEREQ, WACEREQ and VBULS fields
883*44704f69SBart Van Assche  - sg_inq: more --export option changes for udev
884*44704f69SBart Van Assche  - sg_vpd: add more rdac vendor specific vpd pages
885*44704f69SBart Van Assche  - sg_verify: add --ebytchk option for sbc3r34 changes
886*44704f69SBart Van Assche  - sg_stpg: --offline option: fix 'Invalid state 0xe'
887*44704f69SBart Van Assche  - sg_ses: Door Lock element changed to Door element and
888*44704f69SBart Van Assche    abbreviation changed from 'dl' to 'do' (ses3r05)
889*44704f69SBart Van Assche  - archive/rescan-scsi-bus.sh: upgrade to version 1.53hr
890*44704f69SBart Van Assche    - move rescan-scsi-bus.sh to scripts directory
891*44704f69SBart Van Assche  - sync to sbc3r34
892*44704f69SBart Van Assche  - sg_lib: sg_ll_verify10+16 expand BYTCHK to 2 bit field
893*44704f69SBart Van Assche  - sg_pt_win32, sg_scan(win32): changes for cygwin 1.7.17
894*44704f69SBart Van Assche  - clean up man page summary lines
895*44704f69SBart Van Assche
896*44704f69SBart Van AsscheChangelog for sg3_utils-1.34 [20121013] [svn: r461]
897*44704f69SBart Van Assche  - sg_xcopy: new dd like utility for extended copy command
898*44704f69SBart Van Assche  - sg_copy_results: new utility for receive copy results
899*44704f69SBart Van Assche  - sg_verify: add 16 byte cdb, bytchk (data-out buffer)
900*44704f69SBart Van Assche    and group number support
901*44704f69SBart Van Assche  - sync to spc4r36 and sbc3r32
902*44704f69SBart Van Assche  - sg_inq: add --export so sg_inq can replace udev's scsi_id
903*44704f69SBart Van Assche    - decode old EMC Symmetrix abuse of VPD page 0x83
904*44704f69SBart Van Assche  - sg_vpd: decode old EMC Symmetrix abuse of VPD page 0x83
905*44704f69SBart Van Assche  - sg_ses: increase max dpage response size to 64 KB
906*44704f69SBart Van Assche    - allow ident,locate on enclosure controller
907*44704f69SBart Van Assche    - more sanity for additional element status descriptor
908*44704f69SBart Van Assche  - sg_sanitize: add --ause, --fail and --test=
909*44704f69SBart Van Assche  - sg_luns: add long extended flat space addressing format
910*44704f69SBart Van Assche  - sg_logs: add ATA pass-through results lpage (SAT-2)
911*44704f69SBart Van Assche  - sg_rtpg: add --extended option
912*44704f69SBart Van Assche  - sg_senddiag: list rebuild assist diag page name
913*44704f69SBart Van Assche  - sg_pt_linux: expand DID_ (host_byte) codes
914*44704f69SBart Van Assche    - cope with a transport error plus sense data
915*44704f69SBart Van Assche    - prefer major() over MAJOR() macro
916*44704f69SBart Van Assche  - sg_lib: fix sg_get_command_name() service actions
917*44704f69SBart Van Assche    - report sdat_ovfl bit (if set) in sense data
918*44704f69SBart Van Assche    - decode extended_copy and receive_copy service actions
919*44704f69SBart Van Assche    - decode read_buffer and write_buffer modes
920*44704f69SBart Van Assche    - decode ATA PT fixed format sense (SAT-2)
921*44704f69SBart Van Assche  - sg_cmds_extra: add sg_ll_report_tgt_prt_grp2()
922*44704f69SBart Van Assche  - ./configure options:
923*44704f69SBart Van Assche    - change --enable-no-linux-bsg to --disable-linuxbsg
924*44704f69SBart Van Assche    - add --disable-scsistrings to reduce utility sizes
925*44704f69SBart Van Assche
926*44704f69SBart Van AsscheChangelog for sg3_utils-1.33 [20120118] [svn: r435]
927*44704f69SBart Van Assche  - sg_ses: major rework of indexes (again), now two level
928*44704f69SBart Van Assche  - sg_write_buffer: new --specific option for mode specific
929*44704f69SBart Van Assche    field; new mode 13 (spc4r32)
930*44704f69SBart Van Assche  - sg_vpd: add hp3par volume info vendor VPD page
931*44704f69SBart Van Assche    - fix 'scsi ports' [0x88] page problem
932*44704f69SBart Van Assche    - add 'sinq' pseudo page for standard inquiry response
933*44704f69SBart Van Assche    - add power consumption page
934*44704f69SBart Van Assche  - sg_format: add --poll= option for request sense polling
935*44704f69SBart Van Assche    - improve handling of disks > 2 TB and DIF (protection)
936*44704f69SBart Van Assche  - sg_logs: LB provision lpage extra (sbc3r28)
937*44704f69SBart Van Assche  - sg_modes: application tag mpage subcode 0xf0->0x2
938*44704f69SBart Van Assche  - sg_write_same: no prot fields when wrprotect=0
939*44704f69SBart Van Assche  - sg_get_lba_status: reflect change in sbc3r25 to Parameter
940*44704f69SBart Van Assche    Data Length response field (offset reduced from 8 to 4)
941*44704f69SBart Van Assche  - sg_inq, sg_vpd: sync with spc4r33
942*44704f69SBart Van Assche  - win32: change DataBufferOffset type per MSDN; caused
943*44704f69SBart Van Assche    problem with 64 bit machines (with buffered interface)
944*44704f69SBart Van Assche  - sg_luns: tweak documentation for vendor specific reports
945*44704f69SBart Van Assche  - add man pages for scsi_loging_level, scsi_mandat,
946*44704f69SBart Van Assche    scsi_satl and scsi_temperature
947*44704f69SBart Van Assche
948*44704f69SBart Van AsscheChangelog for sg3_utils-1.32 [20110730] [svn: r410]
949*44704f69SBart Van Assche  - sg_sanitize: new utility for command added in sb3r27
950*44704f69SBart Van Assche  - sg_sat_identify: add '--ident' to output WWN
951*44704f69SBart Van Assche  - sg_ses: major rework of descriptor output
952*44704f69SBart Van Assche    - add --index, --descriptor, --join, --clear, --get,
953*44704f69SBart Van Assche      and --set options
954*44704f69SBart Van Assche  - sg_raw: exit status corrections
955*44704f69SBart Van Assche  - sg_decode_sense: add --nospace and --hex options
956*44704f69SBart Van Assche  - sg_logs: fix bug with large --maxlen
957*44704f69SBart Van Assche    - zero response length when resid implies it is invalid
958*44704f69SBart Van Assche    - add scope field to lb provisioning lpage (sb3r27)
959*44704f69SBart Van Assche  - sg_inq: sync version descriptors with spc4r31
960*44704f69SBart Van Assche  - sg_lib_data: sync asc/ascq codes with spc4r31
961*44704f69SBart Van Assche  - sg_vpd: add LBPRZ field in LB provisioning VPD page
962*44704f69SBart Van Assche  - sg_format: allow format of pdt 7 (some MO drives)
963*44704f69SBart Van Assche  - sg_cmds_basic: sg_cmds_process_resp() handle status good
964*44704f69SBart Van Assche    with a sense key other than no_sense (e.g. completed)
965*44704f69SBart Van Assche  - add README.iscsi
966*44704f69SBart Van Assche
967*44704f69SBart Van AsscheChangelog for sg3_utils-1.31 [20110216] [svn: r386]
968*44704f69SBart Van Assche  - sg_decode_sense: new utility to decode sense data
969*44704f69SBart Van Assche  - sg_vpd: LB provisioning + Block limits pages (sbc3r26)
970*44704f69SBart Van Assche  - sync asc/ascq and version descriptors with spc4r28
971*44704f69SBart Van Assche  - sg_get_config, sg_rmsn, sg_verify: add --readonly option
972*44704f69SBart Van Assche  - sg_lib: implement forwarded sense data descriptor
973*44704f69SBart Van Assche    - decode user data segment referral sense data descriptor
974*44704f69SBart Van Assche  - sg_lib, sg_turs, sg_format: more precision for progress
975*44704f69SBart Van Assche    indication (two places after decimal point)
976*44704f69SBart Van Assche  - sg_lib(win32): add runtime selection of SPT direct or
977*44704f69SBart Van Assche    indirect interface
978*44704f69SBart Van Assche    - sg_read_buffer+sg_write_buffer: set SPT direct
979*44704f69SBart Van Assche  - add examples/forwarded_sense.txt + examples/ref_sense.txt
980*44704f69SBart Van Assche
981*44704f69SBart Van AsscheChangelog for sg3_utils-1.30 [20101111] [svn: r363]
982*44704f69SBart Van Assche  - sg_referrals: new utility for REPORT REFERRALS
983*44704f69SBart Van Assche  - sbc3r25 renames 'thin' provisioning' to 'logical block
984*44704f69SBart Van Assche    provisioning': changes in sg_format, sg_inq, sg_logs,
985*44704f69SBart Van Assche    sg_modes, sg_readcap, sg_vpd
986*44704f69SBart Van Assche  - sg_inq: update version descriptor list to spc4r27
987*44704f69SBart Van Assche    - extended inquiry vpd page add extended self test
988*44704f69SBart Van Assche      completion minutes field
989*44704f69SBart Van Assche  - sg_lib: sync asc/ascq list to spc4r27
990*44704f69SBart Van Assche    - dStrHex(): trim excess trailing spaces
991*44704f69SBart Van Assche  - sg_read_long: add --readonly option (open() is rw)
992*44704f69SBart Van Assche  - sg_raw: add --readonly option (open() is rw)
993*44704f69SBart Van Assche    - allow bidirectional commands
994*44704f69SBart Van Assche  - sg_vpd: rdac vendor page [0xc8] parse corrections
995*44704f69SBart Van Assche    - extended inquiry vpd page add extended self test
996*44704f69SBart Van Assche      completion minutes field
997*44704f69SBart Van Assche  - sg_ses: expand --data (in) buffer to 2048 bytes
998*44704f69SBart Van Assche  - sg_opcodes: add extended parameter data for TMFs (spc4r26)
999*44704f69SBart Van Assche  - sg_dd: clean count calculation, document nocache flag
1000*44704f69SBart Van Assche    - treat bsg devices as implicit sg_io
1001*44704f69SBart Van Assche    - add more conversions
1002*44704f69SBart Van Assche  - sg_write_same: if READ CAPACITY(16) fails try 10 byte variant
1003*44704f69SBart Van Assche    - anticipate approval of proposal to allow UNMAP and ANCHOR
1004*44704f69SBart Van Assche      bits to be set on WRITE SAME(10) with '--10' option
1005*44704f69SBart Van Assche  - sg3_utils man page: sections added for OS device names
1006*44704f69SBart Van Assche
1007*44704f69SBart Van AsscheChangelog for sg3_utils-1.29 [20100406] [svn: r334]
1008*44704f69SBart Van Assche  - sg_rtpg: new logical block dependent state and bit (spc4r23)
1009*44704f69SBart Van Assche  - sg_start: add '--readonly' option for ATA disks
1010*44704f69SBart Van Assche  - sg_lib: update asc/ascq list to spc4r23
1011*44704f69SBart Van Assche  - sg_inq: update version descriptor list to spc4r23
1012*44704f69SBart Van Assche  - sg_vpd: block device characteristics page: fix form factor
1013*44704f69SBart Van Assche    - update Extended Inquiry VPD page to spc4r23
1014*44704f69SBart Van Assche    - update Block Limits VPD page to sbc3r22
1015*44704f69SBart Van Assche    - update Thin Provisioning VPD page to sbc3r22
1016*44704f69SBart Van Assche    - Automation device serial number and Data transfer device
1017*44704f69SBart Van Assche      element VPD pages (ssc4r01)
1018*44704f69SBart Van Assche    - add Referrals VPD page (sbc3r22)
1019*44704f69SBart Van Assche  - sg_logs: add thin provisioning and solid state media log pages
1020*44704f69SBart Van Assche    - addition of IBM LTO specific log pages
1021*44704f69SBart Van Assche  - sg_modes: new page names from ssc4r01
1022*44704f69SBart Van Assche  - sg_ses: sync with ses3r02 (SAS-2.1 connector types)
1023*44704f69SBart Van Assche  - sg_unmap: add '--anchor' option (sbc3r22)
1024*44704f69SBart Van Assche  - sg_write_same: add '--anchor' option (sbc3r22)
1025*44704f69SBart Van Assche  - sg_pt interface: add set_scsi_pt_flags() to permit passing
1026*44704f69SBart Van Assche    through SCSI_PT_FLAGS_QUEUE_AT_TAIL and AT_HEAD flags
1027*44704f69SBart Van Assche  - add examples/sg_queue_tst+bsg_queue_tst for SG_FLAG_Q_AT_TAIL
1028*44704f69SBart Van Assche  - add AM_MAINTAINER_MODE to configure.ac to lessen build issues
1029*44704f69SBart Van Assche  - add BSD_LICENSE file to this and lib directories, refer to
1030*44704f69SBart Van Assche    it from source and header files. Some source has GPL license
1031*44704f69SBart Van Assche
1032*44704f69SBart Van AsscheChangelog for sg3_utils-1.28 [20091002] [svn: r315]
1033*44704f69SBart Van Assche  - sg_unmap: new utility for thin provisioning
1034*44704f69SBart Van Assche    - add examples/sg_unmap_example.txt
1035*44704f69SBart Van Assche  - sg_get_lba_status: new utility for thin provisioning
1036*44704f69SBart Van Assche  - sg_read_block_limits: new utility for tape drives
1037*44704f69SBart Van Assche  - sg_logs: add cache memory statistics log (sub)page
1038*44704f69SBart Van Assche  - sg_vpd, sg_inq: extend Block limits VPD page (sbc3r19)
1039*44704f69SBart Van Assche  - sg_vpd: add Thin provisioning VPD page (sbc3r20) and
1040*44704f69SBart Van Assche            TapeAlert supported flags VPD page
1041*44704f69SBart Van Assche  - sg_inq: note VPD page support better in sg_vpd
1042*44704f69SBart Van Assche  - sg_persist: add transport specific transportID format
1043*44704f69SBart Van Assche    - allow transportIDs to be read from named file
1044*44704f69SBart Van Assche  - sg_opcodes: allow --opcode= option to take OP and SA
1045*44704f69SBart Van Assche    values (comma separated)
1046*44704f69SBart Van Assche    - tweak print format, remove test code
1047*44704f69SBart Van Assche  - sg_requests: remove test code in progress calculation
1048*44704f69SBart Van Assche  - sg_reset: add target reset option
1049*44704f69SBart Van Assche  - sg_luns: reduce default maxlen to 8192 (for FreeBSD)
1050*44704f69SBart Van Assche  - sg_raw: extend max cdb length from 16 to 256 bytes
1051*44704f69SBart Van Assche    - align heap allocs to page boundaries
1052*44704f69SBart Van Assche  - sg_lib: sg_set_binary_mode() needs config.h included
1053*44704f69SBart Van Assche    - add progress indication sense data descriptor (0xa)
1054*44704f69SBart Van Assche    - change SG3_UTILS_* constants to SG_LIB_*
1055*44704f69SBart Van Assche    - decode service actions within persistent reserve in/out
1056*44704f69SBart Van Assche    - sync with spc4r21
1057*44704f69SBart Van Assche  - sg_cmds_extra: add sg_ll_unmap() and sg_ll_get_lba_status()
1058*44704f69SBart Van Assche  - sg_pt_linux: fix check condition but empty sense buffer; occurred
1059*44704f69SBart Van Assche    when sg v3 node used and /usr/include/linux/bsg.h visible
1060*44704f69SBart Van Assche    - major() macro grief, if present include <linux/kdev_t.h> and
1061*44704f69SBart Van Assche      use MAJOR() instead
1062*44704f69SBart Van Assche  - scripts/sas_disk_blink: moved from this package to sdparm
1063*44704f69SBart Van Assche  - utils/hxascdmp: in Windows set binary mode on read files
1064*44704f69SBart Van Assche  - examples/sg_persist_tst.sh: add PRIN read full status command
1065*44704f69SBart Van Assche  - sg_raw,sg_write_buffer,sg_write_long,sg_write_same: in Windows
1066*44704f69SBart Van Assche    set binary mode on read files
1067*44704f69SBart Van Assche  - sg_pt_win32: default to non-direct variant of SPT interface
1068*44704f69SBart Van Assche    - use './configure --enable-win32-spt-direct' to override
1069*44704f69SBart Van Assche    - non-direct data length set to 16 KB, extended if required
1070*44704f69SBart Van Assche  - debian: incorporate patch from debian sid
1071*44704f69SBart Van Assche
1072*44704f69SBart Van AsscheChangelog for sg3_utils-1.27 [20090411] [svn: r250]
1073*44704f69SBart Van Assche  - sg_write_same: new utility: 10, 16 and 32 byte cdb variants
1074*44704f69SBart Van Assche  - sg_inq: sync version descriptors with spc4r18
1075*44704f69SBart Van Assche    - add power condition VPD page
1076*44704f69SBart Van Assche    - expand block limits VPD page (sbc3r18)
1077*44704f69SBart Van Assche  - sg_vpd: add power condition VPD page
1078*44704f69SBart Van Assche    - expand block limits VPD page (sbc3r18)
1079*44704f69SBart Van Assche  - sg_map26: fix for lk 2.6.26 when CONFIG_SYSFS_DEPRECATED_V2
1080*44704f69SBart Van Assche    is not defined
1081*44704f69SBart Van Assche    - output cdb when verbose option given
1082*44704f69SBart Van Assche    - correct tape minors >= 32
1083*44704f69SBart Van Assche  - sg_dd: flock flag (does LOCK_EX|LOCK_NB)
1084*44704f69SBart Van Assche    - switch open on input for sg device nodes: first open
1085*44704f69SBart Van Assche      read-write and if that fails try opening read-only
1086*44704f69SBart Van Assche    - experiment with of2=OFILE2; add conv=sparse
1087*44704f69SBart Van Assche    - use posix_fadvise() to defeat caching of normal+block files
1088*44704f69SBart Van Assche      when new 'nocache' flag given
1089*44704f69SBart Van Assche    - sg_dd copied to own package called ddpt
1090*44704f69SBart Van Assche  - sg_dd, sgm_dd, sgp_dd: accept 'count=-1' for calculate count,
1091*44704f69SBart Van Assche    accept '-V' for version string
1092*44704f69SBart Van Assche  - sg_get_config: add OSSC feature [mmc6r02]
1093*44704f69SBart Van Assche  - sg_modes: add ATA power condition mode page
1094*44704f69SBart Van Assche  - sg_logs: protocol specific (SAS) lpage sync to sas2r15
1095*44704f69SBart Van Assche    - power condition transitions lpage (added in spc4r18)
1096*44704f69SBart Van Assche    - extra parameters for start-stop cycle counter lpage
1097*44704f69SBart Van Assche  - sg_format: add '--fmtpinfo=' and '--pie=' options (sbc3r18)
1098*44704f69SBart Van Assche  - sg_readcap: more protection + thin provisioning (sbc3r18)
1099*44704f69SBart Van Assche    - add a '--16' option for 16 byte cdb version
1100*44704f69SBart Van Assche  - sg_persist: code clean up
1101*44704f69SBart Van Assche    - allow '--transport-id=' argument to use space as separator
1102*44704f69SBart Van Assche    - add '--alloc-length=' argument
1103*44704f69SBart Van Assche  - sg_scan: (win32) new format, scsi adapter scan optional
1104*44704f69SBart Van Assche  - sginfo: fix crash when 1024 sg device nodes (or more)
1105*44704f69SBart Van Assche  - sg_ses: allow '--data=' argument to use space as separator
1106*44704f69SBart Van Assche  - sg_senddiag: allow '--raw=' argument to use space as separator
1107*44704f69SBart Van Assche  - sg_reassign: allow '--address=' argument to use space as
1108*44704f69SBart Van Assche    separator
1109*44704f69SBart Van Assche  - sg_wr_mode: allow '--contents=' and '--mask=' arguments to
1110*44704f69SBart Van Assche    use space as separator
1111*44704f69SBart Van Assche  - sg3_utils.spec: correction to configure call
1112*44704f69SBart Van Assche  - sg_pt: add scsi_pt_open_device_flags() call
1113*44704f69SBart Van Assche    - add scsi_pt_version() and clear_scsi_pt_obj() calls
1114*44704f69SBart Van Assche    - clear os_err at start of do_scsi_pt()
1115*44704f69SBart Van Assche    - add linux bsg support via runtime detection
1116*44704f69SBart Van Assche  - sg_cmds: add sg_cmds_open_device_flags()
1117*44704f69SBart Van Assche  - sg_cmds_extra: sg_ll_format_unit: remove rto_req argument,
1118*44704f69SBart Van Assche    the expanded fmtpinfo argument subsumes it.
1119*44704f69SBart Van Assche  - clearer split between Linux and Windows only code and doc
1120*44704f69SBart Van Assche  - automake tools: change to what Ubuntu 8.10 provides
1121*44704f69SBart Van Assche    - Ubuntu 8.10 libtool problems -> Debian 4.0
1122*44704f69SBart Van Assche
1123*44704f69SBart Van AsscheChangelog for sg3_utils-1.26 [20080625] [svn: r183]
1124*44704f69SBart Van Assche  - sg_sat_phy_event: new utility; copied from examples
1125*44704f69SBart Van Assche    directory and enhanced, rename original to sg__sat_phy_event
1126*44704f69SBart Van Assche  - sg_ses: sync with ses2r19b, many nomenclature changes
1127*44704f69SBart Van Assche  - sg_get_config: sync with mmc6r01
1128*44704f69SBart Van Assche    - allow Microcode upgrade and DVD read feature descriptors
1129*44704f69SBart Van Assche      to be 4 bytes long
1130*44704f69SBart Van Assche    - add '--raw' option
1131*44704f69SBart Van Assche  - sg_verify: add --vrprotect= option
1132*44704f69SBart Van Assche  - sg_vpd: add nominal form factor to block dev. char. VPD page
1133*44704f69SBart Van Assche    - add --maxlen= option to set allocation length in cdb
1134*44704f69SBart Van Assche  - sg_inq: add --maxlen= option that does same as --len=
1135*44704f69SBart Van Assche    - move version descriptors (spc4r15) to sg_inq_data.c file
1136*44704f69SBart Van Assche  - sg_inq+sg_vpd: logic for "NAA-3 Locally assigned" identifier
1137*44704f69SBart Van Assche    - update extended inquiry VPD page
1138*44704f69SBart Van Assche  - sg_modes: add --maxlen= option to specify allocation length
1139*44704f69SBart Van Assche  - sg_start: add '--noflush' and '--mod=PC_MOD' options (sbc3r14)
1140*44704f69SBart Van Assche  - sg_request: add a '--progress' option (similar to sg_turs)
1141*44704f69SBart Van Assche    - add --maxlen= option to set allocation length in cdb
1142*44704f69SBart Van Assche  - sg_luns: add --maxlen= option to specify allocation length
1143*44704f69SBart Van Assche  - sg_dd: improve MMC handling of 'illegal mode for this track'
1144*44704f69SBart Van Assche    read errors (with ILI and info field)
1145*44704f69SBart Van Assche  - sg_dd, sgm_dd, sgp_dd, sginfo, sg_rbuf, sg_read: replace
1146*44704f69SBart Van Assche    "%lld" and friends with PRI macros
1147*44704f69SBart Van Assche  - sg_opcodes: tmf name change in spc4r15 (async event)
1148*44704f69SBart Van Assche  - sg_turs: add more to man page about '--progress' indication
1149*44704f69SBart Van Assche  - sg_write_long: add examples section to man page
1150*44704f69SBart Van Assche  - '--raw' option: modify utilities that can send binary output
1151*44704f69SBart Van Assche    to call sg_set_binary_mode(). For MingGW port CR problem.
1152*44704f69SBart Van Assche  - sg_lib: update asc/ascq and command name strings to spc4r15
1153*44704f69SBart Van Assche    - split sg_lib into sg_lib_data.[hc] and sg_lib.[hc]
1154*44704f69SBart Van Assche    - split sg_cmds_extra into sg_cmds_extra and sg_cmds_mmc
1155*44704f69SBart Van Assche    - add osd2r03 service actions (all different from osd-r10)
1156*44704f69SBart Van Assche    - add sg_get_trans_proto_str()
1157*44704f69SBart Van Assche    - add sg_get_sense_filemark_eom_ili() function (MMC uses ILI)
1158*44704f69SBart Van Assche    - add sense key specific unit attention condition queue
1159*44704f69SBart Van Assche      overflow decoding (added in spc4r13)
1160*44704f69SBart Van Assche    - add sg_set_text_mode() and sg_set_binary_mode() functions
1161*44704f69SBart Van Assche      for non-Unix OSes
1162*44704f69SBart Van Assche  - sg_cmds_mmc: add sg_ll_set_streaming() function
1163*44704f69SBart Van Assche  - sg_cmds_extra: add vrprotect argument to sg_ll_verify10()
1164*44704f69SBart Van Assche    - add sg_ll_get_performance() and sg_ll_set_cd_speed()
1165*44704f69SBart Van Assche  - change 'long long' to int64_t and 'unsigned long long' to
1166*44704f69SBart Van Assche    uint64_t to stress that 64 bit integer wanted, not larger
1167*44704f69SBart Van Assche  - audit of dangerous 'u64 = uch[24] << 24' code, replace most
1168*44704f69SBart Van Assche    'unsigned long's
1169*44704f69SBart Van Assche  - multiple documentation corrections provided by Dan Horak
1170*44704f69SBart Van Assche  - win32/MinGW: define SG3_UTILS_MINGW when detected
1171*44704f69SBart Van Assche  - remove archive/pre_configure subdirectory
1172*44704f69SBart Van Assche  - move sg_io_linux.c into the lib subdirectory
1173*44704f69SBart Van Assche  - utils/hxascdmp: add hxascdmp(1) man page
1174*44704f69SBart Van Assche  - switch primary build to ubuntu environment, rename
1175*44704f69SBart Van Assche    library to libsgutils2 to avoid clash
1176*44704f69SBart Van Assche
1177*44704f69SBart Van AsscheChangelog for sg3_utils-1.25 [20071016] [svn: r115]
1178*44704f69SBart Van Assche  - sg_stpg: new utility to Set Target Port Groups
1179*44704f69SBart Van Assche  - sg_safte: new utility to query SAF-TE processor (SES like)
1180*44704f69SBart Van Assche  - sg_sat_set_features: new utility (actually copied from examples
1181*44704f69SBart Van Assche    directory); renamed examples version to: sg__sat_set_features
1182*44704f69SBart Van Assche  - sg_read_buffer: restore (had fallen out of build scripts)
1183*44704f69SBart Van Assche  - sg_dd: add oflag=sparse to step over bs*bpt number of zeros;
1184*44704f69SBart Van Assche    - with oflag=sparse, write last bs*bpt segment at end or after
1185*44704f69SBart Van Assche      error so file length of OFILE is appropriate
1186*44704f69SBart Van Assche    - when coe>1 then SCSI READ LONG logic remembers extended block
1187*44704f69SBart Van Assche      length of first encountered error
1188*44704f69SBart Van Assche  - sg_dd, sgm_dd, sgp_dd: allow iflag=null and oflag=null both of
1189*44704f69SBart Van Assche    which do nothing (placeholders)
1190*44704f69SBart Van Assche  - sg_ses: sync with ses2r17 then r18
1191*44704f69SBart Van Assche  - sg_vpd, sg_inq: add block device characteristics VPD page
1192*44704f69SBart Van Assche  - sg_inq: add '--vpd' option (or '-e') for backward compatibility
1193*44704f69SBart Van Assche  - sg_vpd: decode protocol specific lu information page for SAS
1194*44704f69SBart Van Assche    - add more RDAC vendor VPD pages
1195*44704f69SBart Van Assche  - sg_logs: update background scan results log page, sbc3r11
1196*44704f69SBart Van Assche    - add generation code to protocol specific page for SAS SSP
1197*44704f69SBart Van Assche    - add media changer diagnostic data log page
1198*44704f69SBart Van Assche  - sg_raw: fix error message when do_scsi_pt() fails
1199*44704f69SBart Van Assche  - sg_lib: sync asc/ascq codes with spc4r11
1200*44704f69SBart Van Assche    - add sg_get_num_nomult()
1201*44704f69SBart Van Assche    - add TPROTO_* protocol identifier constants to sg_lib.h
1202*44704f69SBart Van Assche  - sg_cmds_extra: add sg_ll_set_tgt_prt_grp()
1203*44704f69SBart Van Assche  - place source in subversion repository
1204*44704f69SBart Van Assche  - split code into src/ lib/ and include/ directories
1205*44704f69SBart Van Assche  - sync debian directory with their 1.24 version (sid unstable)
1206*44704f69SBart Van Assche  - convert build logic to use autotools (i.e. './configure ; make')
1207*44704f69SBart Van Assche    - rename this file from CHANGELOG to ChangeLog
1208*44704f69SBart Van Assche    - note: only code in lib/ and src/ directories built by
1209*44704f69SBart Van Assche      autotools; some other subdirectories still use hand-crafted
1210*44704f69SBart Van Assche      Makefiles
1211*44704f69SBart Van Assche
1212*44704f69SBart Van AsscheChangelog for sg3_utils-1.24 [20070507] [svn: r77]
1213*44704f69SBart Van Assche  - sg_raw: new utility to send arbitrary SCSI commands
1214*44704f69SBart Van Assche  - sg_luns: increase number of luns that can be fetched
1215*44704f69SBart Van Assche    - fix length of raw and hex output
1216*44704f69SBart Van Assche    - add '--quiet' option to output only ASCII hex
1217*44704f69SBart Van Assche      representation of each lun
1218*44704f69SBart Van Assche  - sg_rtpg: update for changes in spc4r09
1219*44704f69SBart Van Assche  - sg_persist: update documentation, spc-4 references
1220*44704f69SBart Van Assche    - fix exit status values
1221*44704f69SBart Van Assche  - sg_inq: update version descriptors per spc4r09
1222*44704f69SBart Van Assche    - fix '--id' and '--extended'
1223*44704f69SBart Van Assche    - extend block limits VPD page (sbc3r09)
1224*44704f69SBart Van Assche  - sg_vpd: extend block limits VPD page (sbc3r09)
1225*44704f69SBart Van Assche    - append relative target port identifier to SAS target
1226*44704f69SBart Van Assche      port address with '-iq' option
1227*44704f69SBart Van Assche  - sg_logs: add decoding for stats+performance log pages
1228*44704f69SBart Van Assche    - fix showing of page names for pdt > 0
1229*44704f69SBart Van Assche    - implement '-HH' for single and all pages, fix '-r'
1230*44704f69SBart Van Assche    - when '--maxlen=' given, only do single fetch
1231*44704f69SBart Van Assche    - add Tape Alert (ssc), Media and Element statistics (smc) pages
1232*44704f69SBart Van Assche    - add '--brief' option
1233*44704f69SBart Van Assche  - sg_ses: sync with ses2r16
1234*44704f69SBart Van Assche    - fix bay number for SAS
1235*44704f69SBart Van Assche  - sg_format: add '--dcrt' and '--security' options
1236*44704f69SBart Van Assche  - sgm_dd: add 'smmap' oflag for shared_mmap_io testing
1237*44704f69SBart Van Assche    - add 'dio' oflag
1238*44704f69SBart Van Assche  - sg_dd, sgp_dd: add 'dio' iflag and oflag
1239*44704f69SBart Van Assche  - sg_modes: change SAS mode page names per sas2r09
1240*44704f69SBart Van Assche    - check validity of block descriptors length
1241*44704f69SBart Van Assche  - sg_pt: change opaque context object from 'void *'
1242*44704f69SBart Van Assche    to 'struct sg_pt_base *'
1243*44704f69SBart Van Assche  - sg_opcodes: anticipate extra tmfs from 07-159r0
1244*44704f69SBart Van Assche  - sg_sat_set_features: add more usage information
1245*44704f69SBart Van Assche    - add man page
1246*44704f69SBart Van Assche  - sg_sat_phy_event: add to examples directory
1247*44704f69SBart Van Assche  - sg_lib: sync asc/ascq codes with spc4r10
1248*44704f69SBart Van Assche  - Solaris port: using uscsi interface
1249*44704f69SBart Van Assche  - various .html files removed from doc directory
1250*44704f69SBart Van Assche
1251*44704f69SBart Van AsscheChangelog for sg3_utils-1.23 [20070131] [svn: 75]
1252*44704f69SBart Van Assche  - sg_read_buffer: new utility
1253*44704f69SBart Van Assche  - sg_write_buffer: new utility
1254*44704f69SBart Van Assche  - sg_opcodes, sg_senddiag, sg_logs, sg_modes, sg_start, sg_inq,
1255*44704f69SBart Van Assche    sg_turs, sg_readcap, sg_rbuf: add getopt_long() based cli;
1256*44704f69SBart Van Assche    old and new cli selectable, new getopt_long cli is default
1257*44704f69SBart Van Assche  - scripts: new subdirectory containing some bash scripts
1258*44704f69SBart Van Assche    - add scripts/README file
1259*44704f69SBart Van Assche  - sg_reassign: add '--hex' option for grown and primary lists
1260*44704f69SBart Van Assche  - sg_rtpg: add '--raw' option
1261*44704f69SBart Van Assche  - sg_lib.h, sg_cmds_basic.h + sg_cmds_extra.h: add C++
1262*44704f69SBart Van Assche    'extern "C" ' wrappers
1263*44704f69SBart Van Assche    - cleanup C code so it will compile as C++
1264*44704f69SBart Van Assche  - sg_lib: sync with spc4r08
1265*44704f69SBart Van Assche    - include <inttypes.h>, use PRId64 instead of %lld form
1266*44704f69SBart Van Assche    - fix sg_get_sense_str() when empty sense buffer
1267*44704f69SBart Van Assche  - win32 port: add Makefile.mingw + related support for MinGW
1268*44704f69SBart Van Assche  - sg_cmds_extra: add sg_ll_read_buffer() and sg_ll_write_buffer()
1269*44704f69SBart Van Assche  - sg_dd, sgp_dd, sgm_dd, sg_read: use lseek64() instead of llseek.c
1270*44704f69SBart Van Assche  - sgm_dd: accept coe=<n> for interworking with sg_dd
1271*44704f69SBart Van Assche  - sg_rdac: fix on non-linux ports
1272*44704f69SBart Van Assche  - sg_ses: fix spurious warning in additional element status page
1273*44704f69SBart Van Assche    - '-rr' option outputs a diagnostic page in binary to stdout
1274*44704f69SBart Van Assche  - sg_opcodes: add command timeout descriptor support (spc4r08)
1275*44704f69SBart Van Assche    - change linux specific pass through to generic pass through
1276*44704f69SBart Van Assche  - sg_logs: add 'name=value' decoding for SAS specific lpage
1277*44704f69SBart Van Assche  - examples+utils subdirectories: remove symlinks
1278*44704f69SBart Van Assche  - synchronize man pages with usage messages
1279*44704f69SBart Van Assche  - sg3_utils.spec: rework
1280*44704f69SBart Van Assche
1281*44704f69SBart Van AsscheChangelog for sg3_utils-1.22 [20061016] [svn: 72]
1282*44704f69SBart Van Assche  - sgp_dd: accept verbose=<n> as well as deb=<n> to ease
1283*44704f69SBart Van Assche    interworking with sg_dd and sgm_dd
1284*44704f69SBart Van Assche  - sg_sat_set_features: added to examples directory
1285*44704f69SBart Van Assche  - sg_lib: sync asc/ascq text with spc4r06
1286*44704f69SBart Van Assche    - move SG_LIB_CAT_NO_SENSE and SG_LIB_CAT_RECOVERED to
1287*44704f69SBart Van Assche      20 and 21 respectively; add SG_LIB_CAT_ABORTED_COMMAND
1288*44704f69SBart Van Assche      at 11 (its sense key value)
1289*44704f69SBart Van Assche  - sg_vpd: tweak '--page=sp --quiet' output
1290*44704f69SBart Van Assche    - change '-HHH' so same as '-rr' (prepares ATA Information
1291*44704f69SBart Van Assche      (ai) response for hdparm)
1292*44704f69SBart Van Assche  - sg_requests: add '-s' option to set exit status from
1293*44704f69SBart Van Assche    parameter data
1294*44704f69SBart Van Assche  - sg_modes: exit quickly from '-e' if device not ready
1295*44704f69SBart Van Assche  - sg_logs: sync sas log pages with sas2r05a
1296*44704f69SBart Van Assche    - expand background scan results log page
1297*44704f69SBart Van Assche    - add '-m=<max_len>' to limit response length
1298*44704f69SBart Van Assche    - drop '-scum' and '-sthr' options and add '-select'
1299*44704f69SBart Van Assche  - sg_write_long: add '--16' option to send 16 byte cdb
1300*44704f69SBart Van Assche    - add '--wr_uncor' and '--pblock' options
1301*44704f69SBart Van Assche  - sg_senddiag: cleanup and add sdiag_sas_p1_stop.txt
1302*44704f69SBart Van Assche    to examples directory
1303*44704f69SBart Van Assche  - sg_format: add '--cmplst=<n>' option (default: 1)
1304*44704f69SBart Van Assche    - add '--pfu=<n>' option
1305*44704f69SBart Van Assche    - expand man page to discuss P/D/C/GLISTs
1306*44704f69SBart Van Assche  - sg_reassign: add '--primary' option to fetch primary
1307*44704f69SBart Van Assche    defect list (PLIST) length
1308*44704f69SBart Van Assche  - sg_readcap: add '-H' option to output response in hex
1309*44704f69SBart Van Assche    and '-r' to output response in binary to stdout
1310*44704f69SBart Van Assche    - add logical blocks per physical block (sbc3r07)
1311*44704f69SBart Van Assche  - sginfo: add PLIST and GLIST designation to defect lists
1312*44704f69SBart Van Assche  - sg_cmds: split this support file into sg_cmds_basic.[hc]
1313*44704f69SBart Van Assche    and sg_cmds_extra.[hc]
1314*44704f69SBart Van Assche    - add sg_ll_ata_pt() (SATL ATA pass) to sg_cmds_extra.[hc]
1315*44704f69SBart Van Assche  - sg_rdac: fix includes for FreeBSD
1316*44704f69SBart Van Assche  - sg_dd: add 'coe_limit=' option to exit after <n>
1317*44704f69SBart Van Assche    consecutive 'coe' type read errors
1318*44704f69SBart Van Assche  - sgm_dd: print out throughput information when signal arrives
1319*44704f69SBart Van Assche    if time=1 (like sg_dd does already)
1320*44704f69SBart Van Assche  - sg_inq: change '-HHH' so same as '-rr'. Now sg_inq, sg_vpd
1321*44704f69SBart Van Assche    and sdparm output for hdparm with '-HHH'
1322*44704f69SBart Van Assche    -add '-l=<resp_len>' option
1323*44704f69SBart Van Assche  - sg_read_long: add '--pblock' option for physical blocks
1324*44704f69SBart Van Assche  - sg_luns: add '--hex' and '--raw' options
1325*44704f69SBart Van Assche  - sg_requests: add '--hex' and '--raw' options
1326*44704f69SBart Van Assche  - sg_scan: windows version added (was previously linux only)
1327*44704f69SBart Van Assche    - 2 man pages: sg_scan.8l and sg_scan.8w that are installed
1328*44704f69SBart Van Assche      as sg_scan.8
1329*44704f69SBart Van Assche  - archive directory: removed all but rescan-scsi-bus.sh
1330*44704f69SBart Van Assche      - README points to previous version in that directory
1331*44704f69SBart Van Assche  - sg_sat_identify: add to main directory
1332*44704f69SBart Van Assche      - rename earlier version to examples/sg__sat_identify.c
1333*44704f69SBart Van Assche  - sg_ident: rework as spc4r07 changed command names and
1334*44704f69SBart Van Assche    expanded functionality
1335*44704f69SBart Van Assche
1336*44704f69SBart Van AsscheChangelog for sg3_utils-1.21 [20060706] [svn: 70]
1337*44704f69SBart Van Assche  - sg_vpd: new utility for decoding VPD pages. sg_inq's cli is
1338*44704f69SBart Van Assche    cluttered; also borrows from sdparm's VPD handling
1339*44704f69SBart Van Assche  - sg_rdac: new utility for vendor specific work
1340*44704f69SBart Van Assche  - sg_lib: add sg_vpd_dev_id_iter() to iterate over di VPD page
1341*44704f69SBart Van Assche    - add sg_ata_get_chars() to fetch chars from ATA words
1342*44704f69SBart Van Assche    - sync additional sense code strings with spc4r05a
1343*44704f69SBart Van Assche    - add SG_LIB_CAT_NOT_READY category when sense_key is NOT READY
1344*44704f69SBart Van Assche    - add SG_LIB_FILE_ERROR category for open problems
1345*44704f69SBart Van Assche    - add SG_LIB_SYNTAX_ERROR category for command line problems
1346*44704f69SBart Van Assche    - broaden SG_LIB_CAT_MEDIA_CHANGED to SG_LIB_CAT_UNIT_ATTENTION
1347*44704f69SBart Van Assche    - add SG_LIB_CAT_MALFORMED for bad responses
1348*44704f69SBart Van Assche    - BEWARE: these changes cause confusion if an executable from this
1349*44704f69SBart Van Assche      version is run with a libsgutils library from 1.20 or earlier
1350*44704f69SBart Van Assche  - sg_cmds: add SG_LIB_CAT_NOT_READY return to most "ll" functions
1351*44704f69SBart Van Assche    - alter many utilities to report SG_LIB_CAT_NOT_READY
1352*44704f69SBart Van Assche  - sg_dd: add retries=<n> option for sg_io
1353*44704f69SBart Van Assche  - sg_logs: add '-T' option to output protocol specific port log page
1354*44704f69SBart Van Assche    - add support for log subpages (new in spc4r05)
1355*44704f69SBart Van Assche    - more sanity checks in Start Stop Cycle Counter page
1356*44704f69SBart Van Assche  - sg_cmds: add sg_ll_read_long16()
1357*44704f69SBart Van Assche    - add page_code and subpage_code to sg_ll_log_select()
1358*44704f69SBart Van Assche    - add subpage_code to sg_ll_log_sense()
1359*44704f69SBart Van Assche  - sg_read_long: do READ LONG(16) when '--16' given
1360*44704f69SBart Van Assche  - sg_read: accept and ignore 'of=' arguments
1361*44704f69SBart Van Assche  - sg_dd: expand medium/hardware error "coe' processing to include
1362*44704f69SBart Van Assche    the "blank check" sense key (for optical devices)
1363*44704f69SBart Van Assche  - sg_ses: expand display element (per 05-011r2)
1364*44704f69SBart Van Assche  - sg_format: clear 'cmplst' bit (for MO disks)
1365*44704f69SBart Van Assche    - add '--six' ('-6') option for mode sense/select(6)
1366*44704f69SBart Van Assche  - sg_format + sg_test_rwbuf: fix for when char is unsigned
1367*44704f69SBart Van Assche  - sg_inq: VPD page 0x89: output ATA IDENTIFY DEVICE strings
1368*44704f69SBart Van Assche    - for IDENTIFY (PACKET) DEVICE response use sg_ata_get_chars()
1369*44704f69SBart Van Assche  - sg3_utils.html : new name, was previously u_index.html. Copy
1370*44704f69SBart Van Assche    placed in doc subdirectory
1371*44704f69SBart Van Assche  - tools.html : SCSI and storage tools reference, copy placed in
1372*44704f69SBart Van Assche    doc subdirectory
1373*44704f69SBart Van Assche  - sg3_utils.8 : add a new man page containing general information
1374*44704f69SBart Van Assche    especially common exit status values
1375*44704f69SBart Van Assche  - sg_sat_identify: added to examples directory (SAT passthrough test)
1376*44704f69SBart Van Assche    - extend to pass through IDENTIFY PACKET DEVICE with '-p' option
1377*44704f69SBart Van Assche  - sg_sat_chk_power: added to examples directory
1378*44704f69SBart Van Assche  - sg_sat_smart_rd_data: added to examples directory
1379*44704f69SBart Van Assche  - sg_chk_asc: added to utils directory to check asc_ascq codes
1380*44704f69SBart Van Assche  - debian: stop placing archive directory under examples
1381*44704f69SBart Van Assche    - add build_debian.sh script
1382*44704f69SBart Van Assche
1383*44704f69SBart Van AsscheChangelog for sg3_utils-1.20 [20060418] [svn: 68]
1384*44704f69SBart Van Assche  - sg_logs: decode phy event descriptors in SAS port specific
1385*44704f69SBart Van Assche    log page (sas2r03)
1386*44704f69SBart Van Assche    - new parameter control byte format (spc4r03), subpages to come
1387*44704f69SBart Van Assche  - update Makefile (linux) to install sg_io_linux.h + sg_linux_inc.h
1388*44704f69SBart Van Assche  - sg_map26: fix for block device mapping in lk 2.6.16-rc1 and beyond
1389*44704f69SBart Van Assche    - cope with sysfs removal of 'generic' symlink post lk 2.6.16,
1390*44704f69SBart Van Assche      anticipate removal of 'tape' symlink
1391*44704f69SBart Van Assche  - sg_dd, sgm_dd, sgp_dd: fix problem around 0x7fffffff blocks
1392*44704f69SBart Van Assche  - sg_dd: fix read_long processing error (when 'coe=2' or 3)
1393*44704f69SBart Van Assche    - expand 'coe=' to take 0...3 (invokes read long with 2 or 3)
1394*44704f69SBart Van Assche    - allow for SG_GET_RESERVED_SIZE yielding 0, lk 2.6.16 feature
1395*44704f69SBart Van Assche  - sgp_dd: add 'iflag=' and 'oflag=' arguments; signals (like sg_dd)
1396*44704f69SBart Van Assche  - sgm_dd: add 'iflag=' and 'oflag=' arguments; signals (like sg_dd)
1397*44704f69SBart Van Assche  - sg_get_config: double->dual renaming (mmc5r03)
1398*44704f69SBart Van Assche  - sg_read: add 'dpo=' and 'fua=' options
1399*44704f69SBart Van Assche    - allow 'count' < 0 (or 'bpt=0') for issuing zero block READs
1400*44704f69SBart Van Assche    - allow for SG_GET_RESERVED_SIZE yielding 0, lk 2.6.16 feature
1401*44704f69SBart Van Assche    - add 'no_dxfer=0|1' option
1402*44704f69SBart Van Assche  - sg_modes: fix exit value when MODE SENSE fails
1403*44704f69SBart Van Assche    - add '-e' to examine presence of page codes from 0x0 to 0x3e
1404*44704f69SBart Van Assche  - sg_requests: add '--num=' and '--time' options for timing multiple
1405*44704f69SBart Van Assche    invocations
1406*44704f69SBart Van Assche  - sg_inq: fix vpd 0x83 designator code 8 name: "scsi name string"
1407*44704f69SBart Van Assche  - sg_scan: if lk 2.6, use sysfs to find active sg device nodes
1408*44704f69SBart Van Assche  - sg_map: if lk 2.6, use sysfs to find active sg device nodes
1409*44704f69SBart Van Assche  - sg_ses: expand display element (per 05-011r1)
1410*44704f69SBart Van Assche  - sg_start: add an '-i' option which is equivalent to '--imm=1'
1411*44704f69SBart Van Assche  - sg_senddiag: update man page showing use of two scripts in
1412*44704f69SBart Van Assche    examples directory (sdiag_sas_p0_cjtpat.txt and _p1_)
1413*44704f69SBart Van Assche  - sg_lib: fix sg_get_sense_descriptors_str() case 9 (ATA Return)
1414*44704f69SBart Van Assche
1415*44704f69SBart Van AsscheChangelog for sg3_utils-1.19 [20060127] [svn: 66]
1416*44704f69SBart Van Assche  - sg_start: accept '--' options (e.g. 'sg_start --stop')
1417*44704f69SBart Van Assche    - add '--fl=<n>' option for jump to format layer (mmc5)
1418*44704f69SBart Van Assche  - sg_logs: background scan log page, resync with sbc3r03
1419*44704f69SBart Van Assche    - add '-scum' and '-sthr' for setting defaults
1420*44704f69SBart Van Assche    - add device statistics log page (ssc + adc)
1421*44704f69SBart Van Assche    - fix "last n" deferred errors/error events incrementing
1422*44704f69SBart Van Assche    - partial addition of log subpages (spc4r03)
1423*44704f69SBart Van Assche  - sg_get_config: sync features with mmc5 rev 02b
1424*44704f69SBart Van Assche  - sg_wr_mode: mask out dpofua bit in mode select header
1425*44704f69SBart Van Assche  - sg_inq: try harder with '-A' to identify ATA device
1426*44704f69SBart Van Assche    - broaden meaning of '-d' option to decode ...
1427*44704f69SBart Van Assche    - decode software interface id VPD page ('-p=84 -d')
1428*44704f69SBart Van Assche    - decode device capabilities (ssc) VPD page ('-p=b0 -d')
1429*44704f69SBart Van Assche  - sginfo: correct defect list handling ('-d' and '-G')
1430*44704f69SBart Van Assche  - sg_verify: improve error processing (e.g. medium errors)
1431*44704f69SBart Van Assche  - sg_ses: scsi target_initiator port additional element
1432*44704f69SBart Van Assche     status (ses2r14)
1433*44704f69SBart Van Assche  - many: arguments that currently accept '0x' or '0X' to
1434*44704f69SBart Van Assche     indicate a hex number may alternatively take a trailing
1435*44704f69SBart Van Assche     'h' or 'H' to indicate hex
1436*44704f69SBart Van Assche  - sg_lib: update asc/ascq strings (spc4r03)
1437*44704f69SBart Van Assche  - sg_lib+sg_cmds: make independent of linux via
1438*44704f69SBart Van Assche    sg_pt.h function based interface.
1439*44704f69SBart Van Assche    - linux pass through code placed in sg_pt_linux.c
1440*44704f69SBart Van Assche    - rename sg_include.h to sg_linux_inc.h
1441*44704f69SBart Van Assche    - linux specific code in sg_lib.[hc] moved to
1442*44704f69SBart Van Assche      sg_io_linux.[hc]
1443*44704f69SBart Van Assche  - port to FreeBSD: using sg_pt_freebsd.c
1444*44704f69SBart Van Assche  - port to Tru64: using sg_pt_osf1.c
1445*44704f69SBart Van Assche  - sg_cmds: add sg_ll_get_config(), sg_ll_format_unit(),
1446*44704f69SBart Van Assche     sg_ll_reassign_blocks(), sg_ll_persistent_reserve_in+out(),
1447*44704f69SBart Van Assche     sg_ll_read_long10(), sg_ll_verify10(), sg_ll_write_long10()
1448*44704f69SBart Van Assche  - sg_persist: add "allow commands" to report capabilities
1449*44704f69SBart Van Assche  - sg_persist_tst: (examples) takes device node as argument
1450*44704f69SBart Van Assche  - sg_luns: add "security protocol" wlun
1451*44704f69SBart Van Assche
1452*44704f69SBart Van AsscheChangelog for sg3_utils-1.18 [20051118] [svn:63]
1453*44704f69SBart Van Assche  - sg_map26: new utility to map sg devices in lk 2.6
1454*44704f69SBart Van Assche  - sg_luns: luns > 16,384 (sam-4 rev 4)
1455*44704f69SBart Van Assche  - sg_ses: bump fan speed field to 11 bits
1456*44704f69SBart Van Assche    - SAS connector names (ses2r13)
1457*44704f69SBart Van Assche  - sg_inq: add '-rr' option for "hdparm --Istdin"
1458*44704f69SBart Van Assche  - sg_get_config: tracking mmc-5
1459*44704f69SBart Van Assche  - sg_write_long: add support for COR_DIS bit
1460*44704f69SBart Van Assche  - sg_cmds: add sg_ll_test_unit_ready_progress()
1461*44704f69SBart Van Assche  - sg_turs: '-p' option shows progress
1462*44704f69SBart Van Assche  - sg_dd: add 'iflag=' and 'oflag=' options
1463*44704f69SBart Van Assche    - remove output of mode page info when verbose > 0
1464*44704f69SBart Van Assche    - add control of DPO bit via iflag/oflag
1465*44704f69SBart Van Assche  - sg_lib: add sg_get_pdt_str()
1466*44704f69SBart Van Assche    - update asc/ascq strings
1467*44704f69SBart Van Assche  - sg_modes + sginfo: add SAS(2) SSP shared mode subpage
1468*44704f69SBart Van Assche  - doc: rename "html" directory to "doc"
1469*44704f69SBart Van Assche  - Makefile: add 'libtool --finish' to install
1470*44704f69SBart Van Assche
1471*44704f69SBart Van AsscheChangelog for sg3_utils-1.17 [20050922] [svn: 60]
1472*44704f69SBart Van Assche  - sg_inq: add '-a' option for ATA information VPD page
1473*44704f69SBart Van Assche    - add '-b' option for Block limits VPD page (SBC)
1474*44704f69SBart Van Assche    - add '-A' option for probing ATA or ATAPI device
1475*44704f69SBart Van Assche    - increase raw ('-r') and verbose ('-v') output for
1476*44704f69SBart Van Assche      ATA(PI) devices to 512 bytes (was 256 bytes)
1477*44704f69SBart Van Assche    - output hex ('-H') and verbose response for ATA(PI)
1478*44704f69SBart Van Assche      devices in 16 bit words (corrected for endianness)
1479*44704f69SBart Van Assche      - output bytes if '-HH' option given
1480*44704f69SBart Van Assche    - sync with spc4 rev 02
1481*44704f69SBart Van Assche  - sg_lib: add dWordHex() and sg_is_big_endian()
1482*44704f69SBart Van Assche    - sync asc/ascq with spc4 rev 02
1483*44704f69SBart Van Assche  - sg_cmds: defensive prefill for inquiry commands
1484*44704f69SBart Van Assche  - sg_opcodes: sync with spc4 rev 02 (add tmf I_T nexus reset)
1485*44704f69SBart Van Assche  - sginfo: add EBACKERR in Informational exception mode page
1486*44704f69SBart Van Assche    - add Background control mode page (SBC-3)
1487*44704f69SBart Van Assche  - sgm_dd: add 'verbose=<n>' option
1488*44704f69SBart Van Assche
1489*44704f69SBart Van AsscheChangelog for sg3_utils-1.16 [20050810] [svn: 58]
1490*44704f69SBart Van Assche  - sg_ident: new utility to report+set device identifier
1491*44704f69SBart Van Assche  - sg_map: increase MAX_SG_DEVS from 256 to 2048
1492*44704f69SBart Van Assche  - debian: new directory to support deb package builds
1493*44704f69SBart Van Assche  - sg_get_config: add '--current' option, same as '--rt=1'
1494*44704f69SBart Van Assche    - update for DVD+RW Dual Layer
1495*44704f69SBart Van Assche  - sg_inq: add notes in source about use of SCSI INQUIRY
1496*44704f69SBart Van Assche     - decode Management network addresses VPD page ('-m')
1497*44704f69SBart Van Assche     - decode Mode page policy VPD page ('-M')
1498*44704f69SBart Van Assche  - sginfo: increase device mapping capability (> 78 disks)
1499*44704f69SBart Van Assche     - add '-r' option to scan /dev/raw* device nodes [Tim Hunt]
1500*44704f69SBart Van Assche  - sg_dd: change bpt default value to 32 when bs >= 2048 bytes
1501*44704f69SBart Van Assche  - sg_ses: mention SAF-TE in man page
1502*44704f69SBart Van Assche  - sg_readcap: add '-b' option for brief output (2 hex numbers)
1503*44704f69SBart Van Assche  - sg_cmds: add sg_ll_start_stop_unit(), sg_ll_prevent_allow(),
1504*44704f69SBart Van Assche      sg_ll_report_dev_id() and sg_ll_set_dev_id()
1505*44704f69SBart Van Assche  - sg_lib: add extra argument to sense print functions to enable
1506*44704f69SBart Van Assche      the suppression of the raw output of the sense buffer
1507*44704f69SBart Van Assche      - resid > 0 warnings now includes number actually fetched
1508*44704f69SBart Van Assche  - sg_start: add '-load' and '-eject' options
1509*44704f69SBart Van Assche    - default to start action when no other indication given
1510*44704f69SBart Van Assche    - change -imm=0|1 option default to 0 (was 1)
1511*44704f69SBart Van Assche  - gcc 4.0: cleanup warnings (apart from sgp_dd: revisit later)
1512*44704f69SBart Van Assche
1513*44704f69SBart Van AsscheChangelog for sg3_utils-1.15 [20050605] [svn: 56]
1514*44704f69SBart Van Assche  - sg_cmds: sg_get_mode_page_controls(): improve error processing,
1515*44704f69SBart Van Assche     add double fetch
1516*44704f69SBart Van Assche  - sg_turs, sg_rbuf, sg_requests, sg_test_rwbuf, sg_format,
1517*44704f69SBart Van Assche    sg_dd and sgm_dd: add O_NONBLOCK to open()
1518*44704f69SBart Van Assche  - sgm_dd: switch to use SG_IO ioctl (that leaves only
1519*44704f69SBart Van Assche     sgp_dd using the asynchronous sg write()/read() sequence)
1520*44704f69SBart Van Assche  - sg_ses: sync with rev 12 changes
1521*44704f69SBart Van Assche  - sg_map: extend to cope with sparse disk device names with
1522*44704f69SBart Van Assche     up to 3 letters (e.g. /dev/sdaaa) [Nate Dailey]
1523*44704f69SBart Van Assche  - sg_modes: add '-f' option to flexibly decode broken mode
1524*44704f69SBart Van Assche     sense responses.
1525*44704f69SBart Van Assche     - zero prefill response; stop decoding response after 3
1526*44704f69SBart Van Assche       unit attention mode pages seen (i.e. malformed)
1527*44704f69SBart Van Assche     - add '-L' option for LLBAA bit in msense 10 cdb
1528*44704f69SBart Van Assche  - sg_reset: update man page
1529*44704f69SBart Van Assche  - sg_inq: VPD page 0x83: output eui addresses in hex as well
1530*44704f69SBart Van Assche  - Makefile: fix bug in rules for sgp_dd (when 'make dep' used)
1531*44704f69SBart Van Assche  - sg_format: expand explanations in its man page
1532*44704f69SBart Van Assche  - sg_inq, sg_logs, sg_modes, sg_opcodes, sg_rbuf, sg_readcap,
1533*44704f69SBart Van Assche    sg_scan, sg_senddiag, sg_start and sg_turs: allow command
1534*44704f69SBart Van Assche    line to take concaternated options
1535*44704f69SBart Van Assche  - sg_start: add -start and -stop to parallel "1" and "0"
1536*44704f69SBart Van Assche  - sg_senddiag: set pf bit with '-l' option
1537*44704f69SBart Van Assche
1538*44704f69SBart Van AsscheChangelog for sg3_utils-1.14 [20050506] [svn: 54]
1539*44704f69SBart Van Assche  - sg_rmsn: new utility to read media serial number
1540*44704f69SBart Van Assche  - sg_rtpg: add T_SUP bit report
1541*44704f69SBart Van Assche  - sg_ses: ses-2 rev 11 changes (mainly to additional element status)
1542*44704f69SBart Van Assche        - add 'bay number' to SAS additional element status
1543*44704f69SBart Van Assche  - sg_modes: recognise attached enclosure and medium changer
1544*44704f69SBart Van Assche  - sg_inq: spell out non-zero peripheral qualifiers
1545*44704f69SBart Van Assche        - note VS bit preceding MultiP(ort) when latter set
1546*44704f69SBart Van Assche        - VPD page 0x83: output naa addresses in hex as well
1547*44704f69SBart Van Assche  - sginfo: recognise attached enclosure and medium changer
1548*44704f69SBart Van Assche        - increase device mapping capability (to 78 disks)
1549*44704f69SBart Van Assche          [Tim Hunt]
1550*44704f69SBart Van Assche  - sg_senddiag: add option to send raw diagnostic page
1551*44704f69SBart Van Assche  - sg_get_config: update some BD information
1552*44704f69SBart Van Assche  - sg_reasign: add '-g' option to give grown defect list length
1553*44704f69SBart Van Assche  - sg_dd: note default bpt value (128) may be too high for cd/dvds
1554*44704f69SBart Van Assche  - sg_lib: sync with SPC-3 rev 22a [opcodes + asc/q]
1555*44704f69SBart Van Assche        - add DID_IMM_RETRY and DID_REQUEUE [linux specific "host" bytes]
1556*44704f69SBart Van Assche  - sg_cmds: add send+receive diagnostic, read defect data commands
1557*44704f69SBart Van Assche        - add duration output on some commands when verbose > 2
1558*44704f69SBart Van Assche  - spec: change to produce libsgutils (and -devel variant) as well as
1559*44704f69SBart Van Assche          sg3_utils binary rpms
1560*44704f69SBart Van Assche  - sdparm: new utility like hdparm but for SCSI disks (or other devices)
1561*44704f69SBart Van Assche        - moved to its own package called: sdparm
1562*44704f69SBart Van Assche
1563*44704f69SBart Van AsscheChangelog for sg3_utils-1.13 [20050313] [svn: 52]
1564*44704f69SBart Van Assche  - sg_format: new utility to format disks (perhaps change block size)
1565*44704f69SBart Van Assche  - sg_ses: rename "device element" to "additional element" [SES-2 rev 10]
1566*44704f69SBart Van Assche        - add SAS expander and connector elements; add download
1567*44704f69SBart Van Assche          microcode and subenclosure nickname diagnostic pages
1568*44704f69SBart Van Assche        - fix additional element descriptor for SAS
1569*44704f69SBart Van Assche        - off by 1 error when no type descriptor text in config page
1570*44704f69SBart Van Assche          <David dot Baldwin at anu dot edu dot au>
1571*44704f69SBart Van Assche  - sg_logs: log page for background media scan results
1572*44704f69SBart Van Assche  - sginfo: add "-flba64" option for outputting 64 bit lba defect lists
1573*44704f69SBart Van Assche  - sg_get_config: additions for BD from MMC-5 rev 1b
1574*44704f69SBart Van Assche  - sg_lib: add SG_LIB_CAT_ILLEGAL_REQ sense category
1575*44704f69SBart Van Assche        - add sg_get_sense_progress_fld()
1576*44704f69SBart Van Assche        - SPC-3 rev21d updates: report + set timestamp
1577*44704f69SBart Van Assche        - sg_get_num() + sg_get_llnum(): switch to multipliers that
1578*44704f69SBart Van Assche          are compatible with SI and with IEC 60027-2. Used modern
1579*44704f69SBart Van Assche          GNU's dd command as guide.
1580*44704f69SBart Van Assche        - report field replaceable unit code in fixed format
1581*44704f69SBart Van Assche  - sg_dd: add logic to use read_long on unrecovered read errors when
1582*44704f69SBart Van Assche           'coe' set, read just prior to error if 'coe' clear
1583*44704f69SBart Van Assche        - both 'odir' and 'blk_sgio" are honoured on block devices
1584*44704f69SBart Van Assche        - add 'verbose' switch, output some mode page info when verbose
1585*44704f69SBart Van Assche        - print out elapsed time/throughput when signal received
1586*44704f69SBart Van Assche        - add new web page discussing sg_dd, copy in html subdirectory
1587*44704f69SBart Van Assche  - sg_read: add 'blk_sgio' and 'odir' options
1588*44704f69SBart Van Assche  - sg_wr_mode: clear mode data length in mode select(10)
1589*44704f69SBart Van Assche  - sg_test_rwbuf: add long options, allow test to run multiple times
1590*44704f69SBart Van Assche  - sg_cmds: add sg_get_mode_page_types() [get current, changeable, etc]
1591*44704f69SBart Van Assche  - llseek.c: add Makefile rule without "-std=c99", breaks on some archs
1592*44704f69SBart Van Assche
1593*44704f69SBart Van AsscheChangelog for sg3_utils-1.12 [20050121] [svn: 50]
1594*44704f69SBart Van Assche  - sg_wr_mode: new utility to modify (i.e. write to) mode pages
1595*44704f69SBart Van Assche  - sg_reassign: new utility: issues Reassign Blocks command
1596*44704f69SBart Van Assche  - sg_rtpg: new utility: issues Report Target Port Groups command
1597*44704f69SBart Van Assche             [Christophe Varoqui]
1598*44704f69SBart Van Assche  - ATA IDENTIFY command misspelt as "IDENTITY" in several places
1599*44704f69SBart Van Assche  - sginfo: tweak SAS mode pages to match sas 1.1 rev 07
1600*44704f69SBart Van Assche        - add NV_DIS bit to disk caching mode page
1601*44704f69SBart Van Assche  - sg_map: open /dev/nst* rather than /dev/st* (to stop spurious rewinds)
1602*44704f69SBart Van Assche  - sg_lib: ATA return sense descriptor
1603*44704f69SBart Van Assche        - add sg_get_sense_info_fld() to fetch info field from sense data
1604*44704f69SBart Van Assche        - fix bug in sg_scsi_sense_desc_find()
1605*44704f69SBart Van Assche        - add sense key specific decoding for fixed format sense data
1606*44704f69SBart Van Assche  - sg_modes: extend '-p' option to allow '-p=<page_code>,<subpage_code>'
1607*44704f69SBart Van Assche        - add '-A' option to output all mode pages and subpages
1608*44704f69SBart Van Assche        - extend '-l' option to show subpages, selected command set pages
1609*44704f69SBart Van Assche  - sg_inq: fix LUN WWN output in unit path report VPD page (emc)
1610*44704f69SBart Van Assche            [Hergen Lange]
1611*44704f69SBart Van Assche  - sg_get_config: some additions for DVD-R dual layer
1612*44704f69SBart Van Assche  - sg_modes: show write protect (WP) and DpoFua flags for disks
1613*44704f69SBart Van Assche  - sg_cmds: add llbaa argument to sg_ll_mode_sense10()
1614*44704f69SBart Van Assche
1615*44704f69SBart Van AsscheChangelog for sg3_utils-1.11 [20041126] [svn: 48]
1616*44704f69SBart Van Assche  - sg_sync: new utility: invokes the synchronize cache command
1617*44704f69SBart Van Assche  - sg_prevent: new utility: invokes the prevent allow medium removal command
1618*44704f69SBart Van Assche  - sg_get_config: new utility: get configuration command for dvds and cds
1619*44704f69SBart Van Assche  - sg_request: fix, allocation length wasn't set
1620*44704f69SBart Van Assche  - sg_start: remove '-s', as start_stop_unit implicitly syncs caches
1621*44704f69SBart Van Assche  - sg_ses: add SAS expander element type
1622*44704f69SBart Van Assche  - sg_inq: add sanity check to unit serial number (VPD page 0x80)
1623*44704f69SBart Van Assche        - output ANSI version string (e.g. "SPC-2", previously was number)
1624*44704f69SBart Van Assche        - add '-s' option to decode SCSI Ports VPD page
1625*44704f69SBart Van Assche  - sg_logs: decoding of format status and non-volatile cache log
1626*44704f69SBart Van Assche        pages (0x8 and 0x17 in sbc-2)
1627*44704f69SBart Van Assche  - sg_dd: handle compile error when O_DIRECT not defined
1628*44704f69SBart Van Assche  - sginfo: tighten sanity checks around Unit serial number VPD page
1629*44704f69SBart Van Assche
1630*44704f69SBart Van AsscheChangelog for sg3_utils-1.10 [20041030] [svn: 46]
1631*44704f69SBart Van Assche  - sg_readcap, sg_dd, sgm_dd, sgp_dd: fix sg_ll_readcap_10+16 (sg_cmds.c)
1632*44704f69SBart Van Assche  - sg_luns: new utility to report luns
1633*44704f69SBart Van Assche  - sg_logs: with '-t' (show temperature) ignore extra parameters in
1634*44704f69SBart Van Assche        temperature log page (still show them with '-p=d')
1635*44704f69SBart Van Assche  - sg_ses: clean argument sanity checks
1636*44704f69SBart Van Assche  - sg_cmds: add more common command wrappers
1637*44704f69SBart Van Assche
1638*44704f69SBart Van AsscheChangelog for sg3_utils-1.09 [20041022] [svn: 44]
1639*44704f69SBart Van Assche  - sg_ses: new utility to get status and set control on SES devices
1640*44704f69SBart Van Assche  - sg_verify: new utility to verify block devices
1641*44704f69SBart Van Assche  - sg_emc_trespass: new utility for EMC specific trespass mode page
1642*44704f69SBart Van Assche  - sg_request: new utility that sends a REQUEST SENSE command
1643*44704f69SBart Van Assche  - sg_logs: '-r' to reset to manufacturer's defaults
1644*44704f69SBart Van Assche      - decode last n error events and last n deferred errors pages
1645*44704f69SBart Van Assche      - add names of ADC log pages
1646*44704f69SBart Van Assche  - sg_inq: update to SPC-3 rev 21
1647*44704f69SBart Van Assche      - decode Extended INQUIRY data VPD page [0x86] {'-x'}
1648*44704f69SBart Van Assche      - decode Unit Path Report VPD page [0xc0] (EMC) {'-P'}
1649*44704f69SBart Van Assche  - sginfo: decode SAS protocol specific lu mode page
1650*44704f69SBart Van Assche  - sg_err: convert to sg_lib + update to SPC-3 rev 21
1651*44704f69SBart Van Assche      - change GPL to FreeBSD license
1652*44704f69SBart Van Assche      - flag vendor specific asc/ascq ranges
1653*44704f69SBart Van Assche  - libsgutils: library made from sg_lib.c and sg_cmds.c
1654*44704f69SBart Van Assche    - rpm "spec" file additionally builds a "-devel" rpm with
1655*44704f69SBart Van Assche      static libsgutils.a and sg_lib.h and sg_cmds.h
1656*44704f69SBart Van Assche  - utils/hxascdmp.c: add FreeBSD license
1657*44704f69SBart Van Assche  - sg_persist: additions to man page
1658*44704f69SBart Van Assche      - add sg_persist_tst.sh example script to examples directory
1659*44704f69SBart Van Assche  - sg_turs: add '-v' and '-V' options
1660*44704f69SBart Van Assche  - sg_senddiag: add '-v' option
1661*44704f69SBart Van Assche
1662*44704f69SBart Van AsscheChangelog for sg3_utils-1.08 [20040831] [svn: 42]
1663*44704f69SBart Van Assche  - sg_inq: fix noisy message when EVPD and raw modes set
1664*44704f69SBart Van Assche      - for VPD page 0, list supported page names if known {'-e'}
1665*44704f69SBart Van Assche      - add '-d' option to list version descriptors
1666*44704f69SBart Van Assche  - sg_opcodes: numerically sort list of opcodes unless '-u' given
1667*44704f69SBart Van Assche      - add '-a' to sort alphabetically list of opcode names
1668*44704f69SBart Van Assche      - add '-t' to report supported task management functions
1669*44704f69SBart Van Assche  - sg_persist: add 'register and move" PROUT service action
1670*44704f69SBart Van Assche      - add transportId support, document in sg_persist.8 and example
1671*44704f69SBart Van Assche  - sg_modes: handle subpage code for known pages (e.g. control extension)
1672*44704f69SBart Van Assche      - clean up sense buffer handling (allow for descriptor format)
1673*44704f69SBart Van Assche      - SPC-3 draft revision 20a updates
1674*44704f69SBart Van Assche  - sg_write_long: new utility to exercise WRITE LONG command
1675*44704f69SBart Van Assche  - sg_read_long: new utility to exercise READ LONG command
1676*44704f69SBart Van Assche  - sg_err.c: fix compile errors when SG_KERNEL_INCLUDES defined in lk 2.6
1677*44704f69SBart Van Assche      - sg_includes.h typedef of u64 for BLKGETSIZE64 ioctl in lk 2.4
1678*44704f69SBart Van Assche      - add safe_strerror(), sg_scsi_normalize_sense(), sg_normalize_sense()
1679*44704f69SBart Van Assche        and sg_scsi_sense_desc_find() functions
1680*44704f69SBart Van Assche      - add more sense data descriptor format decoding
1681*44704f69SBart Van Assche      - move multiple implementations of dStrHex() into sg_err.c
1682*44704f69SBart Van Assche  - sg_logs: exit if SCSI INQUIRY fails (e.g. when applied to ATA disk)
1683*44704f69SBart Van Assche  - sginfo: bug fixes and SPC-3 revision 20a updates
1684*44704f69SBart Van Assche      - add '-E' option to access Control Extension mode (sub)page
1685*44704f69SBart Van Assche  - sg_start: change '-d' switch to '-v' (verbose) switch for consistency
1686*44704f69SBart Van Assche      - document extra power condition states in man page
1687*44704f69SBart Van Assche  - sg_readcap: output rto_en and prot_en bits from long read capacity data
1688*44704f69SBart Van Assche  - add COVERAGE file to list SCSI command coverage
1689*44704f69SBart Van Assche
1690*44704f69SBart Van AsscheChangelog for sg3_utils-1.07 [20040708] [svn: 40]
1691*44704f69SBart Van Assche  - sginfo: clean up inquiry vendor,product,revision strings
1692*44704f69SBart Van Assche      - '-Fhead': sort defect list by head
1693*44704f69SBart Van Assche        Tom Steudten <steudten at mx dot ch>
1694*44704f69SBart Van Assche  - rework sg_err for better command name coverage: service actions,
1695*44704f69SBart Van Assche    variable length and peripheral device type
1696*44704f69SBart Van Assche      - update asc,ascq codes to SPC-3 revision 19
1697*44704f69SBart Van Assche  - move scsi_devfs_scan to archive directory
1698*44704f69SBart Van Assche  - add sg_opcodes utility to list supported operation codes
1699*44704f69SBart Van Assche  - add sg_persist utility to support persistent reservations
1700*44704f69SBart Van Assche  - add '-i' option to sg_inq to decode device identification VPD page (0x83)
1701*44704f69SBart Van Assche  - sg_inq tries an ATA IDENTIFY if SCSI INQUIRY fails
1702*44704f69SBart Van Assche  - sg_dd, sgm_dd and sgp_dd calculate block device sizes (if count not given)
1703*44704f69SBart Van Assche  - drop SG_GET_VERSION_NUM ioctl guard in most utilities
1704*44704f69SBart Van Assche
1705*44704f69SBart Van AsscheChangelog for sg3_utils-1.06 [20040426] [svn: 37]
1706*44704f69SBart Van Assche  - sg_logs: some HBAs don't like odd transfer lengths so increment
1707*44704f69SBart Van Assche      - do INQUIRY and output product strings
1708*44704f69SBart Van Assche      - add ASCII rendering of the Protocol specific SAS page
1709*44704f69SBart Van Assche      - add '-v' verbose option to output cdb
1710*44704f69SBart Van Assche  - sg_scan: optionally take device file names (e.g. /dev/hdc and /dev/sda)
1711*44704f69SBart Van Assche      - only request 36 byte INQUIRY responses
1712*44704f69SBart Van Assche  - sg_err: add sg_decode_sense() function
1713*44704f69SBart Van Assche  - sg_inq: update output (ref: SPC-3 t10/1416-d rev 17, 28 January 2004)
1714*44704f69SBart Van Assche      - remove '-p' option to print out PCI address of host
1715*44704f69SBart Van Assche      - add '-v' verbose option to output cdb
1716*44704f69SBart Van Assche  - sginfo: allow '-u' to take hex arguments (prefixed by '0x'),
1717*44704f69SBart Van Assche            when subpage value is 255 show multiple subpages
1718*44704f69SBart Van Assche      - accept /dev/hd? ATAPI devices directly in lk 2.6
1719*44704f69SBart Van Assche      - add '-t <pn>[,<spn>]' argument; like '-u' but decodes page
1720*44704f69SBart Van Assche        if it recognizes it
1721*44704f69SBart Van Assche      - drop '-L' argument
1722*44704f69SBart Van Assche      - add cd/dvd, tape, SES, more disk and more SPC-3 decoded mode pages
1723*44704f69SBart Van Assche      - add transport protocol decoded mode pages for SPI-4, FCP and SAS
1724*44704f69SBart Van Assche  - sg_modes: print all subpages when '-subp=ff' is selected
1725*44704f69SBart Van Assche      - do INQUIRY and output product strings
1726*44704f69SBart Van Assche      - add '-v' verbose option to output cdb
1727*44704f69SBart Van Assche  - Makefile: add -W compile flag and fix exposed warnings
1728*44704f69SBart Van Assche  - .spec file: change to build on Mandrake without errors
1729*44704f69SBart Van Assche
1730*44704f69SBart Van AsscheChangelog for sg3_utils-1.05 [20031112] [svn: 35]
1731*44704f69SBart Van Assche  - sginfo: major rework; add IE page, clean up control, cache +
1732*44704f69SBart Van Assche        disconnect pages (as per SPC-3 and SBC-2).
1733*44704f69SBart Van Assche      - when storing, update saved page (change from previous version)
1734*44704f69SBart Van Assche      - use 10 byte mode sense and select by default (override with '-6')
1735*44704f69SBart Van Assche      - mode subpage support
1736*44704f69SBart Van Assche  - sg_dd, sgm_dd + sgp_dd:
1737*44704f69SBart Van Assche      - 64 bit capable (read capacity; count, skip and seek values).
1738*44704f69SBart Van Assche      - numerical arguments accept hex (prefixed by '0x' or '0X')
1739*44704f69SBart Van Assche      - require bpt > 0
1740*44704f69SBart Van Assche      - fix problem when reading /dev/null
1741*44704f69SBart Van Assche  - sg_dd: Treat SIGUSR1 properly: print stats and continue;
1742*44704f69SBart Van Assche  - sgp_dd: reduce READ CAPACITY response size to 8 bytes
1743*44704f69SBart Van Assche  - sg_read: require bpt > 0
1744*44704f69SBart Van Assche  - sg_test_rwbuf: switch from sg_header to sg_io_hdr interface
1745*44704f69SBart Van Assche    N.B. After these changes no sg3_utils utilities (in the main directory)
1746*44704f69SBart Van Assche    use the sg_header interface
1747*44704f69SBart Van Assche  - sg_scan: switch from sg_header to sg_io_hdr interface
1748*44704f69SBart Van Assche  - sg_senddiag: increase extended foreground timeout to 60 minutes
1749*44704f69SBart Van Assche  - sg_inq: add names of peripheral device types
1750*44704f69SBart Van Assche  - sg_readcap: show total size in bytes, MB, GB
1751*44704f69SBart Van Assche  - sg_logs: read log pages twice (first time to get response length), for
1752*44704f69SBart Van Assche    fragile HBAs; decode Seagate 0x37 + 0x3e pages; display pcbs
1753*44704f69SBart Van Assche  - sg_modes: fix core dump when corrupted response, don't print extra pages
1754*44704f69SBart Van Assche  - sg_map: increase sg device scanning from 128 to 256
1755*44704f69SBart Van Assche  - change man page references from lk 2.5 to lk 2.6
1756*44704f69SBart Van Assche  - examples/sg_iovec_tst: added testing sg_iovec (sg_io_hdr iovec's)
1757*44704f69SBart Van Assche    [retrospective addition to this log: "#define __user" added into
1758*44704f69SBart Van Assche     sg_include.h so user space programs aren't broken if they choose
1759*44704f69SBart Van Assche     to include kernel header.]
1760*44704f69SBart Van Assche  - utils/hxascdmp: add utility for displaying ASCII hex
1761*44704f69SBart Van Assche
1762*44704f69SBart Van AsscheChangelog for sg3_utils-1.04 [20030513] [svn: 33]
1763*44704f69SBart Van Assche  - all remaining utilities in the main directory have man pages [thanks
1764*44704f69SBart Van Assche    to Eric Schwartz <emschwar at debian dot org> for 7 man pages]
1765*44704f69SBart Van Assche  - add CREDITS file
1766*44704f69SBart Van Assche  - sg_simple1, sg_simple2, sg_simple3, sg_simple4, sg_simple16 and
1767*44704f69SBart Van Assche    scsi_inquiry: moved to the examples directory
1768*44704f69SBart Van Assche  - sg_debug: moved to the archive directory
1769*44704f69SBart Van Assche  - sg_modes: add '-subp=<n>' for sub page code, suggests 6/10 byte
1770*44704f69SBart Van Assche    alternative if bad opcode sense received, flip -cpf flag to -pf,
1771*44704f69SBart Van Assche    add page names for most peripheral types
1772*44704f69SBart Van Assche  - sg_turs: default '-n=' argument to 1, only when '-n=1' print error
1773*44704f69SBart Van Assche    message in full
1774*44704f69SBart Van Assche  - sg_logs: print temperature "<not available>" for 255, '-t' switch
1775*44704f69SBart Van Assche    for temperature (from either temperature or IE log page)
1776*44704f69SBart Van Assche  - sg_dd: add '-odir=0|1' switch for O_DIRECT on block devices
1777*44704f69SBart Van Assche  - sg_start: add '-imm', '-loej' and 'pc=<n>' switches plus man page
1778*44704f69SBart Van Assche  - sg_readcap: add '-pmi' and 'lba=<n>' switches
1779*44704f69SBart Van Assche  - open files O_NONBLOCK in sg_inq, sg_modes and sg_logs so they
1780*44704f69SBart Van Assche    can be used on cd/dvd drivers when there is no disk present
1781*44704f69SBart Van Assche
1782*44704f69SBart Van AsscheChangelog for sg3_utils-1.03 [20030402] [svn: 30]
1783*44704f69SBart Van Assche  - sg_senddiag: added, allows self tests and listing of diag pages
1784*44704f69SBart Van Assche  - sg_start: changed to use SG_IO so works on block devices
1785*44704f69SBart Van Assche  - sg_err: print out some "sense key specific" data [Trent Piepho]
1786*44704f69SBart Van Assche  - sg_modes: add "-6" switch for force 6 byte MODE SENSE [Trent Piepho]
1787*44704f69SBart Van Assche  - sg_modes: more information on page codes and controls
1788*44704f69SBart Van Assche  - sg_inq, sg_modes, sg_logs, sg_senddiag: add man pages
1789*44704f69SBart Van Assche  - sg_dd: add "append=0|1" switch for glueing together large files
1790*44704f69SBart Van Assche  - note in README about utilities offered by scsirastools package
1791*44704f69SBart Van Assche
1792*44704f69SBart Van AsscheChangelog for sg3_utils-1.02 [20030101] [svn: 28]
1793*44704f69SBart Van Assche  - sg_inq: check if cmddt or evpd bits ignored
1794*44704f69SBart Van Assche  - sg_inq: warn -o=<n> not used for standard INQUIRY
1795*44704f69SBart Van Assche  - sg_turs: add -t option to time Test Unit Ready commands
1796*44704f69SBart Van Assche  - sg_errs: (used by most utilities) warn if sense buffer empty
1797*44704f69SBart Van Assche  - sg_modes: make safe with block SG_IO (bypass SG_GET_SCSI_ID ioctl)
1798*44704f69SBart Van Assche  - sg_logs: make safe with block SG_IO, self-test page work
1799*44704f69SBart Van Assche  - sg_dd: add "blksg_io=" switch to experiment with block SG_IO
1800*44704f69SBart Van Assche  - sg_read: now use SG_IO ioctl rather than sg write/read
1801*44704f69SBart Van Assche  - sginfo: fix writing parameters, check for block devices that answer
1802*44704f69SBart Van Assche    sg's ioctls, recognize "scd<n>" device names
1803*44704f69SBart Van Assche  - sg_map: stop close error report on tape devices
1804*44704f69SBart Van Assche  - sg_readcap: make safe with block SG_IO
1805*44704f69SBart Van Assche  - sg_start: make safe with block SG_IO
1806*44704f69SBart Van Assche  - sg_test_rwbuf: make safe with block SG_IO
1807*44704f69SBart Van Assche
1808*44704f69SBart Van AsscheChangelog for sg3_utils-1.01 [20020814] [svn: 27]
1809*44704f69SBart Van Assche----------------------------
1810*44704f69SBart Van Assche  - add raw switch ("-r") to sg_inq [Martin Schwenke]
1811*44704f69SBart Van Assche
1812*44704f69SBart Van AsscheChangelog for sg3_utils-1.00 [20020728] [svn: 26]
1813*44704f69SBart Van Assche----------------------------
1814*44704f69SBart Van Assche  - update sg_err [to SPC-3 T10/1416-D Rev 07 3 May 2002]
1815*44704f69SBart Van Assche  - "sg_inq -cl" now outputs opcode names
1816*44704f69SBart Van Assche  - add "continue on error" option to sg_dd
1817*44704f69SBart Van Assche  - add _LARGEFILE64_SOURCE _FILE_OFFSET_BITS=64 defines to Makefile
1818*44704f69SBart Van Assche  - drop 'gen' argument from sg_dd and friends, allow any file types
1819*44704f69SBart Van Assche    except scsi tape device file names
1820*44704f69SBart Van Assche  - treat of=/dev/null as special (skip write). Accept of=. as alias
1821*44704f69SBart Van Assche    for of=/dev/null
1822*44704f69SBart Van Assche  - decode various log pages in sg_logs
1823*44704f69SBart Van Assche  - add 'dio' argument to sgm_dd for testing "zero copy" copies
1824*44704f69SBart Van Assche
1825*44704f69SBart Van AsscheChangelog for sg3_utils-0.99 [20020317]
1826*44704f69SBart Van Assche----------------------------
1827*44704f69SBart Van Assche  - add 'fua' and 'sync' arguments to sg_dd, sgp_dd and sgm_dd
1828*44704f69SBart Van Assche  - improve sg_inq, add "-cl" and "-36" arguments
1829*44704f69SBart Van Assche  - add sg_modes + sg_logs for MODE SENSE and LOG SENSE queries
1830*44704f69SBart Van Assche  - add rescan-scsi-bus.sh [Kurt Garloff] to archive directory
1831*44704f69SBart Van Assche
1832*44704f69SBart Van AsscheChangelog for sg3_utils-0.98 [20020216]
1833*44704f69SBart Van Assche----------------------------
1834*44704f69SBart Van Assche  - move sg_reset back from archive to main directory + build
1835*44704f69SBart Van Assche  - sprintf() to snprintf() changes
1836*44704f69SBart Van Assche  - add "time=<n>" argument to sg_dd, sgp_dd and sgm_dd to time transfer
1837*44704f69SBart Van Assche  - add man pages for sgm_dd and sg_read, update sg_dd and sgp_dd man pages
1838*44704f69SBart Van Assche  - add "cdbsz=" argument to sg_dd, sgp_dd, sgm_dd + sg_read
1839*44704f69SBart Van Assche  - add "gen=0|1" argument to sg_dd
1840*44704f69SBart Van Assche
1841*44704f69SBart Van AsscheChangelog for sg3_utils-0.97 [20011223]
1842*44704f69SBart Van Assche----------------------------
1843*44704f69SBart Van Assche  - move isosize to archive since introduced into util-linux-2.10s
1844*44704f69SBart Van Assche
1845*44704f69SBart Van AsscheChangelog for sg3_utils-0.96 [20011221]
1846*44704f69SBart Van Assche----------------------------
1847*44704f69SBart Van Assche  - add '-p' switch to sg_inq to provide PCI slot_name
1848*44704f69SBart Van Assche  - add '-n' switch to scsi_inquiry for non-blocking open
1849*44704f69SBart Van Assche  - new sgm_dd (dd variant) using mmap-ed IO
1850*44704f69SBart Van Assche  - sg_rbuf now has a '-m' argument to select mmap-ed IO
1851*44704f69SBart Van Assche  - sg_rbuf now has a '-t' switch to do timing + throughput calculation
1852*44704f69SBart Van Assche  - add sg_simple4 to demonstrate mmap-ed IO on an INQUIRY response
1853*44704f69SBart Van Assche  - add sg_simple16 to do a READ_16 (16 byte SCSI READ command)
1854*44704f69SBart Van Assche  - mmap-ed IO requires sg version 3.1.22 or later
1855*44704f69SBart Van Assche  - add sg_read to read multiple times starting at same offset
1856*44704f69SBart Van Assche
1857*44704f69SBart Van AsscheChangelog for sg3_utils-0.95 [20010915]
1858*44704f69SBart Van Assche----------------------------
1859*44704f69SBart Van Assche  - make sg_dd, sgp_dd and archive/sgq_dd warn if dio selected but
1860*44704f69SBart Van Assche    /sys/module/sg/parameters/allow_dio is '0'
1861*44704f69SBart Van Assche  - sg_map can now do any INQUIRY (when '-i' argument given)
1862*44704f69SBart Van Assche  - expand example in scsi_inquiry
1863*44704f69SBart Van Assche
1864*44704f69SBart Van AsscheChangelog for sg3_utils-0.94 [20010419]
1865*44704f69SBart Van Assche----------------------------
1866*44704f69SBart Van Assche  - add sg_start, documented in README.sg_start [Kurt Garloff]
1867*44704f69SBart Van Assche  - add osst support in sg_map [Kurt Garloff]
1868*44704f69SBart Van Assche  - improvements to sginfo [Kurt Garloff]
1869*44704f69SBart Van Assche
1870*44704f69SBart Van AsscheChangelog for sg3_utils-0.93 [20010415]
1871*44704f69SBart Van Assche----------------------------
1872*44704f69SBart Van Assche  - more include file fine tuning
1873*44704f69SBart Van Assche  - some "dio" work sg_rbuf
1874*44704f69SBart Van Assche  - extend sgp_dd so "continue on error" works on normal files
1875*44704f69SBart Van Assche  - introduce sg_include.h to encapsulate sg include problems
1876*44704f69SBart Van Assche  - add scsi_devfs_scan
1877*44704f69SBart Van Assche  - add sg_bus_xfer to archive directory
1878*44704f69SBart Van Assche  - more error info in sginfo
1879*44704f69SBart Van Assche
1880*44704f69SBart Van AsscheChangelog for sg3_utils-0.92 [20010116]
1881*44704f69SBart Van Assche----------------------------
1882*44704f69SBart Van Assche  - change sg_err.c output from stdout to stderr
1883*44704f69SBart Van Assche  - change sg_debug to call system("cat /proc/scsi/sg/debug");
1884*44704f69SBart Van Assche  - fix in+out totals in sg_dd and sgp_dd when partial transfers
1885*44704f69SBart Van Assche  - lower include dependencies in sg_err.h
1886*44704f69SBart Van Assche  - add sgq_dd + Makefile to archive directory
1887*44704f69SBart Van Assche
1888*44704f69SBart Van AsscheChangelog for sg3_utils-0.91 [20001221]
1889*44704f69SBart Van Assche----------------------------
1890*44704f69SBart Van Assche  - signalling handling added to sg_dd (and documented in sg_dd.8)
1891*44704f69SBart Van Assche  - add man page for sg_rbuf (and a small change to its code)
1892*44704f69SBart Van Assche  - add "-d" switch to isosize and cope with > 2 GB (and man page)
1893*44704f69SBart Van Assche
1894*44704f69SBart Van AsscheChangelog for sg3_utils-0.90
1895*44704f69SBart Van Assche----------------------------
1896*44704f69SBart Van Assche  - switch from dated versioning. Previous version was sg3_utils001012.
1897*44704f69SBart Van Assche    Arbitrarily start at package version 0.90 . Start Changelog.
1898*44704f69SBart Van Assche  - incorporate Kurt Garloff's patches from Suse scsi.spm source rpm
1899*44704f69SBart Van Assche    compilation:
1900*44704f69SBart Van Assche    - add Kurt Garloff's sg_test_rwbuf utility to read and write to disk
1901*44704f69SBart Van Assche      buffer
1902*44704f69SBart Van Assche    - clean up Makefile to include a "make install" (and also add a
1903*44704f69SBart Van Assche      "make uninstall").
1904*44704f69SBart Van Assche    - add "-uno" switch to sginfo
1905*44704f69SBart Van Assche  - make raw and sg devices equally acceptable to sg_dd and sgp_dd.
1906*44704f69SBart Van Assche    [Raw devices still not as fast as sg devices doing disk to disk
1907*44704f69SBart Van Assche    copies in sgp_dd but this may be improved soon. Still faster than
1908*44704f69SBart Van Assche    using dd!]
1909*44704f69SBart Van Assche  - change lseek() in sg_dd and sgp_dd to _llseek() [using code borrowed
1910*44704f69SBart Van Assche    from fdisk] so big disks can be properly offset with 'skip' and
1911*44704f69SBart Van Assche    'seek' arguments. [This change is significant for raw devices and
1912*44704f69SBart Van Assche    normal files since sg devices already use 31 bit block addressing.]
1913*44704f69SBart Van Assche  - rename sg_s3_inq to sg_inq. This utility allows the INQUIRY response
1914*44704f69SBart Van Assche    to be decoded as per SCSI 3 and 4. Also can probe VPD and CmdDt pages.
1915*44704f69SBart Van Assche  - change multiplier suffixes on sg_dd, sgp_dd and sg_turs so lower case
1916*44704f69SBart Van Assche    "k, m, g" are powers of 2 while "K, M, G" are powers of 10. This idea
1917*44704f69SBart Van Assche    borrowed from lmdd (lmbench suite)
1918*44704f69SBart Van Assche  - retire a few more less used utilities into the archive directory.
1919*44704f69SBart Van Assche  - add man pages for sg_dd, sgp_dd and sg_map
1920