aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog1919
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