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