Fixlist for Linux IBM Tape Device Driver (lin_tape) (C) Copyright IBM Corporation 2007-2019 Level Date Description --------------------------------------------------------------- 3.0.52 03/17/2020 - Initial support for RHEL 8.1 (min. kernel version 4.18.9.147) - Initial support for SLES 12 SP5 (min. kernel version 4.12.14-122) - Workaround for scsi request not detecting/reporting path down on RHEL 8.x 3.0.51 02/21/2020 - Fix for keeping track of reservation after failover - Fix for sg lock on RHEL7 - Fix for possible lock on device unconfig - Fix for drive dumps file names - Adjustment for LTO erase time out - Enhancement for install script 3.0.48 11/01/2019 - Initial support for RHEL 7.7 (min. kernel version 4.14.0-115 on Power and 3.10.0-1062 on Intel) 3.0.48 09/18/2019 - Initial support for RHEL 8 (min. kernel version 4.18.0-80) - Initial support for SLES 15 SP1 (min. kernel version 4.12.14-197.1) - Fix for crash when all paths removed during load balancing - Fix for null pointer on join with devices with alternate path disabled 3.0.46 07/31/2019 - General change for lock handling and devices table - Fix on daemon null pointer - Retry on unit attention and not ready sense on attachment - Daemon signal blocking fix - Introduced systemd (on RHEL 7, SLES 12 and SLES 15) - Fix for daemon not processing commands when removal in progress - Support flag for SLES - Initial support for SLES 12 SP4 (min. kernel version 4.12.14-94.41 x86_64, ppc64le and s390x) 3.0.39 02/18/2019 - Initial support for RHEL 7.6 (min. kernel version 3.10.0-957.1.3 only) 3.0.39 02/18/2019 - Initial support for SLES 12 SP4 (min. kernel version 4.12.14-94.41 ppc64le and s390x only) 3.0.39 12/06/2018 - Initial support for TS1160 - Initial support for RHEL 6.10 (min. kernel version 2.6.32-754 ppc64le and x86_64 only) - Initial support for Ubuntu 18.04 (min. kernel 4.15.0.34 only on ppc64le and x86_64) - Initial support for SLES 15 (min. kernel 4.12.14-23.1 only on ppc64le and s390x) - Fix for soft lock on rescan - Fix for udev attributes - New Archive Mode Unthread ioctls 3.0.33 07/27/2018 - Initial support for RHEL 7.5 (min. kernel version 3.10.0-862 only on ppc64le and x86_64) - Initial support for Ubuntu 16.04.3 (min. kernel 4.4.0-87 Only on x86_64) - Fixed bug on CPF failing over a different device - Reduced removal waiting when device busy - Added runtime attribute PID - Fix for double lock on rescan 3.0.32 06/07/2018 - Support for SLES 12 SP3 on kernels beyond 4.4.114 - Fix for lock condition introduced at 3.0.30 when attempt to open a device busy - Fox for join driver to return sense data after CPF event 3.0.31 04/26/2018 - Initial support for SLES 12 SP3 (min. kernel version 4.4.114-94) 3.0.30 04/11/20185 - Fixes on join some with crash potential during failover - Fix for join driver returning ENXIO on open - Fix for memory leak on join interfaces - Fix for Verify and extended read position application interface for missmatching endianness - Fix for logging when daemon stopped - Fix for race condition - Fix and enhancements for device removal - Fix for hang introduced at 3.0.20 on device removal during IO - Enhancements for daemon excess loop during failvoer - Fix for interlock of daemon with crash potential - Stop waiting when device gone detected - Work around ERP TOD from drive sense data parameter rounded - Fix to not use the device object once driver released - Removed small unporected window on read proc 3.0.23 11/03/2017 - Initial support for RHEL 7.4 (min. kernel version 3.10.0-693 only on ppc64, ppc64le and x86_64) - Initial support for RHEL 6.9 (min. kernel version 2.6.32-696) - Support for LTO8 - Fix for reservation conflict when reserve_6 used - Fix for failover after device rediscovery (introduced at 3.0.20) - Fix for device name after removal (introduced at 3.0.20) - Fix for read with resid through join interface 3.0.21 09/14/2017 - Fix to process sense data from srb combination flags - Enhancement to not attempt failover when only one path left - Fix for crash on concurrency (multiple process attempting to use the same device in stress scenario) - Fix for returning ENXIO instead attempting failover (introduced at 3.0.20) - Join driver to retry attachment on LUN not serlf configured 3.0.20 06/09/2017 - Reincorporated join driver (lin_tape_as_sfmp) with new build flag: -with sfmp - Work around for wrong SN reported by Inq. page 80h after failback - Fix for crash when HBA driver removed before lin_tape - Fix for mismatching device SN on failback - Fix for busy waits - Fix for file systems removals - Fix for file systems attributes names - Fix for column width at /proc/IBM for SN - Initial support for SLES 12 SP2 (min. kernel version 4.4.21-69) - Initial support for RHEL 7.3 (min. kernel version 3.10.0-514) - Initial support for RHEL 7.3 Power LE (min. kernel version 3.10.0-514) - Support for TS4300 3.0.18 03/08/2017 - Prevent crash from double delete objects on removal during wait scenarios (introduced at 2.2.0) - lin_tape_as_sfmp not supported in this version - Installation for blacklist.conf enhancements - Support for TS1155 3.0.16 01/06/2017 - Prevent crash introduced at 1.75.0 cleaning buffern and length on WRA during open - Prevent lock/crash introduced at 1.75.0 when device removal during open - Added dualaccesor_cpf for TSLM usage - Enhancement to installer to prevent blacklisting st and sg linux modules 3.0.13 11/11/2016 - Fix for passthru error recovery after EOD detected - Fixes for device removal during wait causing lock or crash - Fix to prevent lock over lock at scatter/gather when running with low memory - Updates on daemon configuration parameters naming to match lin_taped.conf with IUG instructions - Added daemon parameter TapeDevPermissions to lin_taped.conf 3.0.12 08/19/2016 - Fix for lin_tape_as_sfmp attachment on kenrnels 3.10.0 and beyond - Enhancement on lin_tape_as_sfmp installation 3.0.11 08/08/2016 - Added join driver back - Fixed multiple kernel dependencies for join - Enhancement on join install - Fix on join driver for scsi rescan 3.0.10 06/03/2016 - Removed join driver - New OEM library support - Initial support for RHEL 6.8 (min. kernel version 2.6.32-642) - Initial support for RHEL 7.2 (min. kernel version 3.10.0-327) 3.0.8 03/16/2016 - Prevent segfault at daemon - Fix for pfo device discovery at 390x arch. 3.0.7 02/23/2016 - Prevent crash from st/sg failover - Added reserve type to STIOCQRYP - Enabled SIOC_LOG_SENSE10 for changer - Added special open for preemption - Enabled TSM QUERY PR KEY for normal open - Fix for join build 3.0.6 02/26/2016 - Introduction of join driver (lin_tape_as_sfmp) 3.0.5 01/06/2016 - Fix to track LBP state - Prevent null pointer from scsi device - Fix for HBA call to restore LBP after failover 3.0.3 11/06/2015 - Removed warnings for big-endian introduced at 3.0.1 - Fix for hardcoded serial number length in daemon - Build/Install enhacements 3.0.2 09/11/2015 - Retry Abort 4b/06 - Fix for changer lock - Enhancement to disable autodump for all at once - Initial support for SLESS11 SP4 (min. kernel version 3.0.101-63) 3.0.1 08/25/2015 - Fix for RAO IOCTL's - Increased retry time for 2/3E/0 - Support for LTO7 3.0.0 06/26/2015 - Fix for pages leak at s/g ops - Initial support for RHEL 7.1 (min. kernel version 3.10.0-229) - Initial support for RHEL 6.7 (min. kernel version 2.6.32-573) 2.9.9 06/16/2015 - Fix for lock during autodump loop - Enhancement for bs>1M at kernels>2.6.29 - Fix for pages leak at s/g - Return ENOMEM instead of EIO from lin_tape_blk_req 2.9.8 05/08/2015 - Prevent cdev call with null pointer 2.9.7 04/28/2015 - 3592 WDRA timout increased to 5 min - Removed enhancement to handle lot of removals due to lock and crash, wait_on_config should be used instead 2.9.6 03/24/2015 - Removed printk at qry_blk_prot - Fix for SN/CPF alignment on SN>16 - Fix for page order adjustment that caused data corruption at 2.9.5 (only blocksize > 1M and kernel >= 2.6.29) - Daemond enhancement to handle lot of removals - Write lock hang during autodump and s/g - Fix for 3592/E08 generation id - Initial support for RHEL 6.6 (min. kernel version 2.6.32-504.8.1) 2.9.5 01/15/2015 - Adjustment to page order for r/w 2.9.4 12/05/2014 - Support for 3592/E08 - Fixes to multiple partition sizing - Fix to return rc on failed set active partition - Fix on failover enablement for SN > 16 - Added enablement for select OEM libraries - Initial support for RHEL 7 (min. kernel version 3.10.0-123) 2.9.3 10/27/2014 - Enhancement for SN/CPF gather - Fix for dump ready when s/g 2.9.2 08/26/2014 - Fix for partitioning PSUM and POFM bits - Fix for TSM enh inventory media type - RHEL 7 (min. kernel version 3.10.0-123) 2.9.1 07/28/2014 - Fix for chgr cmd call during device removal - Fix for tracing during device removal - Fixes for PR IOCTL's 2.9.0 06/29/2014 - RAO SA update and LBP CRC32C added 2.8.0 05/28/2014 - Enhancements to busy_retry 2.7.0 05/15/2014 - fixes for s/g on authomatic dump - fix for STIOCSETP on LWP set - Initial support for RHEL 6.5 (min. kernel version 2.6.32-431) 2.6.0 02/17/2014 - Added Recommend Access Order (RAO) - noreserve changer default for failover 2.5.0 01/14/2014 - Added SIOC_ENH_LOG_SENSE - Initial support for SLES11 SP3 (min kernel version 3.0.79-0.11) 2.4.0 12/18/2013 - Added Scatter/Gather for operations use. 2.3.0 10/01/2013 - Initial support for RHEL 6.4 (kernel version 2.6.32-358.18.1.el6) - Changed some indirection to double indirection for CPF - Rerouted some changer commands to go through the changer queue - Added debug tracing for the changer queue 2.2.0 08/06/2013 - Added optional persistent_n_device parameter to enable the ability to persistent name non rewind open. 2.1.0 06/11/2013 - Added busy_retry for TSM - Added ability to take log sense size desired for ITDT - Added definition to IBM_tape.h MTWEOFI - Changed default for Jag cartridge to 6 2.0.0 05/22/2013 - Removed flushing buffer on setposition 1.76.0 10/22/2012 - Failover fix for bug introduced in 1.75.0 - Initial support for RHEL 5.9 (min kernel version 2.6.18-348) 1.75.0 10/17/2012 - Implemented Dynamic Runtime Attributes - Fixed host reboot on microcode load of TS3310 - Fixed crash on drive cable pull 1.74.0 08/21/2012 - Support for 64-bit position counters - Fix bug in /proc/scsi/IBMchanger with many changers - Fix to changer open count when close fails 1.73.0 05/29/2012 - Allow option for setting TSM 3592 barcode to length 8 - Fix for SLES 11 SP2 hang on failback - Initial support for SLES11 SP2 (min kernel version 3.0.13-0.27) 1.72.0 05/22/2012 - Increase inquiry timeout to 180 for rediscovered device - Fix lin_taped crash on SAS rediscovered dvc, RH 5 & 6 1.71.0 05/07/2012 - Eliminate multiple "REMOVED" devices on failback - Implement MTWEOFI (write filemarks with immed=1) - Fix bug on reading prog. early warning parameter - Fix potential failover bugs on read and write 1.70.0 04/20/2012 - Fix crash on SLES 11 SP2 when offline device returns - Eliminate excessive trailing spaces in read proc - Increased inquiry timeout to three min. for failover 1.69.0 04/13/2012 - Fix infinite loop on read proc with small buffer size - Eliminate excessive print on unsuccessful key registration 1.68.0 03/13/2012 - Support for LTO 6 media types - Fix for crash in tape_read_proc and changer_read_proc - Data direction in failover set position from OUT to NONE 1.67.0 02/06/2012 - Implemented Programmable Early Warning - Implemented general Mode Sense function - Implemented Verify Data - Initial support for SLES 11 SP2 - Added LTO 6 inquiry strings 1.66.0 12/08/2011 - Prevent BUSY return status in multiple open changer 1.65.0 11/15/2011 - Change final PREEMPT to PREEMPT_AND_ABORT for DPF 1.64.0 11/04/2011 - Serialize IO for two instances of open changer (crash fix) 1.63.0 11/02/2011 - Catch failover case at beginning of IO requests 1.62.0 10/14/2011 - Call malloc before lock acquisition in load_unload - Unit attention and DPF handling for PREVENT_MEDIUM_REMOVAL - STIOCP: supply missing sili bit case - reallocate changer data if missing at start of IOCTL - Change remaining ENOMEM to EOVERFLOW in overlength read - Allow removal of lin_taped if not running 1.61.0 09/26/2011 - Allow for short erase in STERASE - Fix for crash when HBA driver uninstalled w/ alt_pathing 1.60.0 09/12/2011 - Fix sense copy error by accounting for DID_TARGET_FAILURE - Fix CPF/DPF error introduced in 1.58.0 in ERP function 1.59.0 08/25/2011 - Fix for read loop error with SILI bit on 1.58.0 08/12/2011 - Implementation of log sense page with subpage support - Added eot warning IOCTLs - Made READ SILI bit a changeable parameter - Change overlength read rc from ENOMEM to EOVERFLOW - Reset logical block protection on failover 1.57.0 07/15/2011 - Fix for timeout error introduced in 1.56.0 - Allow option for a SLES 11 and higher "supported" build 1.56.0 07/11/2011 - Fix handling of deferred EOM flag - Update changer timeouts to 900 1.55.0 06/17/2011 - Fix for structure size in logical block protection IOCTLs - Fix for invalid data returned with max modesense length - Introduce count to track number of open changer instances 1.54.0 05/05/2011 - Updated erase timeout for Jag4 1.53.0 04/13/2011 - Fix for crash when drive is power cycled while open 1.52.0 04/01/2011 - Clear flags on lin_tape_flush for future opens - Remove check of open/busy flags during changer open 1.51.0 02/18/2011 - Send TUR on CPF to clear RS-422 failure unit attention - Correlate device number with SCSI address in /proc/scsi - Fix seg fault with pseudo dvc when HBA driver uninstalled - Provide a method to disable setting density on open 1.50.0 01/25/2011 - Reduce size of kernel mem allocs to avoid alloc failure - Support for get/set block-level data protection (3592-E07) 1.49.0 12/15/2010 - Support for RHEL 6 - Implementation of partitioning for 3592-E07 - Fix for CPF error due to incorrect sense data returned 1.48.0 11/11/2010 - Return correct mt device number from MTDEVICE IOCTL 1.47.0 11/10/2010 - Fix for host hang in ERP 1.46.0 11/03/2010 - Fix for drives becoming unavailable after software reset 1.45.0 10/26/2010 - Fix CPF failure with cable pull before IO 1.44.0 10/18/2010 - Fix for crash when drive is reset during tape ops (zLinux) 1.43.0 10/01/2010 - Fix for crash when drive is reset during tape ops (pLinux) 1.42.0 07/20/2010 - Reduce size of stchgp_s struct to match user space struct 1.41.1 06/24/2010 - Fix for memory leak/crash in SLES 11 sp1 1.40.0 06/02/2010 - Increased page order on read-write in SLES 11 sp1 - Fixed infinite read loop on read failure 1.39.0 05/06/2010 - Support for SLES 11 SP 1 1.38.0 04/13/2010 - LTO 5 extended postitioning IOCTLs - Release descriptor lock before IO on init to avoid hang 1.37.0 03/15/2010 - Set Dynamic Runtime Attributes - Removed persistent naming script in favor of new method - Fix for duplicate changers in /proc/scsi/IBMchanger 1.36.0 03/02/2010 - Failover changes to support WORM and Data Safe Mode - Fix for EFAULT (Bad address) error on read 1.35.0 02/19/2010 - Fix for corruption on std write followed by passthru read 1.34.0 02/15/2010 - Fix for I/O errors on zLinux, LTO 5 1.33.0 02/02/2010 - LTO 5 updates 1.32.0 12/30/2009 - Failover fixes 1.31.1 12/04/2009 - LTO 5 partitioning IOCTLs - Fixes for SLES 11 failover 1.30.0 11/20/2009 - lin_taped multiple pid fix 1.29.0 10/26/2009 - SLES 11 failover implementation 1.28.0 09/02/2009 - SLES 11 device removal/reinitialization fix 1.27.0 08/25/2009 - Fix for failover failure error on SLES 10 & RHEL 4 1.26.2 08/04/2009 - Fix for crashes on RHEL 4.7 and SLES 11 1.25.0 06/23/2009 - Fix for scatter-gather page offset bug on PPC64 SLES11 - Added IOCTLs for persistent reserve 1.24.0 02/23/2009 - Support for SLES 11, kernel 2.6.27 - Fix for CPF configuration bug introduced in 1.23.0 1.23.0 01/19/2009 - CPF crash fix: cable pull/uninstall/reinstall sequence - Boundary check for max failover paths 1.22.0 11/25/2008 - Fix for crash in RHEL 4.7 - Updates for kernels >= 2.6.24 - DPF crash fix: cable pull/uninstall/reinstall sequence 1.21.0 10/23/2008 - Reserve logging - Add "primary_path" parameter for udev 1.20.0 10/15/2008 - read_cartridge_location to block transfers into at most 600 elements 1.19.0 09/15/2008 - IBMtapeutil fix for read_cartridge_location 1.18.0 08/22/2008 - Fix for struct device attribute in kernels >= 2.6.13 1.17.0 08/06/2008 - Add udev "dev" file for medium changers in kernels < 2.6.5 or > 2.6.15 1.16.0 06/27/2008 - Change GFP_ATOMIC allocations to GFP_KERNEL - Support for the 3592-E06 - Fix lin_taped restart crash after failback 1.15.0 05/21/2008 - Release source RPM - Update 3572 inquiry string to 3572-TL 1.14.0 04/30/2008 - Make module parameters read/writable - Fix for CPF key check on CVT 1.13.0 03/27/2008 - Support for 3572 1.12.1 03/07/2008 - Fixed hang introduced in 1.12.0 1.12.0 02/26/2008 - Created "dev" file in sysfs class directory for udev & udevinfo support - Changed 3592 (E05) references to support models beyond E05 1.11.0 12/11/2007 - Fixed seg fault when a logical dvc is accidentally removed - Fixed return code for SIOC_PASS_THROUGH - Implemented read cartridge location IOCTL - Removed WWNN filter check for DPF entitlement 1.10.0 10/01/2007 - Increaded timeout for best path selection - Fixed delete_parms_on_device() for failover - Fixed return code for SIOC_PASS_THROUGH - Fixed maximum scsi transfer size for - running on RHEL5/SLES10 SP1 on IA64 - Increased max log sense length 1.9.0 08/20/2007 - Added persistent naming support for RHEL5 and SLES10 - Increased maximum supported tape drives from 256 to 1024 1.8.0 07/26/2007 - Support LTO4 HH 1.7.1 08/06/2007 - Fixed max scsi transfer size for RHEL5 on System Z 1.7.0 07/03/2007 - Fix max scsi transfer size and sg for RHEL5 and SLES10 SP1 - Added MODULE_VERSION and MODULE_PARM_DESC for driver parms - Added warning message to syslog if release fails on close - Added wait_on_config driver parameter - Removed unnecessary messages from lin_tape.errorlog - Fixed 3592 density recovery on failover 1.6.0 05/22/2007 - Remove registered key if persistent reservation preemption fails during failover - Fixed read memory allocation on fixed block size 1.5.0 04/30/2007 - Fixed the residual count for RHEL5 - Support SLES10 SP1 1.4.0 04/30/2007 - Removed unwanted debug messages for direct I/O 1.3.0 04/12/2007 - Fix system-managed encryption for LTO4 - Support for SIOC_PASS_THROUGH ioctl - Support direct I/O - Add driver attributes default_sys_encryption_proxy/write 1.2.0 04/02/2007 - Support RHEL5 - Fix for ENOMEM on medium changer inventory with large number of slots 1.1.0 03/13/2007 - Application-managed encryption now enabled correctly - Fix for crash during CPF (when command never succeeds) - Fix for DPF license key validation for TS3200 library - Fix for daemon crash during data-path failover validation 1.0.9 02/19/2007 - Fix for hang when loading lin_tape - Fix for hang when removing module on SLES9 1.0.8 02/09/2007 - Fixes for system-managed encryption - Support for LTO4 encryption - Fix for data-path-failover on TS3200 - Fix for hang when running stress tests to multiple devices - Support for Asianux 2.0 1.0.7 01/18/2007 - Fix for hang on RHEL4 and SLES9 when loading the driver 1.0.6 01/05/2007 - Support for 3577, LTO4, and system-managed encryption - Support for RHEL4 and SLES9 - Fix for crash on read or write to changer 1.0.5 09/29/2006 - Initial release