diff options
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 1919 |
1 files changed, 1919 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 00000000..1adf83f8 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,1919 @@ +Each utility has its own version number, date of last change and +some description at the top of its ".c" file. All utilities in the main +directory have their own "man" pages. There is also a sg3_utils man page. + +Changelog for pre-release sg3_utils-1.48 [20221112] [svn: r983] + - some utilities: add experimental --json[=JO] option + - sg_z_act_query: new utility for sending either a + Zone activate or Zone query command + - sg_rep_density: new utility for decoding the response of + Report density support command [ssc (tape)] + - sg_rem_rest_elem: new utility for removing or restoring + elements + - sg_rtpg: https://github.com/hreinecke/sg3_utils/pull/79 + applied + - rescan-scsi-bus.sh: with '-r' it crashed due to change in + rev 867 in sg_inq.c from Device_type= to PDT= . + Change script to use either + - undo regression in rev 815 that added newline after + each LUN in the default (no option) output + - rev 815 changed the order of listing hosts from + numeric to alphabetical, change it back to numeric + - https://github.com/doug-gilbert/sg3_utils/pull/17 + applied with tweaks: add timeout parameter + - clean $norm handling + - fix handling of '-I <secs>' option + - sgdevice26: do not traverse sg class if scsi_device + is not added + - add -no-lip-scan option + - https://github.com/doug-gilbert/sg3_utils/pull/21 + - speed testonline() when peripheral_qualifier != 0 + see https://github.com/doug-gilbert/sg3_utils/issues/24 + - speed multipath scans with many LUNs, cache multipath + LUN info in temporary file, see + https://github.com/doug-gilbert/sg3_utils/issues/22 + - sg_rep_zones: add Report zone starting LBA granularity + field in REPORT ZONES response [zbc2r12] + - add --brief option, show part of header and last + descriptor fetched + - add --find ZT option to find the first occurrence of + ZT; if ZT prefixed by - or ! find first not equal to ZT + - add --statistics option + - sg_get_elem_status: change '--maxlen=' option default to + 1056 (header plus 32 physical element status descriptors) + - sg_decode_sense: add --nodecode option + - sg_logs: tweak the meaning of --list option to more closely + reflect the contents of log pages 0x0 and 0x0,0xff + - make '-lll' set union of log pages 0x0 and 0x0,0xff + - add --exclude option to exclude vendor specific pages + and parameters + - add --undefined option for hex format of undefined/ + unrecognized fields + - for short binary fields, remove address (index) from + the left hand side of each line of hex + - improve 'last_n' log pages; supply VPD and mode pages + with their name (if T10 defined) + - update names for TapeAlert lpage + - allow --page selection with --inhex=FN + - sg_modes: improve handling of zbc disks with pdt=0x14 + - sg_inq, sg_vpd: merge VPD page processing for T10 + defined pages, VS pages still differ + - Device Identication VPD page, change + "IEEE Company_id" to "AOI" as per spc6r06.pdf + - add support for Hitachi/HP open-v ldev names + - sg_vpd: apply github pull 18 (missing LF) + - add --sinq_inraw=RFN option + - sg_opcodes: cleanup error reporting + - add --inhex=FN to process earlier -HHH + - sg_format: allow disk formats on ZBC (zoned) disks + - sg_read_buffer: add --eh_code= and --no_output options + - sg_ses: add exp_sas_addr acronym for getting expander's + SAS address + - sg_turs: change nanosleep() to Sleep() in MinGW + - see sg_lib below for two new exit status values + - sg_stream_ctl: fix --get indexing + - sg_read_block_limits: fix granularity value + - add --mloi option + - inhex/logs_last_n.hex: new, tests for the 4 "Last n ..." + log (sub)pages + - sg_lib: add sg_pdt_s_eq() to cope with ZBC disks which may + be either PDT_ZBC (if host managed) or PDT_DISK + - add hex2fp(), similar to hex2str() but outputs to FILE + - cleanup masks for PDT [0x1f] and group_number [0x3f] + - new sg_json_builder.[hc] files local to lib folder + - document internal json interface in include/sg_pr2serr.h + - add SG_C_CPP_ZERO_INIT to better handle aggregate stack + instance zeroing (C23 adding 'struct T t {};' will help) + - correct fixed format sense data command-specific field + for ata-passthrough (lba field), see: + https://github.com/doug-gilbert/sg3_utils/pull/25 + - add sg_ll_read_block_limits_v2() for MLOI bit + - https://github.com/doug-gilbert/sg3_utils/pull/32 added + with tweaks; adds SG_LIB_CAT_STANDBY and + SG_LIB_CAT_UNAVAILABLE which refine the 'not ready' + exit status. Useful for sg_turs + - initialize all sense buffers to 0 + - linux: replace references to /proc/scsi/sg with + /sys/module/sg/parameters/ + - rework main README file + - rev 921+922 are bugfix revs on release 1.47 [r919,920] + - configure.ac: map msys to mingw + - repeat tweak to accept uclinux as linux + - sg_dd: change uint type to uint32_t + - remove unused out2_off in main() + - sg_pt_dummy.c: remove problematic include + - sg3_utils.spec: change tarball extension from .tgz to + .tar.gz ; fix build issue with Fedora 36 + - build cleanups for 'make distcheck', see + https://github.com/doug-gilbert/sg3_utils/pull/26, 27 and + 28; need svn:ignore property or maybe global-ignores + - round of coverity identified issue fixes (and non-issues) + - autoconf: upgrade version 2.70 to 2.71; automake upgrade + to version 1.16.5 (from Fedora 36) + - remove archive directory (and its contents) + - codespell fixes + +Changelog for released sg3_utils-1.47 [20211110] [svn: r919] + - sg_rep_zones: add support for REPORT ZONE DOMAINS and + REPORT REALMS in this utility + - sg_raw: fix prints of NVMe NVM command names + - sg_ses: fix Windows problem "No command (cdb) given" + - fix crash when '-m LEN' < 252 + - guard against smaller '--maxlen=' values + - sg_logs: additions to Volume statistics lpage [ssc5r05c] + - additions to Command duration limits statistics log + page [spc6r06] + - sg_vpd: fix do_hex type on some recent pages + - zoned block dev char vpd: add zone alignment mode and + zone starting LBA granularity [zbc2r11] + - sg_read_buffer: fix --length= problem + - sg_dd, sgm_dd, sgp_dd: don't close negative file descriptors + - sg_dd: srand48_r() and mrand48_r() are GNU libc specific, + put conditional in so non-reentrant version used otherwise + - 'iflag=00,ff' places the 32 bit block address (big endian) + into each block + - sgp_dd: major rework, fix issue with error being ignored + - new: --chkaddr which checks for block address in each block + - add check for stdatomic.h presence in configure.ac + - sg_xcopy: tweak CSCD identification descriptor + - sg_get_elem_status: fix issue with '--maxlen=' option + - add 2 depopulation revocation health attributes [sbc5r01] + - transport error handling improved. To fix report of a + BAD_TARGET transport error but the utility still continued. + - introduce SG_LIB_TRANSPORT_ERROR [35] exit status + - several utilities: override '--maxlen=LEN' when LEN + is < 16 (or 4), take default (or 4) instead + - scripts: 55-scsi-sg3_id.rules remove outdated rule + - sg_lib: add sg_scsi_status_is_good(), + sg_scsi_status_is_bad() and sg_get_zone_type_str() + - pt_linux: fix verify(BytChk=0) which Linux SNTL translated + to write, other SNTL cleanups + - pt_linux_nvme: fix fua setting + - pt: check_pt_file_handle() add return value of 5 for + FreeBSD for nvme(cam) + - pt: new configure option --enable-pt_dummy builds the + library with sg_pt_dummy.c instead of OS specific code; + for experimenting with --inhex= decoding on netbsd + - pt: add Haiku OS support + - gcc -fanalyzer fixes: in sg_pt_linux.c + sg_write_x.c + - sg_pt_dummy.c: add list of functions that a new pt + needs to define + - configure.ac: tweak to accept uclinux as linux + - move some hex files from examples to inhex directory + - major rework of lib/sg_pt_freebsd.c; make SNTL as similar + as practical to the Linux implementation + - add testing/sg_take_snap + - change links to http://sg.danny/cz/sg/* to https + +Changelog for released sg3_utils-1.46 [20210329] [svn: r891] + - sg_rep_pip: new utility: report provisioning initialization + pattern command + - sg_turs: estimated time-to-ready [spc6r03] + - add --delay=MS option + - sg_requests: substantial cleanup + - sg_vpd: add Format presets and Concurrent positioning ranges + - add hot-pluggable field in standard Inquiry [spc6r05] + - fix vendor struct opts_t alignment + - sg_inq: add hot-pluggable field in standard Inquiry + - sg_dd: --verify : separate category for miscompare errors + - --verify : oflag=coe continue on miscompares, counts them + - add cdl= operand for command duration limit indexes + - add oflag=nocreat and conv=nocreat : OFILE must exist + - add iflag=00, ff, random flags + - setup conditional auto rule for getrandom() + - add command timeout after comma in time= operand + - sg_get_elem_status: add ralwd bit sbc4r20a + - sg_write_x: add dld bits to write(32) [sbc4r19a] + - sg_rep_zones: print invalid write pointer LBA as -1 rather + than 16 "f"s + - sg_opcodes: improve handling of RWCDLP field + - sg_ses: use fan speed factor field for calculation [ses4r04] + - add --all (-a) option, same action as --join + - sg_compare_and_write: add examples section to its manpage + - sg_modes: document '-s' option (same as '-6') + - sg_sanitize + sg_format: when --verbose given once report + probable success; without --verbose 'no news is good news' + - sg_zone: add Remove element and modify zones command + - sg_raw: increase maximum data-in and data-out buffer size + from 64 KB to 1 MB + - fix --cmdfile= handling + - add --nvm option to send commands from the NVM command set + - add --cmdset option to bypass cdb heuristic + - add --scan= first_opcode,last_opcode + - sg_pt_freebsd: allow device names without leading /dev/ + thus fix for regression introduced in rev 731 (ver: 1.43) + - sg_pt_solaris+sg_pt_osf1: fix problem with clear_scsi_pt_obj() + which needs to remember is_nvme and dev_fd values + - sg_lib: add ZBC (2020) feature set entries + - sg_lib: restore elements and rebuild command added + - sg_lib,sg_pt: add partial_clear_scsi_pt_obj(), + get_scsi_pt_cdb_len() and get_scsi_pt_cdb_buf() + - add do_nvm_pt() for the NVM (sub-)command set + - tweak transport error handling in Linux + - sg_lib: Linux NVMe SNTL: add read, write and verify; + synchronize cache and write same translations + - add dummy start stop unit and test unit ready commands + - wire cache mpage's WCE to nvme 'volatile write cache' + - fix crash in sg_f2hex_arr() when fname not found + - sg_lib: reprint cdb with illegal request sense key + - asc/ascq match asc-num.txt @t10 20200708 [spc6r02] + - gcc-10: suppress warnings + - autoconf: upgrade version 2.69 to 2.70 + - remove space from end of source lines for git-svn + - testing/sg_mrq_testing: new, for blocking mrq usage + - testing/sgs_dd: add evfd flags and eventfd processing + - testing: remove master-slave terminology for sgv4 + - examples: add nvme_read_ctl.hex and nvme_write_ctl.hex + +Changelog for released sg3_utils-1.45 [20200229] [svn: r843] + - sg_get_elem_status: new utility [sbc4r16] + - sg_ses: bug: --page= being overridden when --control and --data= also + given; fix + - document explicit Element type codes and example + - rename 'SAS SlimLine' to SlimSAS [ses4r02] + - add --inhex=FN, equivalent to --data=@FN, for compatibility with + other utilities + - 'fan speed factor' field added in 20-013r1 + - sg_opcodes: expand MLU (now 2 bits, spc5r20) + - include RWCDLP field as extension of CDLP field (spc5r01) + - sg_write_buffer: allow comma and period separated lists when input + from stdin + - sg_inq: update version descriptors to spc5r21 + - add some NVMe 1.4 snippets to ctl identify + - sg_format: add --dcrt used twice (FOV=1 DCRT=0) + - add support for FORMAT WITH PRESET (sbc4r18) + - sg_raw: fix --send bug when using stdin + - sg_vpd: 3pc VPD page add copy group descriptor + - add --examine option + - new zoned block device char. page (zbc2r04) + - sg_read_buffer: decode read microcode status page + - add --inhex=FN option + - sg_request: add --error option, replaces opcode with 0xff (or skips call + to pass-through) + - sg_get_lba_status: add --inhex=FN option + - sg_xcopy: add --fco (fast copy only) (spc5r20) + - implement --app=1 (append) on regular OFILE type + - sg_scan (win32): expand limits for big arrays + - sg_modes: placeholders for Command duration limit T2A and T2B mpages + (sbc4r17) + - improve zbc support (e.g. caching mpage) + - sg_logs: add Command duration limits statistics lpage (spc6r01) + - zoned block device statistics log page: shorten counter fields from + 8 to 4 bytes (zbc2r02) + - new field in this log page (zbc2r04) + - change '-ll' option to suppress subpages=0xff apart from page + 0x0,0xff. Used three times: list all pages and subpages names + reported + - sg_reassign: for defect list format 6 (vendor specific) don't try to decode + - sg_rep_zones: expand some fields per zbc2r04 + - add --num= and --wp options + - sg_verify: correct so issues VERIFY(16) + - add --0 and --ff options and implement bytchk=3 properly + - sg_write_same: add --ff for 0xff fill + - sg_luns: report new "target commands" w-lun (19-117) + - sg_dd: add --verify support + - sgp_dd: support memory-mapped IO via mmap flag + - inhex directory: new, contains ASCII hex files that can be used with + the '--inhex=' option + - sg_lib: add sg_t10_uuid_desig2str() + - add sg_get_command_str and sg_print_command_len() + - speed up sg_print_command() + - sg_scsi_normalize_sense(): populate byte4,5,6 + - tweak sg_pt interface to better handle bidi + - sg_cmds_process_resp(): two arguments removed + - add ${PACKAGE_VERSION} to '.so' name + - add sg_f2hex_arr() + - update some tables for NVMe 1.4 + - sg_get_num()+sg_get_llnum(): add 'e' decoding, exabytes; allow + addition (e.g. --count=3+1k) + - asc/ascq match asc-num.txt @t10 20191014 + - new zbc2r04 service actions + - sg_pt_freebsd: fixes for FreeBSD 12.0 release + - scripts: update 54-before-scsi-sg3_id.rules, scsi-enable-target-scan.sh + and 59-fc-wwpn-id.rules + - linux: add nanosecond durations when SG3_UTILS_LINUX_NANO environment + variable givenand Linux sg driver >= 4.0.30 + - rescan-scsi-bus: widen LUN 0 only scanning + - multiple patches to sync with Suse + - testing/sg_tst_async: fix free_list issue + - testing/sg_tst_ioctl: for sg 4.0 driver + - testing/sg_tst_bidi: for sg 4.0 driver + - testing/sgh_dd: test request sharing, mreqs... + - add --verify support + - testing/sgs_dd: back from archive, for testing SIGPOLL (SIGIO) and + realtime (RT) signals + - testing/sg_chk_asc: allow LF and CR/LF in asc-num.txt + - testing: 'make' now builds both C and C++ programs + - sg_pt: add sg_get_opcode_translation() to replace global pointer to + array: sg_opcode_info_arr[] + - extend small SNTL to support read capacity + - utils/hxascdmp: add -o=<offset> option + - add -1, -2 and -q options + - sg_io_linux (sg_lib): add sg_linux_sense_print() + - sg_pt_linux: uses sg v4 interface if sg driver >= 4.0.0 . Force sg v3 + always by building with './configure --disable-linux-sgv4' + - add sg_linux_get_sg_version() function + - add: 'SPDX-License-Identifier: BSD-2-Clause' or a small number of + 'GPL-2.0-or-later' + - gcc-9: suppress (pointless) warnings + - automake: upgrade to version 1.16.1 + - autoconf: upgrade to version 2.69 + - sync with fixes from Redhat, via github + +Changelog for sg3_utils-1.44 [20180912] [svn: r791] + - same code as release 1.43 20180911 svn rev 789; + new release due to sync problem with git mirror at: + https://github.com/hreinecke/sg3_utils + that has a v1.43 tag dated 20160217 [svn: r663] + +Changelog for sg3_utils-1.43 [20180911] [svn: r789] + - release 1.43 20180911 svn rev 789 + - sg_write_x: where x can be normal, atomic, or(write), + same, scattered, or stream writes with 16 or 32 byte + cdbs (sbc4r04 for atomic, sbc4r11 for scattered) + - sg_bg_ctl: new Background control command (sbc4r08) + - sg_seek: new SEEK(10) or PRE-FETCH(10 or 16) + - sg_stream_ctl: new, STREAM CONTROL or GET STREAM STATUS + - sg_senddiag: add --timeout=SECS option + - sg_sanitize: add --timeout=SECS option + - add --dry-run option + - sg_format: add --timeout=SECS option + - add --dry-run option to bypass modifying behaviour + - add --quick option to skip reconsideration time + - extend --wait timeout to 40 hours for disk sizes + > 4 TB and 80 hours if > 8 TB + - when changing block size allow for Mode Select + rejecting SP=1 (Save Page): repeat with SP=0 + - FFMT tweaks: default CMPLST to false, shorten poll + - make all data-in and data-out buffers page aligned + - sg_decode sense: add --cdb and --err=ES options + - sg_ses: handle 2 bit EIIOE field in aes dpage + - increase join array size from 260 to 520 elements + - add --quiet option to suppress messages + - expand join handling of SAS connectors and others + - expand join debug code + - allow multiple --clear=, --get= and --set= options + - allow individual index ranges (e.g. --index=3-5) + - allow --index=IIA with -ee to enumerate only fields + belonging to element type IIA + - --data=@FN with --status now decodes dpage(s) in FN + - add 'offset_temp' and 'rqst_override' to temperature + sensor element type + - add 'hw_reset' and 'sw_reset' to enclosure services + controller electronics element type (18-047r1) + - interpret '--join --page=aes' to only display join + rows that have a corresponding AES dpage element + - support NVMe attached enclosure via NVME-MI Send and + Receive SES commands + - decode array status diagnostic page (obsolete) + - sync to ses4r01 + - sg_ses_microcode: add --dry-run and -ealsd options + - sg_ses, sg_ses_microcode, sg_senddiag: make all access + buffer page size aligned (typically page_size=4096) + - sg_write_buffer: add --dry-run option + - sg_luns: resync with drafts (sam6r02+spc5r10) + - remove undocumented test "W" format + - accept and output on request "quad dashed" format + - sg_logs: fix volume statistics lpage when subpage + is zero (ssc5r02a); decode mount history log parameter + - add --vendor=VP and '--pdt=DT' options + - decode Requested recovery, TapeAlert response, and + Service buffer information lpages for tape + - add min+max 'mounted' temperature and rel. humidity + fields to Environmental reporting lpage (spc5r10) + - add last n Inquiry/Mode_page data changed log + pages (spc5r17) + - add zoned block device statistics lpage (zbc2r?, + 16-264r4) + - fixup enumeration in power condition transition + log page (from H. Reinecke, Suse) + - sg_inq: fix potential unbounded loop in --export + - add --only to stop standard inquiry decoding also + doing a serial number vpd page (0x80) fetch + - update version descriptor list to 20170114 + - add further checks so CDROM standard inquiry response + doesn't trick --inhex into thinking it's VPD pg 0x80 + - decode NVMe Identify controller/nsid commands + - with NVMe --only restricts to a single Identify + controller command + - add --long which decodes more of the NVMe Identify + command responses + - sg_inq+sg_vpd: update Extended inquiry data vpd + page (spc5r09 and 17-142r5) + - block limits and block limit extension VPD pages: + add extra info about corner cases + - add maximum inquiry|mode_page change logs fields + to extended inquiry vpd page (spc5r17) + - both now return EDOM (adjusted sg error code) when + requested page not in Supported VPD Pages page + - add --force option to bypass checking Supported + Vpd Pages page and fetch requested page directly + - sg_vpd: 3 party copy VPD page improvements + - fully implement Device constituents VPD page + - decode some WDC/Hitachi vendor VPD pages + - improve handling of unknown pages + - sg_reassign+sg_write_same: fix ULONG_MAX problem + - sg_rdac: add sanity checks for -f=lun value + - sg_turs+sg_requests: make both accept '--num=NUM' + and '--number=NUM' for mutual compatibility + - sg_turs: add --low option + - fix exit status when not ready in single case + - sg_zone: fix debug cdb naming + - add --sequentialize, --count=ZC options, zbc2r01b + - sg_reset_wp add --count=ZC option, zbc2r01b + - sg_persist: add --maxlen-LEN option, LEN defaults to + decimal, similar to --alloc-length= which takes hex + - add Replace lost reservation capable (RLR_C) bit + in Report Capabilities (spc4r36) + - sg_dd: add --dry-run and --verbose options + - allow multiple short options (e.g. -dvv ) + - sgp_dd: pthread_cancel() has issues in C++ (and + the Android multi-threaded library doesn't supply it) + so use pthread_kill() in its place [Linux only] + - add --dry-run and --verbose options + - sgm_dd: add --dry-run and --verbose options + - sg_opcode: add '--enumerate' and '--pdt=' options + - support CDLP (command duration limit page) + - support MLU, Multiple Logical Units (18-045r1) + - check resid and trim response if necessary + - report when --no-inquiry is ignored + - sg_raw: add --enumerate option + - add --cmdfile=CF option, permit 64 byte NVMe + admin commands to be sent + - add --raw option (for CF in binary) + - page align input and output buffers + - sg_get_lba_status: add --report-type= option (sbc4r12) + - add support for 32 byte cdb variant (sbc4r14) + - add support for --element-id= and --scan-len= + options (sbc4r14) + - decode response's RTP and two more provisioning + statuses and the additional status (sbc4r12) + - decode completion condition (sbc4r14) + - sg_modes: add Out of band management control mpage + - accept acronym for page/subpage codes + - sg_rep_zones: expand --help option information + - sg_unmap: add --all=ST,RN[,LA] option to unmap + large contiguous segments of a disk/ssd + - add --dry-run and --force options + - sg_wr_mode: add --rtd option for RTD bit + - sg_timestamp: add '--no-timestamp' option + - add --elapsed and --hex options + - sginfo: don't open /dev/snapshot + - introduce SG3_UTILS_DSENSE environment variable + - manpages and usage messages: corrections from + Gris Ge via github + - group_number: is 6 bit field allowing 0 to 63, + code in several utilities limited it to 31, fix + - convert many two valued 'int's to bool + - sg_lib: add SSC maintenance in/out sa names + - enhance exit status values and associated + strings, add SG_LIB_OS_BASE_ERR (50) + - add sg_ll_inquiry_v2(), sg_ll_inquiry_pt() and + sg_simple_inquiry_pt() + - add sg_ll_report_luns_pt() + - add sg_ll_log_sense_v2() + - add sg_ll_mode_sense10_v2() + - add sg_ll_mode_select6_v2() and + sg_ll_mode_select10_v2() for RTD bit + - add sg_ll_receive_diag_v2() + - add sg_ll_write_buffer_v2() + - add sg_get_llnum_nomult() + - add sg_ll_get_lba_status16() + - add sg_ll_get_lba_status32() + - add sg_ll_format_unit_v2() + - add sg_ll_test_unit_ready_progress_pt() + - add sg_ll_start_stop_unit_pt() + - add sg_ll_request_sense_pt() + - add sg_ll_send_diag_pt(), sg_ll_receive_diag_pt() + - add sg_get_sfs_name() for spc5r11 (Feature sets) + - add sg_decode_transportid_str() + - add sg_msense_calc_length() + - add sg_all_zeros(), sg_all_ffs() + - add sg_get_sense_cmd_spec_fld() + - add sg_is_scsi_cdb() + - add sg_get_nvme_cmd_status_str() + - add sg_nvme_status2scsi() + - add sg_nvme_desc2sense() + - add sg_build_sense_buffer() + - add sg_get_nvme_opcode_name() + - add sg_memalign() and sg_get_page_size() + - add sg_is_aligned() and pr2ws() + - add sg_get_big_endian(), sg_set_big_endian() + - add hex2stdout(), hex2stderr() and hex2str() + - add sg_convert_errno() + - add sg_if_can2stdout(), sg_if_can2stderr() and + sg_exit2str() + - implement 'format' argument in dStrHexStr() + - add read buffer(16) command mode names + - add Microcode activation sense descriptor spc5r10 + - add SG_LIB_OK_TRUE(0) and SG_LIB_OK_FALSE(36) + non "error" code defines for exit status + - add SG_LIB_LBA_OUT_OF_RANGE error code + - add SG_LIB_UNBOUNDED_32BIT (_16BIT and _64BIT) + defines to help with decoding corner cases + - identify vendor specific sense data (response + code 0x7f), print contents in hex + - sg_pr2serr.h: add sg_scnpr() [like lk scnprintf()] + - sg_pt: add construct_scsi_pt_obj_with_fd() + - add pt_device_is_nvme(), get_pt_nvme_nsid() + - add check_pt_file_handle() + - add get_pt_file_handle(), set_pt_file_handle() + - add small SNTL to support sg_ses on NVMe + - sg_lib_data: sync asc/ascq codes with T10 20170114 + - add write scattered (16+32) cdb names sbc4r11 + - sg_cmds_extra: expand sg_ll_ata_pt() to send new + Ata pass-through(32) command (sat4r05) + - sg_sat_identify: expand to take --len=32 + - sg_pt: add dummy pt_device_is_nvme() + - rescan-scsi-bus.sh: harden code + - fixes from Suse; bump version + - bump version to 20180615 + - add to install list in Makefile, hope it does + not clash with other package providing it + - add --ignore-rev to ignore revision change + - 55-scsi-sg3_id.rules: fixes from Suse + - https://github.com/hreinecke/sg3_utils branch + sles15 synced 20170914 + - move some testing utilities out of the + 'examples' and 'utils' directories into the new + 'testing' directory + - add testing/sg_tst_nvme utility + - clean Makefile.freebsd in examples/ and testing/ + - gcc 7.2 cleanups (sysmacros.h etc) + - clang --analyze static checker clean ups + - shellcheck cleanup on scripts + - ./configure automake utility: + - option --enable-debug added for testing + - option --disable-linuxbsg retired, still accepted + but now ignored, Linux sg v3 or v4 interface + decision made at runtime + - Info section now printed at end of ./configure + - automake: add AM_PROG_AR to configure.ac + - upgrade to version 1.15 + - various configure.ac and Makefile.am cleanups + - add SG_LIB_ANDROID build 'define'. If defined then + SG_LIB_LINUX is also defined, so test for Android + before Linux if need to differentiate + - update BSD license from 3 to 2 clause aka FreeBSD + license (without reference to FreeBSD project) + - debian: bump compat file contents from 7 to 10 + +Changelog for sg3_utils-1.42 [20160217] [svn: r663] + - sg_timestamp: new, to report or set timestamp + - sg_read_attr: new, supported by tape drives + - sg_stpg: fix truncation of target port field + - sg_inq: cope with unicode strings, udev fixes + - update version descriptor list to 20160125 + - '--export': new entries for UUID descriptor + - sg_ses: add more field acronyms (ses3r11) + - sg_logs: add Utilization lpage (sbc4r07) + - add Background operation lpage + - add Pending defects lpage + - add LPS misalignment lpage (sbc4r10) + - document '--All' ('-A') option + - rework lto tape vendor lpages + - sg_vpd: add Block limits extension VPD page + - add Device constituents VPD page + - add LB Protection VPD page (ssc ssc5r02a) + - LB provisioning VPD page: expand LBPRZ, add + Minimum and Threshold percentage fields + - rework lto tape vendor VPD pages + - sg_inq+sg_vpd+sg_xcopy: add support for locally + assigned UUIDs in VPD page 0x83 (spc5r08) + - sg_sanitize: add --znr option (sbc4r07) + - sg_rep_zones: add --partial option (zbc-r04) + - sg_format: add ffmt option (sbc4r10) + - add support for FORMAT MEDIUM (for tape) + - sg_raw: document length relationships + - rescan-scsi-bus.sh: updates from Suse + - sg_lib_data: sync asc/ascq codes with T10 20151126 + - sg_lib: add 'sense' categories for SCSI statuses: + condition met, busy, task set full, ACA active and + task aborted + - add pr2serr() extern + - change sg_get_sense_str() and dStrHexStr(), return + chars written (returned void previously) + - add sg_get_sense_descriptors_str() function + - add sg_get_designation_descriptor_str() function + - sg_get_desig_type_str()+sg_get_desig_assoc_str() + and sg_get_desig_code_set_str() added + - sg_get_opcode_sa_name() break out zoning in/out, + read attribute and read position service actions + - sg_cmds_extra: add sg_ll_format_unit2() for FFMT + - sg_pr2serr.h: new, to shorten fprintf(stderr, ...) + - sg_io_linux, sg_pt_linux: drop SUGGEST_* decoding + - sg_unaligned.h: add 48 bit support and gets for + variable length unsigned integers + - add specializations for little and big endian + - change sg_ll_*() function's 'int noisy' to bool + +Changelog for sg3_utils-1.41 [20150511] [svn: r644] + - sg_zone: new utility for open, close and finish + zone commands introduced in zbc-r02 + - sg_rep_zones and sg_reset_wp: change opcodes as + indicated in zbc-r02 + - sg_read_buffer: add READ BUFFER(16) support (spc5r02) + - sg_logs: add --enumerate and acronyms + - allow decode from hex or binary in file + - decode environmental reporting + limits lpages + - sg_write_buffer: add --timeout=TO option + - sg_lib interface: add sg_lib_pdt_decay(), TPROTO_PCIE + plus support for zoning service actions + - sg_lib: in Linux blocked devices yield ENXIO from + ioctl(SG_IO), map to SG_LIB_CAT_NOT_READY + - clean up sg_warnings_stream handling + - sg_inq+sg_vpd: fix SCSI name string decoding in + device identification VPD page (0x83) + - increase sanity on Unit Serial number VPD page + - improve rdac vpd page reporting (vendor) + - sg_inq: improve NAA handling in dev_id VPD page + - update version descriptor list to 20150126 + - sg_vpd: add atomic boundary values (sbc4r04) + - block limits VPD page: fix unmap granularity + alignment value; spc5r02 additions + - sg_readcap: add support for ZBC's rc_basis field + - sg_senddiag: fix bug with --raw option + - add support for -HHH for output suitable for --raw + - sg_ses: enclosure element: add failure and warning + acronyms, fix warning indication output + - additional element status dpage: add PCIe/NVMe + - handle element descriptor names that count + multiple trailing NULLs + - rescan-scsi-bus.sh: add --issue-lip-wait option and + improve error handling + - improve dm-multipath handling + - sg_modes: make '-HHH' output suitable as input to + 'sdparm --inhex=' + - sg_rdac: add '-6' option for mode sense/select(6) + - add support for reporting more SCSI transports + and accessing rdac extended mode page 0x2c + - sg_write_same: cleanup, mainly man page + - scsi_logging_level: replace use of tr command + - examples/sg_tst_async: cleanup + - examples/sg-simple_aio.c: remove + - sg_lib_data: sync asc/ascq codes with T10 20150423 + - Makefile cleanup + - autogen.sh: upgrade to buildconf 20091223 version + +Changelog for sg3_utils-1.40 [20141110] [svn: r620] + - sg_write_verify: new utility for WRITE AND VERIFY + - sg_ses_microcode: new utility + - sg_sat_read_gplog: new utility + - sg_senddiag: add --maxlen= option + - sg_copy_results: correct response length calculations + - sg_format: make '-FFF' bypass mode sense/select + - add --mode=MP to supply alternate mode page, + default remains read-write error recovery mpage + - output unit serial number and LU name prior to + - sg_inq: expand Block limits VPD page output + - fix --cmddt output if not supported by device + - more sanity checks on vendor supplied fields + - sg_vpd: add --all option + - more TPC VPD page decoding + - add zoned block device characteristics page + - more sanity checks on vendor supplied fields + - sg_ses: fix problem with --index=sse (and ssc) + - mask status element before using as control + - defeat previous item with --mask (ignore) option + - SAS connector status element: add overcurrent bit + - handle element descriptor names that count a + trailing NULL + - add --warn option mainly for broken joins + - add optional descriptions to -ee output + - sync with ses3r07 + - sg_sanitize: add --desc and --zero options + - output unit serial number and LU name prior to + - sg_rep_zones: corrections, sync with zbc-r01c + - sg_persist: split help into two pages, '-hh' for 2nd + - sg_logs: refine tape drive output + - sg_raw: with -vvv decode T10 CDB name + - do not output/print data-in if error + - sg_opcodes: add --compact field + - sg_senddiag: add --page=PG option + - sg_reset: add words for EAGAIN from reset ioctl + - sg_sat_*: mention t_type and multiple_count fields + - win32: sg_scan: handle larger configurations + - sg_lib: trim trailing spaces in dStrHex() and friends + - sg_lib_data: sync asc/ascq codes with T10 20140924 + - clean up service action string functions + - sg_ll_unmap_v2(): fix group number + - sg_ll_inquiry(), sg_ll_mode_sense*(), + sg_ll_log_sense(): use resid to clear unfilled + data-in buffer + - sg_unaligned.h: add header for building parameters + - examples/sg_tst_async: new Linux sg test utility + +Changelog for sg3_utils-1.39 [20140612] [svn: r588] + - sg_rep_zones: new utility for ZBC REPORT ZONES + - sg_reset_wp: new utility, ZBC RESET WRITE POINTER + - sg_ses: add --eiioe=auto|force option + - fix AES dpage element indexing problems + - add --readonly option + - sg_write_buffer: add --bpw=CS option to call + write buffer multiple times for big blobs + - sg_format: add --ip_def option to fully provision + - sg_opcodes: add --mask option + - sg_logs: add --in=FN option for log select params + - add --filter=PARC (parameter code) + - add --no_inq for suppress initial INQUIRY call + - add --readonly option + - sg_persist: add --readonly option, environment + variable SG_PERSIST_IN_RDONLY sets ro on prin cmds + - sg_inq: sync version descriptors dated 20105176 + - suppress dev-id VPD messages so they only appear + when --verbose is given + - add new SCSI_IDENT_*_ATA pair to --export output + - sg_luns: add decoding for conglomerate LUNS + - add --lu_cong option to simulate the LU_CONG bit + - sg_vpd: add --vendor=VP option, re-order vendor + specific pages, split lto into lto5 and lto6 + - add Supported block lengths and protection types + page (sbc4r01) + - add Block device characteristics extension + page (sbc4r02) + - sg_copy_results, sg_get_lba_status, sg_luns, + sg_read_buffer, sg_readcap, sg_referrals, sg_rtpg, + sg_sat_set_features, sg_sat_identify: + add --readonly option + - sginfo: strip trailing spaces from INQUIRY text + - sg_rbuf: add --echo option (to use echo buffer) + - sg_lib: add sanitize command service action names + - add 'sense' categories for reservation conflict, + data protect and protection information violations + - add sg_get_category_sense_str() to API + - change struct sg_simple_inquiry_resp::rmb to byte_1 + - add initial zbc service actions + - dStrHex(Err): fix output truncation error + - linux, sg: support SCSI_PT_FLAGS_QUEUE_AT_TAIL and + SCSI_PT_FLAGS_QUEUE_AT_HEAD (block layer queueing) + - sg_lib_data: sync asc/ascq codes with T10 20140516 + - sync operation code with T10 20140515 + - add id string for SPC-5 + - scripts/59-scsi-sg3_utils.rules: removed + - functionality split into two scripts: + 55-scsi-sg3_id.rules + 58-scsi-sg3_symlink.rules + - examples/sg_persist_tst.sh: add --exclusive option + - win32: sg_scan, sg_ses and sg_log fixes + - examples/sgq_dd: re-add old utility as example + +Changelog for sg3_utils-1.38 [20140401] [svn: r563] + - sg_ses: add --dev-slot-num= and --sas-addr= + - fix --data=- problem with large buffers + - new --data=@FN to read hex data from file FN + - error and warning message cleanup + - add --maxlen= option + - sg_inq: add --block=0|1 option to control opens + - add --inhex=FN to read response in ASCII hex from + a file; --inhex=FN --raw reads response in binary + - make -HHH (-HHHH for '-p ai') output suitable for + another sg_inq invocation to use --inhex to decode + - add LU_CONG to standard inquiry response output + - decode ASCII information VPD pages + - add HAW_ZBC in block dev char. VPD page (sbc4r01) + - sync version descriptors dated 20131126 + - allow --page=-1 to force std INQUIRY decoding + - fix overflow in encode_whitespaces + - improve unit serial number display (VPD page 0x80) + - sg_vpd: add LU_CONG to standard inquiry response output + - add --inhex=FN to read response in ASCII hex from + a file; --inhex=FN --raw reads response in binary + - decode Third Party Copy (tpc) page + - add HAW_ZBC in block dev char. VPD page (sbc4r01) + - add LTO and DDS vendor pages + - allow --page=num to restrict --enumerate output + - sg_persist: add PROUT: Replace Lost Reservation (spc4r36) + - add --transport-id= for SOP: 'sop,<routing_id_in_hex>' + - sg_readcap: for --16 show physical block size if + different from logical block size + - sg_xcopy: environment variables: XCOPY_TO_SRC and + XCOPY_TO_DST indicate where xcopy command is sent + - change default to send xcopy to dst (was src) + - improve CL handling of short options (e.g. '-vv') + - sg_luns: guard against garbage response + - sg_decode_sense: with --nospace ignore spaces on + command line, so multiple arguments are concatenated + - sg_write_same: repeat if unit attention + - sg_rtpg: fix indexing bug with --extended option + - sg_logs: placeholder for pending defects lpage + - sg_unmap: fix another problem with --grpnum= option + - sg_lib.h: add PDT_ZBC define (spc4r36p) + - sg_lib_data: sync asc/ascq codes with T10 dated 20140320 + - add pdt string for ZBC (spc4r36p) + - sg_lib: extensions to sg_get_num() and sg_get_llnum() + - sg_cmds_extra: fix sa bug in sg_ll_3party_copy_out() + - scripts/rescan-scsi-bus.sh: check if FC driver exports + issue_lip before using it + - man page added (Linux only) + - scripts/59-scsi-sg3_utils.rules: linux specific udev rules + - examples: add sg_tst_excl3 for testing O_EXCL + - improve sg_tst_excl and sg_tst_excl2 + - add sg_tst_context for testing file handle contexts + - upgrade automake to version 1.13.3 + - add suse directory and 'spec' file to facilitate builds + +Changelog for sg3_utils-1.37 [20131014] [svn: r522] + - sg_compare_and_write: fix wrprotect setting + - add --quiet option to suppress miscompare report + - merge features from another implementation + - sg_inq: fix referrals VPD page + - dev_id VPD: T10 vendor id designator clean up + - sg_logs: improve for tape drives, general cleanup + - sg_persist: fix core dump on -Q option + - sg_unmap: fix core dump on -g option + - sg_vpd: dev_id VPD: T10 vendor id designator clean up + - cleanup up dev_id NAA-3: locally assigned + - sg_ses: add --nickname and --nickid options + - eiioe added to additional element status page (ses3r6) + - multiple --filter options to prune output + - sg_verify: improve miscompare handling + - rename --btychk=ndo option to --ndo=ndo (hide former) + - add --quiet option + - sg_xcopy: allow sg and bsg devices + - fix for bpt going negative + - limit each XCOPY(LID1) command to 65535 blocks + - fix for seek in multi-segment copies + - sg_sanitize: skip 15 second safety delay with --fail + - sg_libs: extended copy opcode renamed (spc4r34) + - sg_ll_receive_copy_results(): expand for all sa_s + - add sg_get_sense_key() + - add sg_ll_3party_copy_out() + - add dStrHexErr(): ascii hex to stderr + - add dStrHexStr(): ascii hex to string + - add SG_LIB_CAT_MISCOMPARE to categories + - clean header files + - sg_pt_freebsd: sanity check on sense_resid; fix leaks + - scripts/rescan-scsi-bus.sh KG's v1.57 + HR patch + - improve wlun handling, detect updated and resized + devices, better multipath support + - Makefile.am cleanup + - examples: add sg_tst_excl and sg_tst_excl2 + +Changelog for sg3_utils-1.36 [20130531] [svn: r497] + - sg_vpd: Protocol-specific port information VPD page + for SAS SSP, persistent connection (spl3r2), power + disable (spl3r3) + - block device characteristics: add FUAB bit + - sg_xcopy: handle more descriptor types; handle zero + maximum segment length; allow list IDs to be disabled; + improve skip/seek handling; allow xcopy on destination + - sg_reset: and --no-esc option to stop reset escalation + - clean up cli, add long option names + - sg_luns: add --test=ALUN option for decoding LUNs + - decoded luns output in decimal or hex (if -HH given) + - add '--linux' option to show Linux LUN after T10 + representation, can map one to the other + - sg_inq: add --vendor option to show standard inquiry's + vendor specific fields in ASCII + - take resid into account with response output + - sg_sync: add --16 (for 16 byte command) and --timeout= + - sg_logs: add data compression page (ssc4) + - sg_sat_set_features: increase --lba from 1 to 4 bytes + - sg_write_same: add --ndob option (sbc3r35d) + - sg_map: mark as deprecated + - sginfo: mark as deprecated, especially -l (list) + - sg_lib: improve snprintf handling + - sg_lib_data: sync asc/ascq codes with T10 20130117 + - sg_cmds (lib): if noisy given, give more UA info + - make code more C++ friendly + +Changelog for sg3_utils-1.35 [20130117] [svn: r476] + - sg_compare_and_write: new utility + - sg_inq+sg_vpd: block device characteristics VPD page: + add product_type, WABEREQ, WACEREQ and VBULS fields + - sg_inq: more --export option changes for udev + - sg_vpd: add more rdac vendor specific vpd pages + - sg_verify: add --ebytchk option for sbc3r34 changes + - sg_stpg: --offline option: fix 'Invalid state 0xe' + - sg_ses: Door Lock element changed to Door element and + abbreviation changed from 'dl' to 'do' (ses3r05) + - archive/rescan-scsi-bus.sh: upgrade to version 1.53hr + - move rescan-scsi-bus.sh to scripts directory + - sync to sbc3r34 + - sg_lib: sg_ll_verify10+16 expand BYTCHK to 2 bit field + - sg_pt_win32, sg_scan(win32): changes for cygwin 1.7.17 + - clean up man page summary lines + +Changelog for sg3_utils-1.34 [20121013] [svn: r461] + - sg_xcopy: new dd like utility for extended copy command + - sg_copy_results: new utility for receive copy results + - sg_verify: add 16 byte cdb, bytchk (data-out buffer) + and group number support + - sync to spc4r36 and sbc3r32 + - sg_inq: add --export so sg_inq can replace udev's scsi_id + - decode old EMC Symmetrix abuse of VPD page 0x83 + - sg_vpd: decode old EMC Symmetrix abuse of VPD page 0x83 + - sg_ses: increase max dpage response size to 64 KB + - allow ident,locate on enclosure controller + - more sanity for additional element status descriptor + - sg_sanitize: add --ause, --fail and --test= + - sg_luns: add long extended flat space addressing format + - sg_logs: add ATA pass-through results lpage (SAT-2) + - sg_rtpg: add --extended option + - sg_senddiag: list rebuild assist diag page name + - sg_pt_linux: expand DID_ (host_byte) codes + - cope with a transport error plus sense data + - prefer major() over MAJOR() macro + - sg_lib: fix sg_get_command_name() service actions + - report sdat_ovfl bit (if set) in sense data + - decode extended_copy and receive_copy service actions + - decode read_buffer and write_buffer modes + - decode ATA PT fixed format sense (SAT-2) + - sg_cmds_extra: add sg_ll_report_tgt_prt_grp2() + - ./configure options: + - change --enable-no-linux-bsg to --disable-linuxbsg + - add --disable-scsistrings to reduce utility sizes + +Changelog for sg3_utils-1.33 [20120118] [svn: r435] + - sg_ses: major rework of indexes (again), now two level + - sg_write_buffer: new --specific option for mode specific + field; new mode 13 (spc4r32) + - sg_vpd: add hp3par volume info vendor VPD page + - fix 'scsi ports' [0x88] page problem + - add 'sinq' pseudo page for standard inquiry response + - add power consumption page + - sg_format: add --poll= option for request sense polling + - improve handling of disks > 2 TB and DIF (protection) + - sg_logs: LB provision lpage extra (sbc3r28) + - sg_modes: application tag mpage subcode 0xf0->0x2 + - sg_write_same: no prot fields when wrprotect=0 + - sg_get_lba_status: reflect change in sbc3r25 to Parameter + Data Length response field (offset reduced from 8 to 4) + - sg_inq, sg_vpd: sync with spc4r33 + - win32: change DataBufferOffset type per MSDN; caused + problem with 64 bit machines (with buffered interface) + - sg_luns: tweak documentation for vendor specific reports + - add man pages for scsi_loging_level, scsi_mandat, + scsi_satl and scsi_temperature + +Changelog for sg3_utils-1.32 [20110730] [svn: r410] + - sg_sanitize: new utility for command added in sb3r27 + - sg_sat_identify: add '--ident' to output WWN + - sg_ses: major rework of descriptor output + - add --index, --descriptor, --join, --clear, --get, + and --set options + - sg_raw: exit status corrections + - sg_decode_sense: add --nospace and --hex options + - sg_logs: fix bug with large --maxlen + - zero response length when resid implies it is invalid + - add scope field to lb provisioning lpage (sb3r27) + - sg_inq: sync version descriptors with spc4r31 + - sg_lib_data: sync asc/ascq codes with spc4r31 + - sg_vpd: add LBPRZ field in LB provisioning VPD page + - sg_format: allow format of pdt 7 (some MO drives) + - sg_cmds_basic: sg_cmds_process_resp() handle status good + with a sense key other than no_sense (e.g. completed) + - add README.iscsi + +Changelog for sg3_utils-1.31 [20110216] [svn: r386] + - sg_decode_sense: new utility to decode sense data + - sg_vpd: LB provisioning + Block limits pages (sbc3r26) + - sync asc/ascq and version descriptors with spc4r28 + - sg_get_config, sg_rmsn, sg_verify: add --readonly option + - sg_lib: implement forwarded sense data descriptor + - decode user data segment referral sense data descriptor + - sg_lib, sg_turs, sg_format: more precision for progress + indication (two places after decimal point) + - sg_lib(win32): add runtime selection of SPT direct or + indirect interface + - sg_read_buffer+sg_write_buffer: set SPT direct + - add examples/forwarded_sense.txt + examples/ref_sense.txt + +Changelog for sg3_utils-1.30 [20101111] [svn: r363] + - sg_referrals: new utility for REPORT REFERRALS + - sbc3r25 renames 'thin' provisioning' to 'logical block + provisioning': changes in sg_format, sg_inq, sg_logs, + sg_modes, sg_readcap, sg_vpd + - sg_inq: update version descriptor list to spc4r27 + - extended inquiry vpd page add extended self test + completion minutes field + - sg_lib: sync asc/ascq list to spc4r27 + - dStrHex(): trim excess trailing spaces + - sg_read_long: add --readonly option (open() is rw) + - sg_raw: add --readonly option (open() is rw) + - allow bidirectional commands + - sg_vpd: rdac vendor page [0xc8] parse corrections + - extended inquiry vpd page add extended self test + completion minutes field + - sg_ses: expand --data (in) buffer to 2048 bytes + - sg_opcodes: add extended parameter data for TMFs (spc4r26) + - sg_dd: clean count calculation, document nocache flag + - treat bsg devices as implicit sg_io + - add more conversions + - sg_write_same: if READ CAPACITY(16) fails try 10 byte variant + - anticipate approval of proposal to allow UNMAP and ANCHOR + bits to be set on WRITE SAME(10) with '--10' option + - sg3_utils man page: sections added for OS device names + +Changelog for sg3_utils-1.29 [20100406] [svn: r334] + - sg_rtpg: new logical block dependent state and bit (spc4r23) + - sg_start: add '--readonly' option for ATA disks + - sg_lib: update asc/ascq list to spc4r23 + - sg_inq: update version descriptor list to spc4r23 + - sg_vpd: block device characteristics page: fix form factor + - update Extended Inquiry VPD page to spc4r23 + - update Block Limits VPD page to sbc3r22 + - update Thin Provisioning VPD page to sbc3r22 + - Automation device serial number and Data transfer device + element VPD pages (ssc4r01) + - add Referrals VPD page (sbc3r22) + - sg_logs: add thin provisioning and solid state media log pages + - addition of IBM LTO specific log pages + - sg_modes: new page names from ssc4r01 + - sg_ses: sync with ses3r02 (SAS-2.1 connector types) + - sg_unmap: add '--anchor' option (sbc3r22) + - sg_write_same: add '--anchor' option (sbc3r22) + - sg_pt interface: add set_scsi_pt_flags() to permit passing + through SCSI_PT_FLAGS_QUEUE_AT_TAIL and AT_HEAD flags + - add examples/sg_queue_tst+bsg_queue_tst for SG_FLAG_Q_AT_TAIL + - add AM_MAINTAINER_MODE to configure.ac to lessen build issues + - add BSD_LICENSE file to this and lib directories, refer to + it from source and header files. Some source has GPL license + +Changelog for sg3_utils-1.28 [20091002] [svn: r315] + - sg_unmap: new utility for thin provisioning + - add examples/sg_unmap_example.txt + - sg_get_lba_status: new utility for thin provisioning + - sg_read_block_limits: new utility for tape drives + - sg_logs: add cache memory statistics log (sub)page + - sg_vpd, sg_inq: extend Block limits VPD page (sbc3r19) + - sg_vpd: add Thin provisioning VPD page (sbc3r20) and + TapeAlert supported flags VPD page + - sg_inq: note VPD page support better in sg_vpd + - sg_persist: add transport specific transportID format + - allow transportIDs to be read from named file + - sg_opcodes: allow --opcode= option to take OP and SA + values (comma separated) + - tweak print format, remove test code + - sg_requests: remove test code in progress calculation + - sg_reset: add target reset option + - sg_luns: reduce default maxlen to 8192 (for FreeBSD) + - sg_raw: extend max cdb length from 16 to 256 bytes + - align heap allocs to page boundaries + - sg_lib: sg_set_binary_mode() needs config.h included + - add progress indication sense data descriptor (0xa) + - change SG3_UTILS_* constants to SG_LIB_* + - decode service actions within persistent reserve in/out + - sync with spc4r21 + - sg_cmds_extra: add sg_ll_unmap() and sg_ll_get_lba_status() + - sg_pt_linux: fix check condition but empty sense buffer; occurred + when sg v3 node used and /usr/include/linux/bsg.h visible + - major() macro grief, if present include <linux/kdev_t.h> and + use MAJOR() instead + - scripts/sas_disk_blink: moved from this package to sdparm + - utils/hxascdmp: in Windows set binary mode on read files + - examples/sg_persist_tst.sh: add PRIN read full status command + - sg_raw,sg_write_buffer,sg_write_long,sg_write_same: in Windows + set binary mode on read files + - sg_pt_win32: default to non-direct variant of SPT interface + - use './configure --enable-win32-spt-direct' to override + - non-direct data length set to 16 KB, extended if required + - debian: incorporate patch from debian sid + +Changelog for sg3_utils-1.27 [20090411] [svn: r250] + - sg_write_same: new utility: 10, 16 and 32 byte cdb variants + - sg_inq: sync version descriptors with spc4r18 + - add power condition VPD page + - expand block limits VPD page (sbc3r18) + - sg_vpd: add power condition VPD page + - expand block limits VPD page (sbc3r18) + - sg_map26: fix for lk 2.6.26 when CONFIG_SYSFS_DEPRECATED_V2 + is not defined + - output cdb when verbose option given + - correct tape minors >= 32 + - sg_dd: flock flag (does LOCK_EX|LOCK_NB) + - switch open on input for sg device nodes: first open + read-write and if that fails try opening read-only + - experiment with of2=OFILE2; add conv=sparse + - use posix_fadvise() to defeat caching of normal+block files + when new 'nocache' flag given + - sg_dd copied to own package called ddpt + - sg_dd, sgm_dd, sgp_dd: accept 'count=-1' for calculate count, + accept '-V' for version string + - sg_get_config: add OSSC feature [mmc6r02] + - sg_modes: add ATA power condition mode page + - sg_logs: protocol specific (SAS) lpage sync to sas2r15 + - power condition transitions lpage (added in spc4r18) + - extra parameters for start-stop cycle counter lpage + - sg_format: add '--fmtpinfo=' and '--pie=' options (sbc3r18) + - sg_readcap: more protection + thin provisioning (sbc3r18) + - add a '--16' option for 16 byte cdb version + - sg_persist: code clean up + - allow '--transport-id=' argument to use space as separator + - add '--alloc-length=' argument + - sg_scan: (win32) new format, scsi adapter scan optional + - sginfo: fix crash when 1024 sg device nodes (or more) + - sg_ses: allow '--data=' argument to use space as separator + - sg_senddiag: allow '--raw=' argument to use space as separator + - sg_reassign: allow '--address=' argument to use space as + separator + - sg_wr_mode: allow '--contents=' and '--mask=' arguments to + use space as separator + - sg3_utils.spec: correction to configure call + - sg_pt: add scsi_pt_open_device_flags() call + - add scsi_pt_version() and clear_scsi_pt_obj() calls + - clear os_err at start of do_scsi_pt() + - add linux bsg support via runtime detection + - sg_cmds: add sg_cmds_open_device_flags() + - sg_cmds_extra: sg_ll_format_unit: remove rto_req argument, + the expanded fmtpinfo argument subsumes it. + - clearer split between Linux and Windows only code and doc + - automake tools: change to what Ubuntu 8.10 provides + - Ubuntu 8.10 libtool problems -> Debian 4.0 + +Changelog for sg3_utils-1.26 [20080625] [svn: r183] + - sg_sat_phy_event: new utility; copied from examples + directory and enhanced, rename original to sg__sat_phy_event + - sg_ses: sync with ses2r19b, many nomenclature changes + - sg_get_config: sync with mmc6r01 + - allow Microcode upgrade and DVD read feature descriptors + to be 4 bytes long + - add '--raw' option + - sg_verify: add --vrprotect= option + - sg_vpd: add nominal form factor to block dev. char. VPD page + - add --maxlen= option to set allocation length in cdb + - sg_inq: add --maxlen= option that does same as --len= + - move version descriptors (spc4r15) to sg_inq_data.c file + - sg_inq+sg_vpd: logic for "NAA-3 Locally assigned" identifier + - update extended inquiry VPD page + - sg_modes: add --maxlen= option to specify allocation length + - sg_start: add '--noflush' and '--mod=PC_MOD' options (sbc3r14) + - sg_request: add a '--progress' option (similar to sg_turs) + - add --maxlen= option to set allocation length in cdb + - sg_luns: add --maxlen= option to specify allocation length + - sg_dd: improve MMC handling of 'illegal mode for this track' + read errors (with ILI and info field) + - sg_dd, sgm_dd, sgp_dd, sginfo, sg_rbuf, sg_read: replace + "%lld" and friends with PRI macros + - sg_opcodes: tmf name change in spc4r15 (async event) + - sg_turs: add more to man page about '--progress' indication + - sg_write_long: add examples section to man page + - '--raw' option: modify utilities that can send binary output + to call sg_set_binary_mode(). For MingGW port CR problem. + - sg_lib: update asc/ascq and command name strings to spc4r15 + - split sg_lib into sg_lib_data.[hc] and sg_lib.[hc] + - split sg_cmds_extra into sg_cmds_extra and sg_cmds_mmc + - add osd2r03 service actions (all different from osd-r10) + - add sg_get_trans_proto_str() + - add sg_get_sense_filemark_eom_ili() function (MMC uses ILI) + - add sense key specific unit attention condition queue + overflow decoding (added in spc4r13) + - add sg_set_text_mode() and sg_set_binary_mode() functions + for non-Unix OSes + - sg_cmds_mmc: add sg_ll_set_streaming() function + - sg_cmds_extra: add vrprotect argument to sg_ll_verify10() + - add sg_ll_get_performance() and sg_ll_set_cd_speed() + - change 'long long' to int64_t and 'unsigned long long' to + uint64_t to stress that 64 bit integer wanted, not larger + - audit of dangerous 'u64 = uch[24] << 24' code, replace most + 'unsigned long's + - multiple documentation corrections provided by Dan Horak + - win32/MinGW: define SG3_UTILS_MINGW when detected + - remove archive/pre_configure subdirectory + - move sg_io_linux.c into the lib subdirectory + - utils/hxascdmp: add hxascdmp(1) man page + - switch primary build to ubuntu environment, rename + library to libsgutils2 to avoid clash + +Changelog for sg3_utils-1.25 [20071016] [svn: r115] + - sg_stpg: new utility to Set Target Port Groups + - sg_safte: new utility to query SAF-TE processor (SES like) + - sg_sat_set_features: new utility (actually copied from examples + directory); renamed examples version to: sg__sat_set_features + - sg_read_buffer: restore (had fallen out of build scripts) + - sg_dd: add oflag=sparse to step over bs*bpt number of zeros; + - with oflag=sparse, write last bs*bpt segment at end or after + error so file length of OFILE is appropriate + - when coe>1 then SCSI READ LONG logic remembers extended block + length of first encountered error + - sg_dd, sgm_dd, sgp_dd: allow iflag=null and oflag=null both of + which do nothing (placeholders) + - sg_ses: sync with ses2r17 then r18 + - sg_vpd, sg_inq: add block device characteristics VPD page + - sg_inq: add '--vpd' option (or '-e') for backward compatibility + - sg_vpd: decode protocol specific lu information page for SAS + - add more RDAC vendor VPD pages + - sg_logs: update background scan results log page, sbc3r11 + - add generation code to protocol specific page for SAS SSP + - add media changer diagnostic data log page + - sg_raw: fix error message when do_scsi_pt() fails + - sg_lib: sync asc/ascq codes with spc4r11 + - add sg_get_num_nomult() + - add TPROTO_* protocol identifier constants to sg_lib.h + - sg_cmds_extra: add sg_ll_set_tgt_prt_grp() + - place source in subversion repository + - split code into src/ lib/ and include/ directories + - sync debian directory with their 1.24 version (sid unstable) + - convert build logic to use autotools (i.e. './configure ; make') + - rename this file from CHANGELOG to ChangeLog + - note: only code in lib/ and src/ directories built by + autotools; some other subdirectories still use hand-crafted + Makefiles + +Changelog for sg3_utils-1.24 [20070507] [svn: r77] + - sg_raw: new utility to send arbitrary SCSI commands + - sg_luns: increase number of luns that can be fetched + - fix length of raw and hex output + - add '--quiet' option to output only ASCII hex + representation of each lun + - sg_rtpg: update for changes in spc4r09 + - sg_persist: update documentation, spc-4 references + - fix exit status values + - sg_inq: update version descriptors per spc4r09 + - fix '--id' and '--extended' + - extend block limits VPD page (sbc3r09) + - sg_vpd: extend block limits VPD page (sbc3r09) + - append relative target port identifier to SAS target + port address with '-iq' option + - sg_logs: add decoding for stats+performance log pages + - fix showing of page names for pdt > 0 + - implement '-HH' for single and all pages, fix '-r' + - when '--maxlen=' given, only do single fetch + - add Tape Alert (ssc), Media and Element statistics (smc) pages + - add '--brief' option + - sg_ses: sync with ses2r16 + - fix bay number for SAS + - sg_format: add '--dcrt' and '--security' options + - sgm_dd: add 'smmap' oflag for shared_mmap_io testing + - add 'dio' oflag + - sg_dd, sgp_dd: add 'dio' iflag and oflag + - sg_modes: change SAS mode page names per sas2r09 + - check validity of block descriptors length + - sg_pt: change opaque context object from 'void *' + to 'struct sg_pt_base *' + - sg_opcodes: anticipate extra tmfs from 07-159r0 + - sg_sat_set_features: add more usage information + - add man page + - sg_sat_phy_event: add to examples directory + - sg_lib: sync asc/ascq codes with spc4r10 + - Solaris port: using uscsi interface + - various .html files removed from doc directory + +Changelog for sg3_utils-1.23 [20070131] [svn: 75] + - sg_read_buffer: new utility + - sg_write_buffer: new utility + - sg_opcodes, sg_senddiag, sg_logs, sg_modes, sg_start, sg_inq, + sg_turs, sg_readcap, sg_rbuf: add getopt_long() based cli; + old and new cli selectable, new getopt_long cli is default + - scripts: new subdirectory containing some bash scripts + - add scripts/README file + - sg_reassign: add '--hex' option for grown and primary lists + - sg_rtpg: add '--raw' option + - sg_lib.h, sg_cmds_basic.h + sg_cmds_extra.h: add C++ + 'extern "C" ' wrappers + - cleanup C code so it will compile as C++ + - sg_lib: sync with spc4r08 + - include <inttypes.h>, use PRId64 instead of %lld form + - fix sg_get_sense_str() when empty sense buffer + - win32 port: add Makefile.mingw + related support for MinGW + - sg_cmds_extra: add sg_ll_read_buffer() and sg_ll_write_buffer() + - sg_dd, sgp_dd, sgm_dd, sg_read: use lseek64() instead of llseek.c + - sgm_dd: accept coe=<n> for interworking with sg_dd + - sg_rdac: fix on non-linux ports + - sg_ses: fix spurious warning in additional element status page + - '-rr' option outputs a diagnostic page in binary to stdout + - sg_opcodes: add command timeout descriptor support (spc4r08) + - change linux specific pass through to generic pass through + - sg_logs: add 'name=value' decoding for SAS specific lpage + - examples+utils subdirectories: remove symlinks + - synchronize man pages with usage messages + - sg3_utils.spec: rework + +Changelog for sg3_utils-1.22 [20061016] [svn: 72] + - sgp_dd: accept verbose=<n> as well as deb=<n> to ease + interworking with sg_dd and sgm_dd + - sg_sat_set_features: added to examples directory + - sg_lib: sync asc/ascq text with spc4r06 + - move SG_LIB_CAT_NO_SENSE and SG_LIB_CAT_RECOVERED to + 20 and 21 respectively; add SG_LIB_CAT_ABORTED_COMMAND + at 11 (its sense key value) + - sg_vpd: tweak '--page=sp --quiet' output + - change '-HHH' so same as '-rr' (prepares ATA Information + (ai) response for hdparm) + - sg_requests: add '-s' option to set exit status from + parameter data + - sg_modes: exit quickly from '-e' if device not ready + - sg_logs: sync sas log pages with sas2r05a + - expand background scan results log page + - add '-m=<max_len>' to limit response length + - drop '-scum' and '-sthr' options and add '-select' + - sg_write_long: add '--16' option to send 16 byte cdb + - add '--wr_uncor' and '--pblock' options + - sg_senddiag: cleanup and add sdiag_sas_p1_stop.txt + to examples directory + - sg_format: add '--cmplst=<n>' option (default: 1) + - add '--pfu=<n>' option + - expand man page to discuss P/D/C/GLISTs + - sg_reassign: add '--primary' option to fetch primary + defect list (PLIST) length + - sg_readcap: add '-H' option to output response in hex + and '-r' to output response in binary to stdout + - add logical blocks per physical block (sbc3r07) + - sginfo: add PLIST and GLIST designation to defect lists + - sg_cmds: split this support file into sg_cmds_basic.[hc] + and sg_cmds_extra.[hc] + - add sg_ll_ata_pt() (SATL ATA pass) to sg_cmds_extra.[hc] + - sg_rdac: fix includes for FreeBSD + - sg_dd: add 'coe_limit=' option to exit after <n> + consecutive 'coe' type read errors + - sgm_dd: print out throughput information when signal arrives + if time=1 (like sg_dd does already) + - sg_inq: change '-HHH' so same as '-rr'. Now sg_inq, sg_vpd + and sdparm output for hdparm with '-HHH' + -add '-l=<resp_len>' option + - sg_read_long: add '--pblock' option for physical blocks + - sg_luns: add '--hex' and '--raw' options + - sg_requests: add '--hex' and '--raw' options + - sg_scan: windows version added (was previously linux only) + - 2 man pages: sg_scan.8l and sg_scan.8w that are installed + as sg_scan.8 + - archive directory: removed all but rescan-scsi-bus.sh + - README points to previous version in that directory + - sg_sat_identify: add to main directory + - rename earlier version to examples/sg__sat_identify.c + - sg_ident: rework as spc4r07 changed command names and + expanded functionality + +Changelog for sg3_utils-1.21 [20060706] [svn: 70] + - sg_vpd: new utility for decoding VPD pages. sg_inq's cli is + cluttered; also borrows from sdparm's VPD handling + - sg_rdac: new utility for vendor specific work + - sg_lib: add sg_vpd_dev_id_iter() to iterate over di VPD page + - add sg_ata_get_chars() to fetch chars from ATA words + - sync additional sense code strings with spc4r05a + - add SG_LIB_CAT_NOT_READY category when sense_key is NOT READY + - add SG_LIB_FILE_ERROR category for open problems + - add SG_LIB_SYNTAX_ERROR category for command line problems + - broaden SG_LIB_CAT_MEDIA_CHANGED to SG_LIB_CAT_UNIT_ATTENTION + - add SG_LIB_CAT_MALFORMED for bad responses + - BEWARE: these changes cause confusion if an executable from this + version is run with a libsgutils library from 1.20 or earlier + - sg_cmds: add SG_LIB_CAT_NOT_READY return to most "ll" functions + - alter many utilities to report SG_LIB_CAT_NOT_READY + - sg_dd: add retries=<n> option for sg_io + - sg_logs: add '-T' option to output protocol specific port log page + - add support for log subpages (new in spc4r05) + - more sanity checks in Start Stop Cycle Counter page + - sg_cmds: add sg_ll_read_long16() + - add page_code and subpage_code to sg_ll_log_select() + - add subpage_code to sg_ll_log_sense() + - sg_read_long: do READ LONG(16) when '--16' given + - sg_read: accept and ignore 'of=' arguments + - sg_dd: expand medium/hardware error "coe' processing to include + the "blank check" sense key (for optical devices) + - sg_ses: expand display element (per 05-011r2) + - sg_format: clear 'cmplst' bit (for MO disks) + - add '--six' ('-6') option for mode sense/select(6) + - sg_format + sg_test_rwbuf: fix for when char is unsigned + - sg_inq: VPD page 0x89: output ATA IDENTIFY DEVICE strings + - for IDENTIFY (PACKET) DEVICE response use sg_ata_get_chars() + - sg3_utils.html : new name, was previously u_index.html. Copy + placed in doc subdirectory + - tools.html : SCSI and storage tools reference, copy placed in + doc subdirectory + - sg3_utils.8 : add a new man page containing general information + especially common exit status values + - sg_sat_identify: added to examples directory (SAT passthrough test) + - extend to pass through IDENTIFY PACKET DEVICE with '-p' option + - sg_sat_chk_power: added to examples directory + - sg_sat_smart_rd_data: added to examples directory + - sg_chk_asc: added to utils directory to check asc_ascq codes + - debian: stop placing archive directory under examples + - add build_debian.sh script + +Changelog for sg3_utils-1.20 [20060418] [svn: 68] + - sg_logs: decode phy event descriptors in SAS port specific + log page (sas2r03) + - new parameter control byte format (spc4r03), subpages to come + - update Makefile (linux) to install sg_io_linux.h + sg_linux_inc.h + - sg_map26: fix for block device mapping in lk 2.6.16-rc1 and beyond + - cope with sysfs removal of 'generic' symlink post lk 2.6.16, + anticipate removal of 'tape' symlink + - sg_dd, sgm_dd, sgp_dd: fix problem around 0x7fffffff blocks + - sg_dd: fix read_long processing error (when 'coe=2' or 3) + - expand 'coe=' to take 0...3 (invokes read long with 2 or 3) + - allow for SG_GET_RESERVED_SIZE yielding 0, lk 2.6.16 feature + - sgp_dd: add 'iflag=' and 'oflag=' arguments; signals (like sg_dd) + - sgm_dd: add 'iflag=' and 'oflag=' arguments; signals (like sg_dd) + - sg_get_config: double->dual renaming (mmc5r03) + - sg_read: add 'dpo=' and 'fua=' options + - allow 'count' < 0 (or 'bpt=0') for issuing zero block READs + - allow for SG_GET_RESERVED_SIZE yielding 0, lk 2.6.16 feature + - add 'no_dxfer=0|1' option + - sg_modes: fix exit value when MODE SENSE fails + - add '-e' to examine presence of page codes from 0x0 to 0x3e + - sg_requests: add '--num=' and '--time' options for timing multiple + invocations + - sg_inq: fix vpd 0x83 designator code 8 name: "scsi name string" + - sg_scan: if lk 2.6, use sysfs to find active sg device nodes + - sg_map: if lk 2.6, use sysfs to find active sg device nodes + - sg_ses: expand display element (per 05-011r1) + - sg_start: add an '-i' option which is equivalent to '--imm=1' + - sg_senddiag: update man page showing use of two scripts in + examples directory (sdiag_sas_p0_cjtpat.txt and _p1_) + - sg_lib: fix sg_get_sense_descriptors_str() case 9 (ATA Return) + +Changelog for sg3_utils-1.19 [20060127] [svn: 66] + - sg_start: accept '--' options (e.g. 'sg_start --stop') + - add '--fl=<n>' option for jump to format layer (mmc5) + - sg_logs: background scan log page, resync with sbc3r03 + - add '-scum' and '-sthr' for setting defaults + - add device statistics log page (ssc + adc) + - fix "last n" deferred errors/error events incrementing + - partial addition of log subpages (spc4r03) + - sg_get_config: sync features with mmc5 rev 02b + - sg_wr_mode: mask out dpofua bit in mode select header + - sg_inq: try harder with '-A' to identify ATA device + - broaden meaning of '-d' option to decode ... + - decode software interface id VPD page ('-p=84 -d') + - decode device capabilities (ssc) VPD page ('-p=b0 -d') + - sginfo: correct defect list handling ('-d' and '-G') + - sg_verify: improve error processing (e.g. medium errors) + - sg_ses: scsi target_initiator port additional element + status (ses2r14) + - many: arguments that currently accept '0x' or '0X' to + indicate a hex number may alternatively take a trailing + 'h' or 'H' to indicate hex + - sg_lib: update asc/ascq strings (spc4r03) + - sg_lib+sg_cmds: make independent of linux via + sg_pt.h function based interface. + - linux pass through code placed in sg_pt_linux.c + - rename sg_include.h to sg_linux_inc.h + - linux specific code in sg_lib.[hc] moved to + sg_io_linux.[hc] + - port to FreeBSD: using sg_pt_freebsd.c + - port to Tru64: using sg_pt_osf1.c + - sg_cmds: add sg_ll_get_config(), sg_ll_format_unit(), + sg_ll_reassign_blocks(), sg_ll_persistent_reserve_in+out(), + sg_ll_read_long10(), sg_ll_verify10(), sg_ll_write_long10() + - sg_persist: add "allow commands" to report capabilities + - sg_persist_tst: (examples) takes device node as argument + - sg_luns: add "security protocol" wlun + +Changelog for sg3_utils-1.18 [20051118] [svn:63] + - sg_map26: new utility to map sg devices in lk 2.6 + - sg_luns: luns > 16,384 (sam-4 rev 4) + - sg_ses: bump fan speed field to 11 bits + - SAS connector names (ses2r13) + - sg_inq: add '-rr' option for "hdparm --Istdin" + - sg_get_config: tracking mmc-5 + - sg_write_long: add support for COR_DIS bit + - sg_cmds: add sg_ll_test_unit_ready_progress() + - sg_turs: '-p' option shows progress + - sg_dd: add 'iflag=' and 'oflag=' options + - remove output of mode page info when verbose > 0 + - add control of DPO bit via iflag/oflag + - sg_lib: add sg_get_pdt_str() + - update asc/ascq strings + - sg_modes + sginfo: add SAS(2) SSP shared mode subpage + - doc: rename "html" directory to "doc" + - Makefile: add 'libtool --finish' to install + +Changelog for sg3_utils-1.17 [20050922] [svn: 60] + - sg_inq: add '-a' option for ATA information VPD page + - add '-b' option for Block limits VPD page (SBC) + - add '-A' option for probing ATA or ATAPI device + - increase raw ('-r') and verbose ('-v') output for + ATA(PI) devices to 512 bytes (was 256 bytes) + - output hex ('-H') and verbose response for ATA(PI) + devices in 16 bit words (corrected for endianness) + - output bytes if '-HH' option given + - sync with spc4 rev 02 + - sg_lib: add dWordHex() and sg_is_big_endian() + - sync asc/ascq with spc4 rev 02 + - sg_cmds: defensive prefill for inquiry commands + - sg_opcodes: sync with spc4 rev 02 (add tmf I_T nexus reset) + - sginfo: add EBACKERR in Informational exception mode page + - add Background control mode page (SBC-3) + - sgm_dd: add 'verbose=<n>' option + +Changelog for sg3_utils-1.16 [20050810] [svn: 58] + - sg_ident: new utility to report+set device identifier + - sg_map: increase MAX_SG_DEVS from 256 to 2048 + - debian: new directory to support deb package builds + - sg_get_config: add '--current' option, same as '--rt=1' + - update for DVD+RW Dual Layer + - sg_inq: add notes in source about use of SCSI INQUIRY + - decode Management network addresses VPD page ('-m') + - decode Mode page policy VPD page ('-M') + - sginfo: increase device mapping capability (> 78 disks) + - add '-r' option to scan /dev/raw* device nodes [Tim Hunt] + - sg_dd: change bpt default value to 32 when bs >= 2048 bytes + - sg_ses: mention SAF-TE in man page + - sg_readcap: add '-b' option for brief output (2 hex numbers) + - sg_cmds: add sg_ll_start_stop_unit(), sg_ll_prevent_allow(), + sg_ll_report_dev_id() and sg_ll_set_dev_id() + - sg_lib: add extra argument to sense print functions to enable + the suppression of the raw output of the sense buffer + - resid > 0 warnings now includes number actually fetched + - sg_start: add '-load' and '-eject' options + - default to start action when no other indication given + - change -imm=0|1 option default to 0 (was 1) + - gcc 4.0: cleanup warnings (apart from sgp_dd: revisit later) + +Changelog for sg3_utils-1.15 [20050605] [svn: 56] + - sg_cmds: sg_get_mode_page_controls(): improve error processing, + add double fetch + - sg_turs, sg_rbuf, sg_requests, sg_test_rwbuf, sg_format, + sg_dd and sgm_dd: add O_NONBLOCK to open() + - sgm_dd: switch to use SG_IO ioctl (that leaves only + sgp_dd using the asynchronous sg write()/read() sequence) + - sg_ses: sync with rev 12 changes + - sg_map: extend to cope with sparse disk device names with + up to 3 letters (e.g. /dev/sdaaa) [Nate Dailey] + - sg_modes: add '-f' option to flexibly decode broken mode + sense responses. + - zero prefill response; stop decoding response after 3 + unit attention mode pages seen (i.e. malformed) + - add '-L' option for LLBAA bit in msense 10 cdb + - sg_reset: update man page + - sg_inq: VPD page 0x83: output eui addresses in hex as well + - Makefile: fix bug in rules for sgp_dd (when 'make dep' used) + - sg_format: expand explanations in its man page + - sg_inq, sg_logs, sg_modes, sg_opcodes, sg_rbuf, sg_readcap, + sg_scan, sg_senddiag, sg_start and sg_turs: allow command + line to take concaternated options + - sg_start: add -start and -stop to parallel "1" and "0" + - sg_senddiag: set pf bit with '-l' option + +Changelog for sg3_utils-1.14 [20050506] [svn: 54] + - sg_rmsn: new utility to read media serial number + - sg_rtpg: add T_SUP bit report + - sg_ses: ses-2 rev 11 changes (mainly to additional element status) + - add 'bay number' to SAS additional element status + - sg_modes: recognise attached enclosure and medium changer + - sg_inq: spell out non-zero peripheral qualifiers + - note VS bit preceding MultiP(ort) when latter set + - VPD page 0x83: output naa addresses in hex as well + - sginfo: recognise attached enclosure and medium changer + - increase device mapping capability (to 78 disks) + [Tim Hunt] + - sg_senddiag: add option to send raw diagnostic page + - sg_get_config: update some BD information + - sg_reasign: add '-g' option to give grown defect list length + - sg_dd: note default bpt value (128) may be too high for cd/dvds + - sg_lib: sync with SPC-3 rev 22a [opcodes + asc/q] + - add DID_IMM_RETRY and DID_REQUEUE [linux specific "host" bytes] + - sg_cmds: add send+receive diagnostic, read defect data commands + - add duration output on some commands when verbose > 2 + - spec: change to produce libsgutils (and -devel variant) as well as + sg3_utils binary rpms + - sdparm: new utility like hdparm but for SCSI disks (or other devices) + - moved to its own package called: sdparm + +Changelog for sg3_utils-1.13 [20050313] [svn: 52] + - sg_format: new utility to format disks (perhaps change block size) + - sg_ses: rename "device element" to "additional element" [SES-2 rev 10] + - add SAS expander and connector elements; add download + microcode and subenclosure nickname diagnostic pages + - fix additional element descriptor for SAS + - off by 1 error when no type descriptor text in config page + <David dot Baldwin at anu dot edu dot au> + - sg_logs: log page for background media scan results + - sginfo: add "-flba64" option for outputting 64 bit lba defect lists + - sg_get_config: additions for BD from MMC-5 rev 1b + - sg_lib: add SG_LIB_CAT_ILLEGAL_REQ sense category + - add sg_get_sense_progress_fld() + - SPC-3 rev21d updates: report + set timestamp + - sg_get_num() + sg_get_llnum(): switch to multipliers that + are compatible with SI and with IEC 60027-2. Used modern + GNU's dd command as guide. + - report field replaceable unit code in fixed format + - sg_dd: add logic to use read_long on unrecovered read errors when + 'coe' set, read just prior to error if 'coe' clear + - both 'odir' and 'blk_sgio" are honoured on block devices + - add 'verbose' switch, output some mode page info when verbose + - print out elapsed time/throughput when signal received + - add new web page discussing sg_dd, copy in html subdirectory + - sg_read: add 'blk_sgio' and 'odir' options + - sg_wr_mode: clear mode data length in mode select(10) + - sg_test_rwbuf: add long options, allow test to run multiple times + - sg_cmds: add sg_get_mode_page_types() [get current, changeable, etc] + - llseek.c: add Makefile rule without "-std=c99", breaks on some archs + +Changelog for sg3_utils-1.12 [20050121] [svn: 50] + - sg_wr_mode: new utility to modify (i.e. write to) mode pages + - sg_reassign: new utility: issues Reassign Blocks command + - sg_rtpg: new utility: issues Report Target Port Groups command + [Christophe Varoqui] + - ATA IDENTIFY command misspelt as "IDENTITY" in several places + - sginfo: tweak SAS mode pages to match sas 1.1 rev 07 + - add NV_DIS bit to disk caching mode page + - sg_map: open /dev/nst* rather than /dev/st* (to stop spurious rewinds) + - sg_lib: ATA return sense descriptor + - add sg_get_sense_info_fld() to fetch info field from sense data + - fix bug in sg_scsi_sense_desc_find() + - add sense key specific decoding for fixed format sense data + - sg_modes: extend '-p' option to allow '-p=<page_code>,<subpage_code>' + - add '-A' option to output all mode pages and subpages + - extend '-l' option to show subpages, selected command set pages + - sg_inq: fix LUN WWN output in unit path report VPD page (emc) + [Hergen Lange] + - sg_get_config: some additions for DVD-R dual layer + - sg_modes: show write protect (WP) and DpoFua flags for disks + - sg_cmds: add llbaa argument to sg_ll_mode_sense10() + +Changelog for sg3_utils-1.11 [20041126] [svn: 48] + - sg_sync: new utility: invokes the synchronize cache command + - sg_prevent: new utility: invokes the prevent allow medium removal command + - sg_get_config: new utility: get configuration command for dvds and cds + - sg_request: fix, allocation length wasn't set + - sg_start: remove '-s', as start_stop_unit implicitly syncs caches + - sg_ses: add SAS expander element type + - sg_inq: add sanity check to unit serial number (VPD page 0x80) + - output ANSI version string (e.g. "SPC-2", previously was number) + - add '-s' option to decode SCSI Ports VPD page + - sg_logs: decoding of format status and non-volatile cache log + pages (0x8 and 0x17 in sbc-2) + - sg_dd: handle compile error when O_DIRECT not defined + - sginfo: tighten sanity checks around Unit serial number VPD page + +Changelog for sg3_utils-1.10 [20041030] [svn: 46] + - sg_readcap, sg_dd, sgm_dd, sgp_dd: fix sg_ll_readcap_10+16 (sg_cmds.c) + - sg_luns: new utility to report luns + - sg_logs: with '-t' (show temperature) ignore extra parameters in + temperature log page (still show them with '-p=d') + - sg_ses: clean argument sanity checks + - sg_cmds: add more common command wrappers + +Changelog for sg3_utils-1.09 [20041022] [svn: 44] + - sg_ses: new utility to get status and set control on SES devices + - sg_verify: new utility to verify block devices + - sg_emc_trespass: new utility for EMC specific trespass mode page + - sg_request: new utility that sends a REQUEST SENSE command + - sg_logs: '-r' to reset to manufacturer's defaults + - decode last n error events and last n deferred errors pages + - add names of ADC log pages + - sg_inq: update to SPC-3 rev 21 + - decode Extended INQUIRY data VPD page [0x86] {'-x'} + - decode Unit Path Report VPD page [0xc0] (EMC) {'-P'} + - sginfo: decode SAS protocol specific lu mode page + - sg_err: convert to sg_lib + update to SPC-3 rev 21 + - change GPL to FreeBSD license + - flag vendor specific asc/ascq ranges + - libsgutils: library made from sg_lib.c and sg_cmds.c + - rpm "spec" file additionally builds a "-devel" rpm with + static libsgutils.a and sg_lib.h and sg_cmds.h + - utils/hxascdmp.c: add FreeBSD license + - sg_persist: additions to man page + - add sg_persist_tst.sh example script to examples directory + - sg_turs: add '-v' and '-V' options + - sg_senddiag: add '-v' option + +Changelog for sg3_utils-1.08 [20040831] [svn: 42] + - sg_inq: fix noisy message when EVPD and raw modes set + - for VPD page 0, list supported page names if known {'-e'} + - add '-d' option to list version descriptors + - sg_opcodes: numerically sort list of opcodes unless '-u' given + - add '-a' to sort alphabetically list of opcode names + - add '-t' to report supported task management functions + - sg_persist: add 'register and move" PROUT service action + - add transportId support, document in sg_persist.8 and example + - sg_modes: handle subpage code for known pages (e.g. control extension) + - clean up sense buffer handling (allow for descriptor format) + - SPC-3 draft revision 20a updates + - sg_write_long: new utility to exercise WRITE LONG command + - sg_read_long: new utility to exercise READ LONG command + - sg_err.c: fix compile errors when SG_KERNEL_INCLUDES defined in lk 2.6 + - sg_includes.h typedef of u64 for BLKGETSIZE64 ioctl in lk 2.4 + - add safe_strerror(), sg_scsi_normalize_sense(), sg_normalize_sense() + and sg_scsi_sense_desc_find() functions + - add more sense data descriptor format decoding + - move multiple implementations of dStrHex() into sg_err.c + - sg_logs: exit if SCSI INQUIRY fails (e.g. when applied to ATA disk) + - sginfo: bug fixes and SPC-3 revision 20a updates + - add '-E' option to access Control Extension mode (sub)page + - sg_start: change '-d' switch to '-v' (verbose) switch for consistency + - document extra power condition states in man page + - sg_readcap: output rto_en and prot_en bits from long read capacity data + - add COVERAGE file to list SCSI command coverage + +Changelog for sg3_utils-1.07 [20040708] [svn: 40] + - sginfo: clean up inquiry vendor,product,revision strings + - '-Fhead': sort defect list by head + Tom Steudten <steudten at mx dot ch> + - rework sg_err for better command name coverage: service actions, + variable length and peripheral device type + - update asc,ascq codes to SPC-3 revision 19 + - move scsi_devfs_scan to archive directory + - add sg_opcodes utility to list supported operation codes + - add sg_persist utility to support persistent reservations + - add '-i' option to sg_inq to decode device identification VPD page (0x83) + - sg_inq tries an ATA IDENTIFY if SCSI INQUIRY fails + - sg_dd, sgm_dd and sgp_dd calculate block device sizes (if count not given) + - drop SG_GET_VERSION_NUM ioctl guard in most utilities + +Changelog for sg3_utils-1.06 [20040426] [svn: 37] + - sg_logs: some HBAs don't like odd transfer lengths so increment + - do INQUIRY and output product strings + - add ASCII rendering of the Protocol specific SAS page + - add '-v' verbose option to output cdb + - sg_scan: optionally take device file names (e.g. /dev/hdc and /dev/sda) + - only request 36 byte INQUIRY responses + - sg_err: add sg_decode_sense() function + - sg_inq: update output (ref: SPC-3 t10/1416-d rev 17, 28 January 2004) + - remove '-p' option to print out PCI address of host + - add '-v' verbose option to output cdb + - sginfo: allow '-u' to take hex arguments (prefixed by '0x'), + when subpage value is 255 show multiple subpages + - accept /dev/hd? ATAPI devices directly in lk 2.6 + - add '-t <pn>[,<spn>]' argument; like '-u' but decodes page + if it recognizes it + - drop '-L' argument + - add cd/dvd, tape, SES, more disk and more SPC-3 decoded mode pages + - add transport protocol decoded mode pages for SPI-4, FCP and SAS + - sg_modes: print all subpages when '-subp=ff' is selected + - do INQUIRY and output product strings + - add '-v' verbose option to output cdb + - Makefile: add -W compile flag and fix exposed warnings + - .spec file: change to build on Mandrake without errors + +Changelog for sg3_utils-1.05 [20031112] [svn: 35] + - sginfo: major rework; add IE page, clean up control, cache + + disconnect pages (as per SPC-3 and SBC-2). + - when storing, update saved page (change from previous version) + - use 10 byte mode sense and select by default (override with '-6') + - mode subpage support + - sg_dd, sgm_dd + sgp_dd: + - 64 bit capable (read capacity; count, skip and seek values). + - numerical arguments accept hex (prefixed by '0x' or '0X') + - require bpt > 0 + - fix problem when reading /dev/null + - sg_dd: Treat SIGUSR1 properly: print stats and continue; + - sgp_dd: reduce READ CAPACITY response size to 8 bytes + - sg_read: require bpt > 0 + - sg_test_rwbuf: switch from sg_header to sg_io_hdr interface + N.B. After these changes no sg3_utils utilities (in the main directory) + use the sg_header interface + - sg_scan: switch from sg_header to sg_io_hdr interface + - sg_senddiag: increase extended foreground timeout to 60 minutes + - sg_inq: add names of peripheral device types + - sg_readcap: show total size in bytes, MB, GB + - sg_logs: read log pages twice (first time to get response length), for + fragile HBAs; decode Seagate 0x37 + 0x3e pages; display pcbs + - sg_modes: fix core dump when corrupted response, don't print extra pages + - sg_map: increase sg device scanning from 128 to 256 + - change man page references from lk 2.5 to lk 2.6 + - examples/sg_iovec_tst: added testing sg_iovec (sg_io_hdr iovec's) + [retrospective addition to this log: "#define __user" added into + sg_include.h so user space programs aren't broken if they choose + to include kernel header.] + - utils/hxascdmp: add utility for displaying ASCII hex + +Changelog for sg3_utils-1.04 [20030513] [svn: 33] + - all remaining utilities in the main directory have man pages [thanks + to Eric Schwartz <emschwar at debian dot org> for 7 man pages] + - add CREDITS file + - sg_simple1, sg_simple2, sg_simple3, sg_simple4, sg_simple16 and + scsi_inquiry: moved to the examples directory + - sg_debug: moved to the archive directory + - sg_modes: add '-subp=<n>' for sub page code, suggests 6/10 byte + alternative if bad opcode sense received, flip -cpf flag to -pf, + add page names for most peripheral types + - sg_turs: default '-n=' argument to 1, only when '-n=1' print error + message in full + - sg_logs: print temperature "<not available>" for 255, '-t' switch + for temperature (from either temperature or IE log page) + - sg_dd: add '-odir=0|1' switch for O_DIRECT on block devices + - sg_start: add '-imm', '-loej' and 'pc=<n>' switches plus man page + - sg_readcap: add '-pmi' and 'lba=<n>' switches + - open files O_NONBLOCK in sg_inq, sg_modes and sg_logs so they + can be used on cd/dvd drivers when there is no disk present + +Changelog for sg3_utils-1.03 [20030402] [svn: 30] + - sg_senddiag: added, allows self tests and listing of diag pages + - sg_start: changed to use SG_IO so works on block devices + - sg_err: print out some "sense key specific" data [Trent Piepho] + - sg_modes: add "-6" switch for force 6 byte MODE SENSE [Trent Piepho] + - sg_modes: more information on page codes and controls + - sg_inq, sg_modes, sg_logs, sg_senddiag: add man pages + - sg_dd: add "append=0|1" switch for glueing together large files + - note in README about utilities offered by scsirastools package + +Changelog for sg3_utils-1.02 [20030101] [svn: 28] + - sg_inq: check if cmddt or evpd bits ignored + - sg_inq: warn -o=<n> not used for standard INQUIRY + - sg_turs: add -t option to time Test Unit Ready commands + - sg_errs: (used by most utilities) warn if sense buffer empty + - sg_modes: make safe with block SG_IO (bypass SG_GET_SCSI_ID ioctl) + - sg_logs: make safe with block SG_IO, self-test page work + - sg_dd: add "blksg_io=" switch to experiment with block SG_IO + - sg_read: now use SG_IO ioctl rather than sg write/read + - sginfo: fix writing parameters, check for block devices that answer + sg's ioctls, recognize "scd<n>" device names + - sg_map: stop close error report on tape devices + - sg_readcap: make safe with block SG_IO + - sg_start: make safe with block SG_IO + - sg_test_rwbuf: make safe with block SG_IO + +Changelog for sg3_utils-1.01 [20020814] [svn: 27] +---------------------------- + - add raw switch ("-r") to sg_inq [Martin Schwenke] + +Changelog for sg3_utils-1.00 [20020728] [svn: 26] +---------------------------- + - update sg_err [to SPC-3 T10/1416-D Rev 07 3 May 2002] + - "sg_inq -cl" now outputs opcode names + - add "continue on error" option to sg_dd + - add _LARGEFILE64_SOURCE _FILE_OFFSET_BITS=64 defines to Makefile + - drop 'gen' argument from sg_dd and friends, allow any file types + except scsi tape device file names + - treat of=/dev/null as special (skip write). Accept of=. as alias + for of=/dev/null + - decode various log pages in sg_logs + - add 'dio' argument to sgm_dd for testing "zero copy" copies + +Changelog for sg3_utils-0.99 [20020317] +---------------------------- + - add 'fua' and 'sync' arguments to sg_dd, sgp_dd and sgm_dd + - improve sg_inq, add "-cl" and "-36" arguments + - add sg_modes + sg_logs for MODE SENSE and LOG SENSE queries + - add rescan-scsi-bus.sh [Kurt Garloff] to archive directory + +Changelog for sg3_utils-0.98 [20020216] +---------------------------- + - move sg_reset back from archive to main directory + build + - sprintf() to snprintf() changes + - add "time=<n>" argument to sg_dd, sgp_dd and sgm_dd to time transfer + - add man pages for sgm_dd and sg_read, update sg_dd and sgp_dd man pages + - add "cdbsz=" argument to sg_dd, sgp_dd, sgm_dd + sg_read + - add "gen=0|1" argument to sg_dd + +Changelog for sg3_utils-0.97 [20011223] +---------------------------- + - move isosize to archive since introduced into util-linux-2.10s + +Changelog for sg3_utils-0.96 [20011221] +---------------------------- + - add '-p' switch to sg_inq to provide PCI slot_name + - add '-n' switch to scsi_inquiry for non-blocking open + - new sgm_dd (dd variant) using mmap-ed IO + - sg_rbuf now has a '-m' argument to select mmap-ed IO + - sg_rbuf now has a '-t' switch to do timing + throughput calculation + - add sg_simple4 to demonstrate mmap-ed IO on an INQUIRY response + - add sg_simple16 to do a READ_16 (16 byte SCSI READ command) + - mmap-ed IO requires sg version 3.1.22 or later + - add sg_read to read multiple times starting at same offset + +Changelog for sg3_utils-0.95 [20010915] +---------------------------- + - make sg_dd, sgp_dd and archive/sgq_dd warn if dio selected but + /sys/module/sg/parameters/allow_dio is '0' + - sg_map can now do any INQUIRY (when '-i' argument given) + - expand example in scsi_inquiry + +Changelog for sg3_utils-0.94 [20010419] +---------------------------- + - add sg_start, documented in README.sg_start [Kurt Garloff] + - add osst support in sg_map [Kurt Garloff] + - improvements to sginfo [Kurt Garloff] + +Changelog for sg3_utils-0.93 [20010415] +---------------------------- + - more include file fine tuning + - some "dio" work sg_rbuf + - extend sgp_dd so "continue on error" works on normal files + - introduce sg_include.h to encapsulate sg include problems + - add scsi_devfs_scan + - add sg_bus_xfer to archive directory + - more error info in sginfo + +Changelog for sg3_utils-0.92 [20010116] +---------------------------- + - change sg_err.c output from stdout to stderr + - change sg_debug to call system("cat /proc/scsi/sg/debug"); + - fix in+out totals in sg_dd and sgp_dd when partial transfers + - lower include dependencies in sg_err.h + - add sgq_dd + Makefile to archive directory + +Changelog for sg3_utils-0.91 [20001221] +---------------------------- + - signalling handling added to sg_dd (and documented in sg_dd.8) + - add man page for sg_rbuf (and a small change to its code) + - add "-d" switch to isosize and cope with > 2 GB (and man page) + +Changelog for sg3_utils-0.90 +---------------------------- + - switch from dated versioning. Previous version was sg3_utils001012. + Arbitrarily start at package version 0.90 . Start Changelog. + - incorporate Kurt Garloff's patches from Suse scsi.spm source rpm + compilation: + - add Kurt Garloff's sg_test_rwbuf utility to read and write to disk + buffer + - clean up Makefile to include a "make install" (and also add a + "make uninstall"). + - add "-uno" switch to sginfo + - make raw and sg devices equally acceptable to sg_dd and sgp_dd. + [Raw devices still not as fast as sg devices doing disk to disk + copies in sgp_dd but this may be improved soon. Still faster than + using dd!] + - change lseek() in sg_dd and sgp_dd to _llseek() [using code borrowed + from fdisk] so big disks can be properly offset with 'skip' and + 'seek' arguments. [This change is significant for raw devices and + normal files since sg devices already use 31 bit block addressing.] + - rename sg_s3_inq to sg_inq. This utility allows the INQUIRY response + to be decoded as per SCSI 3 and 4. Also can probe VPD and CmdDt pages. + - change multiplier suffixes on sg_dd, sgp_dd and sg_turs so lower case + "k, m, g" are powers of 2 while "K, M, G" are powers of 10. This idea + borrowed from lmdd (lmbench suite) + - retire a few more less used utilities into the archive directory. + - add man pages for sg_dd, sgp_dd and sg_map |