]> git.pld-linux.org Git - packages/lin_tape.git/commitdiff
- up to 3.0.66, builds up to kernel 5.15 master auto/th/lin_tape-3.0.66-1
authorJan Rękorajski <baggins@pld-linux.org>
Mon, 25 Dec 2023 22:11:33 +0000 (23:11 +0100)
committerJan Rękorajski <baggins@pld-linux.org>
Mon, 25 Dec 2023 22:11:33 +0000 (23:11 +0100)
clean-ifdefs.patch
kernel-5.10.patch [deleted file]
kernel-5.12.patch [deleted file]
kernel-5.8.patch [deleted file]
lin_tape.fixlist
lin_tape.spec

index 04159a6799e24a4616e3a40b3071de2c42236e41..66e0a97e6bc7706a5cd4265dc3b05e247b5781ef 100644 (file)
@@ -1,7 +1,51 @@
-diff -ur lin_tape-3.0.18/Makefile lin_tape-3.0.18-ifdefs/Makefile
---- lin_tape-3.0.18/Makefile   2017-05-09 21:11:32.977092391 +0200
-+++ lin_tape-3.0.18-ifdefs/Makefile    2017-05-09 21:05:59.610307494 +0200
-@@ -20,26 +20,6 @@
+Only in lin_tape-3.0.66-ifdefs: lin_tape.fixlist
+diff -ur lin_tape-3.0.66/lin_tape_scsi_tape.c lin_tape-3.0.66-ifdefs/lin_tape_scsi_tape.c
+--- lin_tape-3.0.66/lin_tape_scsi_tape.c       2023-08-08 23:45:15.000000000 +0200
++++ lin_tape-3.0.66-ifdefs/lin_tape_scsi_tape.c        2023-12-25 23:05:43.253011166 +0100
+@@ -2028,8 +2028,8 @@
+                                       &drv->tape_log_len, TRC_SCSI_IOC);
+ #ifdef KERNELVERSION_5_14_0_70
+                       rc = scsi_ioctl(drv->dev_obj, command, (void*)arg);
+-#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5,14,0) && (LINUX_VERSION_CODE < KERNEL_VERSION(5, 14, 1) || defined(SLESSP5))
+-                      rc = scsi_ioctl(drv->dev_obj, filp->f_flags, command, (void*)arg);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5,15,0)
++                      rc = scsi_ioctl(drv->dev_obj, NULL, filp->f_flags, command, (void*)arg);
+ #else
+                       rc = scsi_ioctl(drv->dev_obj, command, (void*)arg);
+ #endif
+@@ -5597,8 +5597,8 @@
+               log_changer((*chgp), TRC_SMCIOC_CMD, True);
+ #ifdef KERNELVERSION_5_14_0_70
+               rc = scsi_ioctl((*chgp)->dev_obj, command, (void*)arg);
+-#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5,14,0) && (LINUX_VERSION_CODE < KERNEL_VERSION(5,14,1) || defined(SLESSP5))
+-              rc = scsi_ioctl((*chgp)->dev_obj, filp->f_flags, command, (void*)arg);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5,15,0)
++              rc = scsi_ioctl((*chgp)->dev_obj, NULL, filp->f_flags, command, (void*)arg);
+ #else
+               rc = scsi_ioctl((*chgp)->dev_obj, command, (void*)arg);
+ #endif
+@@ -11556,7 +11556,7 @@
+       memset(pages, '\0', drv->supported_sg_tablesize * sizeof(struct page*));
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,14,0)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,8,0)
+       down_read(&current->mm->mmap_lock);
+ #else
+       down_read(&current->mm->mmap_sem);
+@@ -11577,7 +11577,7 @@
+       mapped_pages = get_user_pages(current, current->mm,
+               (ulong)user_location, number_pages, rw, 0, pages, NULL);
+ #endif
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,14,0)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,8,0)
+       up_read(&current->mm->mmap_lock);
+ #else
+       up_read(&current->mm->mmap_sem);
+diff -ur lin_tape-3.0.66/Makefile lin_tape-3.0.66-ifdefs/Makefile
+--- lin_tape-3.0.66/Makefile   2023-08-08 23:45:15.000000000 +0200
++++ lin_tape-3.0.66-ifdefs/Makefile    2023-12-25 23:02:51.396800274 +0100
+@@ -20,55 +20,10 @@
  lin_tape-objs := join.o lin_tape_scsi_config.o lin_tape_scsi_tape.o lin_tape_scsi_trace.o \
               lin_tape_ioctl_tape.o lin_tape_ioctl_changer.o lin_tape_extra_ioctl.o
  
@@ -20,21 +64,54 @@ diff -ur lin_tape-3.0.18/Makefile lin_tape-3.0.18-ifdefs/Makefile
 -KERNELVER = $(shell uname -r 2>/dev/null|sed "s/[\.-]/_/g"|sed "s/\([0-9]*_[0-9]*_[0-9]*_[0-9]*\).*/\1/")
 -EXTRA_CFLAGS += -DSLESKERNEL_${KERNELVER}
 -SLESSP2 := $(shell grep -qi SP2 /etc/*release && echo 1 || echo 0)
+-SLESSP5 := $(shell grep -qi SP5 /etc/*release && echo 1 || echo 0)
 -ifeq ($(SLESSP2), 1)
 -EXTRA_CFLAGS += -DSLESSP2
 -endif
+-ifeq ($(SLESSP5), 1)
+-EXTRA_CFLAGS += -DSLESSP5
 -endif
 -endif
+-endif
+-
  ifeq ($(SFMP), 1)
  EXTRA_CFLAGS += -DSFMPENABLED
-diff -ur lin_tape-3.0.18/pfo.h lin_tape-3.0.18-ifdefs/pfo.h
---- lin_tape-3.0.18/pfo.h      2017-02-23 19:14:41.000000000 +0100
-+++ lin_tape-3.0.18-ifdefs/pfo.h       2017-05-09 21:06:34.117699008 +0200
-@@ -26,133 +26,6 @@
-  * will build for various releases of Linux.  This is how
-  * we track different versions using ifdef in the source.
-  */
+ endif
+-PROC := $(shell uname -m)
+-ifeq ($(UBUNTURELEASE), 0)
+-ifeq ($(PROC), ppc64)
+-EXTRA_CFLAGS += -m64
+-endif
+-
+-ifeq ($(PROC), powerpc64)
+-EXTRA_CFLAGS += -m64
+-endif
+-
+-ifeq ($(PROC), powerpc)
+-EXTRA_CFLAGS += -m64 -msoft-float
+-LDFLAGS += -melf64ppc
+-endif
+-
+-ifeq ($(PROC), x86_64)
+-EXTRA_CFLAGS += -mcmodel=kernel
+-endif
+-endif
+-
+ VERSION := $(word 1,$(VERSIONRELEASE))
+ RELEASE := $(word 2,$(VERSIONRELEASE))
+ ifeq ($(RELEASE),)
+diff -ur lin_tape-3.0.66/pfo.h lin_tape-3.0.66-ifdefs/pfo.h
+--- lin_tape-3.0.66/pfo.h      2023-08-08 23:45:15.000000000 +0200
++++ lin_tape-3.0.66-ifdefs/pfo.h       2023-12-25 23:02:51.400133506 +0100
+@@ -23,149 +23,6 @@
+ #include "apfo.h"
+ #include <scsi/scsi_ioctl.h>
+-/* The intent of the following defines is that the code
+- * will build for various releases of Linux.  This is how
+- * we track different versions using ifdef in the source.
+- */
 -#ifdef KERNELVERSION_2_6_32_220
 -#define BEFORE_RH_63 1
 -#define BEFORE_RH_64 1
@@ -162,99 +239,59 @@ diff -ur lin_tape-3.0.18/pfo.h lin_tape-3.0.18-ifdefs/pfo.h
 -#define AFTER_RH_72 1
 -#endif
 -#ifdef KERNELVERSION_3_10_0_693
- #define AFTER_RH_62 1
- #define AFTER_RH_63 1
- #define AFTER_RH_64 1
-@@ -126,7 +35,6 @@
- #define AFTER_RH_71 1
- #define AFTER_RH_72 1
- #define AFTER_RH_73 1
+-#define AFTER_RH_62 1
+-#define AFTER_RH_63 1
+-#define AFTER_RH_64 1
+-#define AFTER_RH_65 1
+-#define AFTER_RH_66 1
+-#define AFTER_RH_67 1
+-#define AFTER_RH_6x 1
+-#define AFTER_RH_70 1
+-#define AFTER_RH_71 1
+-#define AFTER_RH_72 1
+-#define AFTER_RH_73 1
 -#endif
  
  /* Misc defines needed so source is same for all versions of Linux */
  #ifndef SDEV_TRANSPORT_OFFLINE
---- lin_tape-3.0.52/lin_tape_scsi_config.h~    2020-04-04 21:53:09.000000000 +0200
-+++ lin_tape-3.0.52/lin_tape_scsi_config.h     2020-04-04 21:56:46.600032193 +0200
-@@ -64,9 +64,6 @@
-     ("IBM Tape Drives and Libraries");
- MODULE_LICENSE("GPL");
- MODULE_VERSION("3.0.60");
--#if defined(SLESVERSION)
--MODULE_INFO(supported, "external");
--#endif // defined
- /* driver parameters */
- int support_dio = 1;
- module_param(support_dio, int, 0);
---- lin_tape-3.0.52/sgmp.c~    2020-03-05 19:43:09.000000000 +0100
-+++ lin_tape-3.0.52/sgmp.c     2020-04-04 21:57:56.793366544 +0200
-@@ -34,7 +34,7 @@
-  */
- #include <linux/version.h>
--#if !defined(SLESVERSION) && LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0)
- /*
-  *  History:
-  *  Started: Aug 9 by Lawrence Foard (entropy@world.std.com),
-@@ -3012,7 +3012,7 @@
-       return 0;
- }
- #endif                                /* CONFIG_SCSI_PROC_FS */
--#elif !defined(SLESVERSION) && LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
-+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
- static int sg_version_num = 30536;    /* 2 digits for each component */
- #define SG_VERSION_STR "3.5.36"
-@@ -6026,7 +6026,7 @@
- }
- #endif                                /* CONFIG_SCSI_PROC_FS */
--#elif !defined(SLESVERSION) && LINUX_VERSION_CODE == KERNEL_VERSION(2,6,32)
-+#elif LINUX_VERSION_CODE == KERNEL_VERSION(2,6,32)
- static int sg_version_num = 30534;    /* 2 digits for each component */
- #define SG_VERSION_STR "3.5.34"
---- lin_tape-3.0.52/stmp.c~    2020-03-05 19:43:09.000000000 +0100
-+++ lin_tape-3.0.52/stmp.c     2020-04-04 21:58:35.473367112 +0200
-@@ -42,7 +42,7 @@
-  */
- #include <linux/version.h>
--#if !defined(SLESVERSION) && LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0)
- /*
-    SCSI Tape Driver for Linux version 1.1 and newer. See the accompanying
-    file Documentation/scsi/st.txt for more information.
-@@ -5108,7 +5108,7 @@
-       return 0;
- }
--#elif !defined(SLESVERSION) && LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
-+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
- #include <linux/module.h>
- #include <linux/fs.h>
- #include <linux/kernel.h>
-@@ -10137,7 +10137,7 @@
-       return 0;
- }
--#elif !defined(SLESVERSION) && LINUX_VERSION_CODE == KERNEL_VERSION(2,6,32)
-+#elif LINUX_VERSION_CODE == KERNEL_VERSION(2,6,32)
- #include <linux/module.h>
- #include <linux/fs.h>
- #include <linux/kernel.h>
---- lin_tape-3.0.52/upper.c~   2020-04-04 21:55:46.000000000 +0200
-+++ lin_tape-3.0.52/upper.c    2020-04-04 21:59:12.536700966 +0200
-@@ -273,7 +273,7 @@
-       if (copy_from_user(pfo_cmd->scsi_cmd, hdr->cmdp, hdr->cmd_len))
-               return -EFAULT;
+diff -ur lin_tape-3.0.66/upper.c lin_tape-3.0.66-ifdefs/upper.c
+--- lin_tape-3.0.66/upper.c    2023-08-08 23:45:15.000000000 +0200
++++ lin_tape-3.0.66-ifdefs/upper.c     2023-12-25 23:05:43.253011166 +0100
+@@ -255,8 +255,8 @@
+                       DBG_INFO("Sent to kernel cmd=0x%04X\n", ioctl_cmd);
+ #ifdef KERNELVERSION_5_14_0_70
+                       return scsi_ioctl(sdev, ioctl_cmd, arg);
+-#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5,14,0) && (LINUX_VERSION_CODE < KERNEL_VERSION(5, 14, 1) || defined(SLESSP5))
+-                      return scsi_ioctl(sdev, filp->f_flags, ioctl_cmd, arg);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5,15,0)
++                      return scsi_ioctl(sdev, NULL, filp->f_flags, ioctl_cmd, arg);
+ #else
+                       return scsi_ioctl(sdev, ioctl_cmd, arg);
+ #endif
+@@ -279,8 +279,8 @@
+       } else {
+ #ifdef KERNELVERSION_5_14_0_70
+               return scsi_ioctl(sdev, ioctl_cmd, arg);
+-#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5,14,0) && (LINUX_VERSION_CODE < KERNEL_VERSION(5, 14, 1) || defined(SLESSP5))
+-              return scsi_ioctl(sdev, filp->f_flags, ioctl_cmd, arg);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5,14,0)
++              return scsi_ioctl(sdev, NULL, filp->f_flags, ioctl_cmd, arg);
+ #else
+               return scsi_ioctl(sdev, ioctl_cmd, arg);
+ #endif                
+@@ -305,9 +305,9 @@
  
--#if LINUX_VERSION_CODE > KERNEL_VERSION(3,12,0) && (defined(SLESVERSION) || defined(UBUNTUVERSION))
-+#if LINUX_VERSION_CODE > KERNEL_VERSION(3,12,0)
+ #ifdef KERNELVERSION_5_14_0_70 
+       if (blk_verify_command(pfo_cmd->scsi_cmd, mode & FMODE_WRITE))
+-#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5,14,0) && (LINUX_VERSION_CODE < KERNEL_VERSION(5, 14, 1) || defined(SLESSP5))
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5,15,0)
+       if (!scsi_cmd_allowed(pfo_cmd->scsi_cmd, mode & FMODE_WRITE))
+-#elif LINUX_VERSION_CODE > KERNEL_VERSION(3,12,0) && (defined(SLESVERSION) || defined(UBUNTUVERSION))
++#elif LINUX_VERSION_CODE > KERNEL_VERSION(3,12,0)
        if (blk_verify_command(pfo_cmd->scsi_cmd, mode & FMODE_WRITE))
  #else
        /* RHEL 6.4 and beyond */
-@@ -525,14 +525,12 @@
+@@ -564,14 +564,12 @@
                /* SG_IO howto says that the shorter of the two wins */
                iov_data_len = iov_length((struct iovec *)iov,
                                        hdr->iovec_count);
@@ -269,24 +306,48 @@ diff -ur lin_tape-3.0.18/pfo.h lin_tape-3.0.18-ifdefs/pfo.h
                pfo_cmd.buffer = iov;
                pfo_cmd.bufflen = iov_data_len;
                pfo_cmd.iov_count = hdr->iovec_count;
-@@ -622,7 +620,7 @@
-       if (in_len && copy_from_user(buffer, sic->data + cmdlen, in_len))
-               goto error;
+@@ -663,9 +661,9 @@
  
--#if LINUX_VERSION_CODE > KERNEL_VERSION(3,12,0) && (defined(SLESVERSION) || defined(UBUNTUVERSION))
-+#if LINUX_VERSION_CODE > KERNEL_VERSION(3,12,0)
+ #ifdef KERNELVERSION_5_14_0_70 
+       err = blk_verify_command(scsi_cmd, mode & FMODE_WRITE);
+-#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5,14,0) && (LINUX_VERSION_CODE < KERNEL_VERSION(5, 14, 1) || defined(SLESSP5))
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5,15,0)
+       err = !scsi_cmd_allowed(scsi_cmd, mode & FMODE_WRITE);
+-#elif LINUX_VERSION_CODE > KERNEL_VERSION(3,12,0) && (defined(SLESVERSION) || defined(UBUNTUVERSION))
++#elif LINUX_VERSION_CODE > KERNEL_VERSION(3,12,0)
        err = blk_verify_command(scsi_cmd, mode & FMODE_WRITE);
  #else
        /* RHEL 6.4 and beyond */
---- lin_tape-3.0.52/intercept.c~       2020-03-05 19:43:09.000000000 +0100
-+++ lin_tape-3.0.52/intercept.c        2020-04-04 21:59:43.190034776 +0200
-@@ -2492,9 +2492,6 @@
- MODULE_LICENSE("GPL");
- MODULE_VERSION(PFO_VERSION_STR);
- MODULE_INFO(date, PFO_DATE_STR);
--#if defined(SLESVERSION)
--MODULE_INFO(supported, "external");
--#endif
- #if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,32)
- module_param(netbackup, int, 0444);
- MODULE_PARM_DESC(netbackup, "!=0 to use with NetBackup application");
+@@ -785,8 +783,8 @@
+                       DBG_INFO("Sent to kernel cmd=0x%04X\n", ioctl_cmd);
+ #ifdef KERNELVERSION_5_14_0_70
+                       return scsi_cmd_ioctl(q, disk, mode, ioctl_cmd, arg);
+-#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5,14,0) && (LINUX_VERSION_CODE < KERNEL_VERSION(5, 14, 1) || defined(SLESSP5))
+-                      return scsi_ioctl(sdev, mode, ioctl_cmd, arg);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5,15,0)
++                      return scsi_ioctl(sdev, disk, mode, ioctl_cmd, arg);
+ #else
+                       return scsi_cmd_ioctl(q, disk, mode, ioctl_cmd, arg);
+ #endif
+@@ -809,8 +807,8 @@
+       } else {
+ #ifdef KERNELVERSION_5_14_0_70
+               return scsi_cmd_ioctl(q, disk, mode, ioctl_cmd, arg);
+-#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5,14,0) && (LINUX_VERSION_CODE < KERNEL_VERSION(5, 14, 1) || defined(SLESSP5))
+-              return scsi_ioctl(sdev, mode, ioctl_cmd, arg);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5,15,0)
++              return scsi_ioctl(sdev, disk, mode, ioctl_cmd, arg);
+ #else
+               return scsi_cmd_ioctl(q, disk, mode, ioctl_cmd, arg);
+ #endif
+@@ -963,8 +961,8 @@
+       } else {
+ #ifdef KERNELVERSION_5_14_0_70
+               return sg_scsi_ioctl(q, disk, mode, sic);
+-#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5,14,0) && (LINUX_VERSION_CODE < KERNEL_VERSION(5, 14, 1) || defined(SLESSP5))
+-              return scsi_ioctl(sdev, mode, cmd_in, sic);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5,15,0)
++              return scsi_ioctl(sdev, disk, mode, cmd_in, sic);
+ #else
+               return sg_scsi_ioctl(q, disk, mode, sic);
+ #endif
diff --git a/kernel-5.10.patch b/kernel-5.10.patch
deleted file mode 100644 (file)
index d0f1b13..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-diff -ur lin_tape-3.0.56/lin_tape_scsi_config.h lin_tape-3.0.56-5.12/lin_tape_scsi_config.h
---- lin_tape-3.0.56/lin_tape_scsi_config.h     2021-05-03 22:17:53.707525951 +0200
-+++ lin_tape-3.0.56-5.12/lin_tape_scsi_config.h        2021-05-03 22:16:45.960370794 +0200
-@@ -220,6 +218,7 @@
- {
-       return single_open(file, tape_read_proc, NULL);
- }
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(5,10,0)
- static struct file_operations tape_proc_ops = {
-     .owner   = THIS_MODULE,
-     .open    = tape_open_proc,
-@@ -227,6 +226,14 @@
-     .llseek  = seq_lseek,
-     .release = single_release,
- };
-+#else
-+static struct proc_ops tape_proc_ops = {
-+    .proc_open    = tape_open_proc,
-+    .proc_read    = seq_read,
-+    .proc_lseek  = seq_lseek,
-+    .proc_release = single_release,
-+};
-+#endif
- #endif
- int rd_pc_initial
-@@ -252,6 +259,7 @@
- {
-       return single_open(file, changer_read_proc, NULL);
- }
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(5,10,0)
- static struct file_operations changer_proc_ops = {
-     .owner   = THIS_MODULE,
-     .open    = changer_open_proc,
-@@ -259,6 +267,14 @@
-     .llseek  = seq_lseek,
-     .release = single_release,
- };
-+#else
-+static struct proc_ops changer_proc_ops = {
-+    .proc_open    = changer_open_proc,
-+    .proc_read    = seq_read,
-+    .proc_lseek  = seq_lseek,
-+    .proc_release = single_release,
-+};
-+#endif
- #endif
- static int status_read_proc
-@@ -270,6 +286,7 @@
- {
-       return single_open(file, status_read_proc, NULL);
- }
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(5,10,0)
- static struct file_operations status_proc_ops = {
-     .owner   = THIS_MODULE,
-     .open    = status_open_proc,
-@@ -277,6 +294,14 @@
-     .llseek  = seq_lseek,
-     .release = single_release,
- };
-+#else
-+static struct proc_ops status_proc_ops = {
-+    .proc_open    = status_open_proc,
-+    .proc_read    = seq_read,
-+    .proc_lseek  = seq_lseek,
-+    .proc_release = single_release,
-+};
-+#endif
- #endif
- int rdstatus_pc_initial
-                  (pfo_cmd->source != PFO_SOURCE_EXEC)) {
diff --git a/kernel-5.12.patch b/kernel-5.12.patch
deleted file mode 100644 (file)
index 458b6a7..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-diff -ur lin_tape-3.0.56/lin_tape_ioctl_tape.c lin_tape-3.0.56-5.12/lin_tape_ioctl_tape.c
---- lin_tape-3.0.56/lin_tape_ioctl_tape.c      2020-12-07 05:40:22.000000000 +0100
-+++ lin_tape-3.0.56-5.12/lin_tape_ioctl_tape.c 2021-05-03 22:15:51.643418382 +0200
-@@ -6552,7 +6552,11 @@
-       srq->retries = 0;
- #endif
-       req->timeout = timeout;
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(5,12,0)
-       blk_execute_rq(req->q, NULL, req, 1);
-+#else
-+      blk_execute_rq(NULL, req, 1);
-+#endif
- #if LINUX_VERSION_CODE <= KERNEL_VERSION(4,11,0)
-       *resid = req->resid_len;
-       status_code = req->errors;
-diff -ur lin_tape-3.0.56/lin_tape_scsi_config.h lin_tape-3.0.56-5.12/lin_tape_scsi_config.h
---- lin_tape-3.0.56/lin_tape_scsi_config.h     2021-05-03 22:17:53.707525951 +0200
-+++ lin_tape-3.0.56-5.12/lin_tape_scsi_config.h        2021-05-03 22:16:45.960370794 +0200
-@@ -60,8 +60,6 @@
- MODULE_AUTHOR("IBM Corporation");
- MODULE_DESCRIPTION
-     ("IBM Linux SCSI Tape Device Driver for IBM and other vendor Tape Devices");
--MODULE_SUPPORTED_DEVICE
--    ("IBM Tape Drives and Libraries");
- MODULE_LICENSE("GPL");
- MODULE_VERSION("3.0.60");
- /* driver parameters */
-diff -ur lin_tape-3.0.56/lower.c lin_tape-3.0.56-5.12/lower.c
---- lin_tape-3.0.56/lower.c    2020-12-07 05:40:22.000000000 +0100
-+++ lin_tape-3.0.56-5.12/lower.c       2021-05-03 22:17:26.597339365 +0200
-@@ -541,7 +541,11 @@
-       rq->timeout = pfo_cmd->timeout;
-       rq->end_io_data = pfo_cmd;
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(5,12,0)
-       blk_execute_rq(rq->q, NULL, rq, 1);
-+#else
-+      blk_execute_rq(NULL, rq, 1);
-+#endif
-       if (bio && (pfo_cmd->source != PFO_SOURCE_CMD_1) &&
-                  (pfo_cmd->source != PFO_SOURCE_EXEC)) {
diff --git a/kernel-5.8.patch b/kernel-5.8.patch
deleted file mode 100644 (file)
index e7027c2..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
---- lin_tape-3.0.52/lin_tape_scsi_tape.c~      2020-03-05 19:43:09.000000000 +0100
-+++ lin_tape-3.0.52/lin_tape_scsi_tape.c       2020-08-16 18:55:05.857678020 +0200
-@@ -11533,7 +11533,11 @@
-       memset(pages, '\0', drv->supported_sg_tablesize * sizeof(struct page*));
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(5,8,0)
-       down_read(&current->mm->mmap_sem);
-+#else
-+      mmap_read_lock(current->mm);
-+#endif
- #if LINUX_VERSION_CODE == KERNEL_VERSION(4,4,73) \
-       || (LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,92) && LINUX_VERSION_CODE < KERNEL_VERSION(4,4,103)) \
-       || defined(SLESKERNEL_4_4_103_6) \
-@@ -11548,7 +11552,11 @@
-       mapped_pages = get_user_pages(current, current->mm,
-               (ulong)user_location, number_pages, rw, 0, pages, NULL);
- #endif
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(5,8,0)
-       up_read(&current->mm->mmap_sem);
-+#else
-+      mmap_read_unlock(current->mm);
-+#endif
-       if(mapped_pages < number_pages) {
-               rc = -EFAULT;
index 337eaf7b667e47fa38563888e55ef953b5fb0ce7..ae3680fb33b9eb955a9b9ae85cbab767c25e8b4a 100644 (file)
-Fixlist for Linux IBM Tape Device Driver (lin_tape)
-
-(C) Copyright IBM Corporation 2007-2022
-
- Level      Date                   Description
----------------------------------------------------------------
-3.0.60  07/08/2021  - Initial support for RHEL 8.6 (min. kernel 4.18.0-372 (only on x86_64 and ppc64le)
-                    - New TSM IOCTL
-3.0.59  01/26/2021  - Initial support for RHEL 8.5 
-       11/11/2021  - Fix for passthru s/g buffers on read/write
-                    - Fix for st crash on unsupported cmd
-                    - Removed excesive prints for get timeouts
-                   - Support for LTO9
-3.0.58  10/25/2021  - New lin_tape_ignoreOEM parameter
-                    - Fix for crash on join driver st interface buffer >= 2MB
-                    - Removed timouts initialization table from attachment to avoid delays on device becoming ready
-                    - CPF change to attempt a max of 2 retries when hardware error
-3.0.57  08/30/2021  - Initial support for SLES 15 SP3 (min. kernel 5.3.18-57 Power, Intel, System Z)
-        07/26/2021  - Initial support for RHEL 8.4 (min. kernel 4.18.0-305 x86_64, ppc64le, s390x)
-                   - Changer to retry abort and becoming ready state
-                    - CPF improvements
-                    - Fix for memory leak
-                    - Not to retry rimeouts request on invalid request
-3.0.56  02/12/2021  - Initial support for RHEL 8.3 (min. kernel 4.18.0-240 x86_64 and Power)
-       12/31/2020  - Initial support for RHEL 7.9 (min. kernel 3.10.0-1160 x86_64 and Power)
-                   - Enhancement to allow multiple changer open handles during critical IO
-                   - Removed recommended tmo parameters warnings
-                   - Fix for auto timeout retrieval on re-discovery failing command for timout retrieval when successful on initial discovery
-3.0.55  07/31/2020  - Initial support for SLES 15 SP2 (min. kernel version 5.3.18-24.15.1)
-                    - Autotime retrieval
-                    - Fix on passthru failover on changer from invalid request
-                   - RAO for LTO
-3.0.53 06/02/2020   - Initial support for RHEL 7.8 (min. kernel version 3.10.0-1127.8.2 on x86_64 and Power and 4.14.0-115.el7a on Power9)
-                    - Initial support for RHEL 8.2 (min. kernel version 4.18.0-193 x86_64 and Power)
-                    - Initial support for Ubuntu 18.04.4 (min kernel version 5.3.0-46 only on ppc64le and x86_64)
-                    - Removed line space at proc output
-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
+Fixlist for Linux IBM Tape Device Driver (lin_tape)\r
+\r
+(C) Copyright IBM Corporation 2007-2023\r
+\r
+ Level      Date                   Description\r
+---------------------------------------------------------------\r
+3.0.66  09/29/2023  - Initial support for SLES 15 SP5 (min. kernel 5.14.21-150500)\r
+3.0.65  08/22/2023  - Initial support for RHEL 9.2 (no join driver)\r
+                    - Initial support for RHEL 8.8\r
+                    - Changed print auto timeouts retrieval fails to only print when debug enabled\r
+                    - Support for TS1170\r
+3.0.64  02/10/2023  - Initial support for RHEL 9.1 (min. kernel 5.14.0-162 x86_64, ppc64le)\r
+        02/03/2023  - Fix to attach when inq p0x83 not available\r
+                    - Initial support for RHEL 8.7 (min. kernel 4.18.0-425)\r
+                    - Fix to get sense data on kernel >= 5.14\r
+3.0.63  10/07/2022  - Initial support for SLES15 SP4 (min. 5.14.21-150400.22.1)\r
+                    -  Work around to allow vpd gather on sles15 sp4\r
+3.0.61  09/02/2022  - Initial support for RHEL 9.0 (min. kernel 5.14.0-70 no join driver support)\r
+3.0.60  07/08/2021  - Initial support for RHEL 8.6 (min. kernel 4.18.0-372)\r
+                    - New TSM IOCTL\r
+3.0.59  01/26/2021  - Initial support for RHEL 8.5 \r
+        11/11/2021  - Fix for passthru s/g buffers on read/write\r
+                    - Fix for st crash on unsupported cmd\r
+                    - Removed excesive prints for get timeouts\r
+                   - Support for LTO9\r
+3.0.58  10/25/2021  - New lin_tape_ignoreOEM parameter\r
+                    - Fix for crash on join driver st interface buffer >= 2MB\r
+                    - Removed timouts initialization table from attachment to avoid delays on device becoming ready\r
+                    - CPF change to attempt a max of 2 retries when hardware error\r
+3.0.57  08/30/2021  - Initial support for SLES 15 SP3 (min. kernel 5.3.18-57 Power, Intel, System Z)\r
+        07/26/2021  - Initial support for RHEL 8.4 (min. kernel 4.18.0-305 x86_64, ppc64le, s390x)\r
+                   - Changer to retry abort and becoming ready state\r
+                    - CPF improvements\r
+                    - Fix for memory leak\r
+                    - Not to retry rimeouts request on invalid request\r
+3.0.56  02/12/2021  - Initial support for RHEL 8.3 (min. kernel 4.18.0-240 x86_64 and Power)\r
+        12/31/2020  - Initial support for RHEL 7.9 (min. kernel 3.10.0-1160 x86_64 and Power)\r
+                    - Enhancement to allow multiple changer open handles during critical IO\r
+                    - Removed recommended tmo parameters warnings\r
+                    - Fix for auto timeout retrieval on re-discovery failing command for timout retrieval when successful on initial discovery\r
+3.0.55  07/31/2020  - Initial support for SLES 15 SP2 (min. kernel version 5.3.18-24.15.1)\r
+                    - Autotime retrieval\r
+                    - Fix on passthru failover on changer from invalid request\r
+                    - RAO for LTO\r
+3.0.53 06/02/2020   - Initial support for RHEL 7.8 (min. kernel version 3.10.0-1127.8.2 on x86_64 and Power and 4.14.0-115.el7a on Power9)\r
+                    - Initial support for RHEL 8.2 (min. kernel version 4.18.0-193 x86_64 and Power)\r
+                    - Initial support for Ubuntu 18.04.4 (min kernel version 5.3.0-46 only on ppc64le and x86_64)\r
+                    - Removed line space at proc output\r
+3.0.52 03/17/2020   - Initial support for RHEL 8.1 (min. kernel version 4.18.9.147)\r
+                    - Initial support for SLES 12 SP5 (min. kernel version 4.12.14-122)\r
+                    - Workaround for scsi request not detecting/reporting path down on RHEL 8.x\r
+3.0.51 02/21/2020   - Fix for keeping track of reservation after failover\r
+                    - Fix for sg lock on RHEL7\r
+                    - Fix for possible lock on device unconfig\r
+                    - Fix for drive dumps file names\r
+                    - Adjustment for LTO erase time out \r
+                    - Enhancement for install script       \r
+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)\r
+3.0.48 09/18/2019   - Initial support for RHEL 8 (min. kernel version 4.18.0-80)\r
+                    - Initial support for SLES 15 SP1 (min. kernel version 4.12.14-197.1)\r
+                    - Fix for crash when all paths removed during load balancing\r
+                    - Fix for null pointer on join with devices with alternate path disabled\r
+3.0.46 07/31/2019   - General change for lock handling and devices table\r
+                    - Fix on daemon null pointer\r
+                    - Retry on unit attention and not ready sense on attachment\r
+                    - Daemon signal blocking fix\r
+                    - Introduced systemd (on RHEL 7, SLES 12 and SLES 15)\r
+                    - Fix for daemon not processing commands when removal in progress\r
+                    - Support flag for SLES\r
+                    - Initial support for SLES 12 SP4 (min. kernel version 4.12.14-94.41 x86_64, ppc64le and s390x)\r
+3.0.39 02/18/2019   - Initial support for RHEL 7.6 (min. kernel version 3.10.0-957.1.3 only)\r
+3.0.39 02/18/2019   - Initial support for SLES 12 SP4 (min. kernel version 4.12.14-94.41 ppc64le and s390x only)\r
+3.0.39 12/06/2018   - Initial support for TS1160\r
+                    - Initial support for RHEL 6.10 (min. kernel version 2.6.32-754 ppc64le and x86_64 only)\r
+                    - Initial support for Ubuntu 18.04 (min. kernel 4.15.0.34 only on ppc64le and x86_64)\r
+                    - Initial support for SLES 15 (min. kernel 4.12.14-23.1 only on ppc64le and s390x)\r
+                    - Fix for soft lock on rescan\r
+                    - Fix for udev attributes\r
+                    - New Archive Mode Unthread ioctls\r
+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)\r
+                    - Initial support for Ubuntu 16.04.3 (min. kernel 4.4.0-87 Only on x86_64)\r
+                    - Fixed bug on CPF failing over a different device\r
+                    - Reduced removal waiting when device busy\r
+                    - Added runtime attribute PID\r
+                    - Fix for double lock on rescan\r
+3.0.32 06/07/2018   - Support for SLES 12 SP3 on kernels beyond 4.4.114\r
+                    - Fix for lock condition introduced at 3.0.30 when attempt to open a device busy\r
+                    - Fox for join driver to return sense data after CPF event\r
+3.0.31 04/26/2018   - Initial support for SLES 12 SP3 (min. kernel version 4.4.114-94)\r
+3.0.30 04/11/20185  - Fixes on join some with crash potential during failover\r
+                    - Fix for join driver returning ENXIO on open\r
+                    - Fix for memory leak on join interfaces\r
+                    - Fix for Verify  and extended read position application interface for missmatching endianness\r
+                    - Fix for logging when daemon stopped\r
+                    - Fix for race condition\r
+                    - Fix and enhancements for device removal\r
+                    - Fix for hang introduced at 3.0.20 on device removal during IO\r
+                    - Enhancements for daemon excess loop during failvoer\r
+                    - Fix for interlock of daemon with crash potential\r
+                    - Stop waiting when device gone detected\r
+                    - Work around ERP TOD from drive sense data parameter rounded\r
+                    - Fix to not use the device object once driver released\r
+                    - Removed small unporected window on read proc\r
+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)\r
+                    - Initial support for RHEL 6.9 (min. kernel version 2.6.32-696)\r
+                    - Support for LTO8\r
+                    - Fix for reservation conflict when reserve_6 used\r
+                    - Fix for failover after device rediscovery (introduced at 3.0.20)\r
+                    - Fix for device name after removal (introduced at 3.0.20)\r
+                    - Fix for read with resid through join interface\r
+3.0.21 09/14/2017   - Fix to process sense data from srb combination flags\r
+                    - Enhancement to not attempt failover when only one path left\r
+                    - Fix for crash on concurrency (multiple process attempting to use the same device in stress scenario)\r
+                    - Fix for returning ENXIO instead attempting failover (introduced at 3.0.20)\r
+                    - Join driver to retry attachment on LUN not serlf configured\r
+3.0.20 06/09/2017   - Reincorporated join driver (lin_tape_as_sfmp) with new build flag: -with sfmp\r
+                    - Work around for wrong SN reported by Inq. page 80h after failback\r
+                    - Fix for crash when HBA driver removed before lin_tape\r
+                    - Fix for mismatching device SN on failback\r
+                    - Fix for busy waits\r
+                    - Fix for file systems removals\r
+                    - Fix for file systems attributes names\r
+                    - Fix for column width at /proc/IBM for SN\r
+                    - Initial support for SLES 12 SP2 (min. kernel version 4.4.21-69)\r
+                    - Initial support for RHEL 7.3 (min. kernel version 3.10.0-514)\r
+                    - Initial support for RHEL 7.3 Power LE (min. kernel version 3.10.0-514)\r
+                    - Support for TS4300\r
+3.0.18 03/08/2017   - Prevent crash from double delete objects on removal during wait scenarios (introduced at 2.2.0)\r
+                    - lin_tape_as_sfmp not supported in this version\r
+                    - Installation for blacklist.conf enhancements\r
+                    - Support for TS1155\r
+3.0.16 01/06/2017   - Prevent crash introduced at 1.75.0 cleaning buffern and length on WRA during open\r
+                    - Prevent lock/crash introduced at 1.75.0 when device removal during open\r
+                    - Added dualaccesor_cpf for TSLM usage\r
+                    - Enhancement to installer to prevent blacklisting st and sg linux modules\r
+3.0.13 11/11/2016   - Fix for passthru error recovery after EOD detected\r
+                    - Fixes for device removal during wait causing lock or crash\r
+                    - Fix to prevent lock over lock at scatter/gather when running with low memory\r
+                    - Updates on daemon configuration parameters naming to match lin_taped.conf with IUG instructions\r
+                    - Added daemon parameter TapeDevPermissions to lin_taped.conf\r
+3.0.12 08/19/2016   - Fix for lin_tape_as_sfmp attachment on kenrnels 3.10.0 and beyond\r
+                    - Enhancement on lin_tape_as_sfmp installation\r
+3.0.11 08/08/2016   - Added join driver back\r
+                    - Fixed multiple kernel dependencies for join\r
+                    - Enhancement on join install\r
+                    - Fix on join driver for scsi rescan\r
+3.0.10 06/03/2016   - Removed join driver\r
+                    - New OEM library support\r
+                    - Initial support for RHEL 6.8 (min. kernel version 2.6.32-642)\r
+                    - Initial support for RHEL 7.2 (min. kernel version 3.10.0-327)\r
+3.0.8  03/16/2016   - Prevent segfault at daemon\r
+                    - Fix for pfo device discovery at 390x arch.\r
+3.0.7  02/23/2016   - Prevent crash from st/sg failover\r
+                    - Added reserve type to STIOCQRYP\r
+                    - Enabled SIOC_LOG_SENSE10 for changer\r
+                    - Added special open for preemption\r
+                    - Enabled TSM QUERY PR KEY for normal open\r
+                    - Fix for join build\r
+3.0.6  02/26/2016   - Introduction of join driver (lin_tape_as_sfmp)\r
+3.0.5  01/06/2016   - Fix to track LBP state\r
+                    - Prevent null pointer from scsi device\r
+                    - Fix for HBA call to restore LBP after failover\r
+3.0.3  11/06/2015   - Removed warnings for big-endian introduced at 3.0.1\r
+                    - Fix for hardcoded serial number length in daemon\r
+                    - Build/Install enhacements\r
+3.0.2  09/11/2015   - Retry Abort 4b/06\r
+                    - Fix for changer lock\r
+                    - Enhancement to disable autodump for all at once\r
+                    - Initial support for SLESS11 SP4 (min. kernel version 3.0.101-63)\r
+3.0.1  08/25/2015   - Fix for RAO IOCTL's\r
+                    - Increased retry time for 2/3E/0\r
+                    - Support for LTO7\r
+3.0.0  06/26/2015   - Fix for pages leak at s/g ops\r
+                    - Initial support for RHEL 7.1 (min. kernel version 3.10.0-229)\r
+                    - Initial support for RHEL 6.7 (min. kernel version 2.6.32-573)\r
+2.9.9  06/16/2015   - Fix for lock during autodump loop\r
+                    - Enhancement for bs>1M at kernels>2.6.29\r
+                    - Fix for pages leak at s/g\r
+                    - Return ENOMEM instead of EIO from lin_tape_blk_req\r
+2.9.8  05/08/2015   - Prevent cdev call with null pointer\r
+2.9.7  04/28/2015   - 3592 WDRA timout increased to 5 min\r
+                    - Removed enhancement to handle lot of \r
+                      removals due to lock and crash,\r
+                      wait_on_config should be used instead\r
+2.9.6  03/24/2015   - Removed printk at qry_blk_prot\r
+                    - Fix for SN/CPF alignment on SN>16\r
+                    - Fix for page order adjustment that caused \r
+                      data corruption at 2.9.5 (only blocksize >\r
+                      1M and kernel >= 2.6.29)\r
+                    - Daemond enhancement to handle lot of \r
+                      removals\r
+                    - Write lock hang during autodump and s/g\r
+                    - Fix for 3592/E08 generation id\r
+                    - Initial support for RHEL 6.6 (min. kernel version 2.6.32-504.8.1)\r
+2.9.5  01/15/2015   - Adjustment to page order for r/w\r
+2.9.4  12/05/2014   - Support for 3592/E08\r
+                    - Fixes to multiple partition sizing\r
+                    - Fix to return rc on failed set active partition\r
+                    - Fix on failover enablement for SN > 16\r
+                    - Added enablement for select OEM libraries\r
+                    - Initial support for RHEL 7 (min. kernel version 3.10.0-123)\r
+2.9.3  10/27/2014   - Enhancement for SN/CPF gather\r
+                    - Fix for dump ready when s/g\r
+2.9.2  08/26/2014   - Fix for partitioning PSUM and POFM bits\r
+                    - Fix for TSM enh inventory media type\r
+                    - RHEL 7 (min. kernel version 3.10.0-123)\r
+2.9.1  07/28/2014   - Fix for chgr cmd call during device removal\r
+                    - Fix for tracing during device removal\r
+                    - Fixes for PR IOCTL's\r
+2.9.0  06/29/2014   - RAO SA update and LBP CRC32C added\r
+2.8.0  05/28/2014   - Enhancements to busy_retry \r
+2.7.0  05/15/2014   - fixes for s/g on authomatic dump\r
+                    - fix for STIOCSETP on LWP set\r
+                    - Initial support for RHEL 6.5 (min. kernel version 2.6.32-431)\r
+2.6.0  02/17/2014   - Added Recommend Access Order (RAO)\r
+                    - noreserve changer default for failover\r
+2.5.0  01/14/2014   - Added SIOC_ENH_LOG_SENSE \r
+                    - Initial support for SLES11 SP3 (min kernel version 3.0.79-0.11)\r
+2.4.0  12/18/2013   - Added Scatter/Gather for operations use. \r
+2.3.0  10/01/2013   - Initial support for RHEL 6.4 (kernel version 2.6.32-358.18.1.el6)\r
+                    - Changed some indirection to double \r
+                      indirection for CPF\r
+                    - Rerouted some changer commands to go \r
+                      through the changer queue\r
+                    - Added debug tracing for the changer queue\r
+2.2.0  08/06/2013   - Added optional persistent_n_device \r
+                      parameter to enable the ability to \r
+                      persistent name non rewind open.\r
+2.1.0  06/11/2013   - Added busy_retry for TSM\r
+                    - Added ability to take log sense size \r
+                      desired for ITDT\r
+                    - Added definition to IBM_tape.h MTWEOFI\r
+                    - Changed default for Jag cartridge to 6\r
+2.0.0  05/22/2013   - Removed flushing buffer on setposition\r
+1.76.0 10/22/2012   - Failover fix for bug introduced in 1.75.0\r
+                    - Initial support for RHEL 5.9 (min kernel version 2.6.18-348)\r
+1.75.0 10/17/2012   - Implemented Dynamic Runtime Attributes\r
+                    - Fixed host reboot on microcode load of TS3310\r
+                    - Fixed crash on drive cable pull\r
+1.74.0 08/21/2012   - Support for 64-bit position counters\r
+                    - Fix bug in /proc/scsi/IBMchanger with many changers\r
+                    - Fix to changer open count when close fails\r
+1.73.0 05/29/2012   - Allow option for setting TSM 3592 barcode to length 8\r
+                    - Fix for SLES 11 SP2 hang on failback\r
+                    - Initial support for SLES11 SP2 (min kernel version 3.0.13-0.27)\r
+1.72.0 05/22/2012   - Increase inquiry timeout to 180 for rediscovered device\r
+                    - Fix lin_taped crash on SAS rediscovered dvc, RH 5 & 6\r
+1.71.0 05/07/2012   - Eliminate multiple "REMOVED" devices on failback\r
+                    - Implement MTWEOFI (write filemarks with immed=1)\r
+                    - Fix bug on reading prog. early warning parameter\r
+                    - Fix potential failover bugs on read and write\r
+1.70.0 04/20/2012   - Fix crash on SLES 11 SP2 when offline device returns\r
+                    - Eliminate excessive trailing spaces in read proc\r
+                    - Increased inquiry timeout to three min. for failover\r
+1.69.0 04/13/2012   - Fix infinite loop on read proc with small buffer size\r
+                    - Eliminate excessive print on unsuccessful key registration\r
+1.68.0 03/13/2012   - Support for LTO 6 media types\r
+                    - Fix for crash in tape_read_proc and changer_read_proc\r
+                    - Data direction in failover set position from OUT to NONE\r
+1.67.0 02/06/2012   - Implemented Programmable Early Warning\r
+                    - Implemented general Mode Sense function\r
+                    - Implemented Verify Data\r
+                    - Initial support for SLES 11 SP2\r
+                    - Added LTO 6 inquiry strings\r
+1.66.0 12/08/2011   - Prevent BUSY return status in multiple open changer\r
+1.65.0 11/15/2011   - Change final PREEMPT to PREEMPT_AND_ABORT for DPF\r
+1.64.0 11/04/2011   - Serialize IO for two instances of open changer (crash fix)\r
+1.63.0 11/02/2011   - Catch failover case at beginning of IO requests\r
+1.62.0 10/14/2011   - Call malloc before lock acquisition in load_unload\r
+                    - Unit attention and DPF handling for PREVENT_MEDIUM_REMOVAL\r
+                    - STIOCP: supply missing sili bit case\r
+                    - reallocate changer data if missing at start of IOCTL\r
+                    - Change remaining ENOMEM to EOVERFLOW in overlength read\r
+                    - Allow removal of lin_taped if not running\r
+1.61.0 09/26/2011   - Allow for short erase in STERASE\r
+                    - Fix for crash when HBA driver uninstalled w/ alt_pathing\r
+1.60.0 09/12/2011   - Fix sense copy error by accounting for DID_TARGET_FAILURE\r
+                    - Fix CPF/DPF error introduced in 1.58.0 in ERP function\r
+1.59.0 08/25/2011   - Fix for read loop error with SILI bit on \r
+1.58.0 08/12/2011   - Implementation of log sense page with subpage support\r
+                    - Added eot warning IOCTLs\r
+                    - Made READ SILI bit a changeable parameter\r
+                    - Change overlength read rc from ENOMEM to EOVERFLOW\r
+                    - Reset logical block protection on failover\r
+1.57.0 07/15/2011   - Fix for timeout error introduced in 1.56.0\r
+                    - Allow option for a SLES 11 and higher "supported" build\r
+1.56.0 07/11/2011   - Fix handling of deferred EOM flag\r
+                    - Update changer timeouts to 900\r
+1.55.0 06/17/2011   - Fix for structure size in logical block protection IOCTLs\r
+                    - Fix for invalid data returned with max modesense length\r
+                    - Introduce count to track number of open changer instances\r
+1.54.0 05/05/2011   - Updated erase timeout for Jag4\r
+1.53.0 04/13/2011   - Fix for crash when drive is power cycled while open\r
+1.52.0 04/01/2011   - Clear flags on lin_tape_flush for future opens\r
+                    - Remove check of open/busy flags during changer open\r
+1.51.0 02/18/2011   - Send TUR on CPF to clear RS-422 failure unit attention\r
+                    - Correlate device number with SCSI address in /proc/scsi\r
+                    - Fix seg fault with pseudo dvc when HBA driver uninstalled\r
+                    - Provide a method to disable setting density on open\r
+1.50.0 01/25/2011   - Reduce size of kernel mem allocs to avoid alloc failure\r
+                    - Support for get/set block-level data protection (3592-E07)\r
+1.49.0 12/15/2010   - Support for RHEL 6\r
+                    - Implementation of partitioning for 3592-E07\r
+                    - Fix for CPF error due to incorrect sense data returned\r
+1.48.0 11/11/2010   - Return correct mt device number from MTDEVICE IOCTL\r
+1.47.0 11/10/2010   - Fix for host hang in ERP\r
+1.46.0 11/03/2010   - Fix for drives becoming unavailable after software reset\r
+1.45.0 10/26/2010   - Fix CPF failure with cable pull before IO\r
+1.44.0 10/18/2010   - Fix for crash when drive is reset during tape ops (zLinux)\r
+1.43.0 10/01/2010   - Fix for crash when drive is reset during tape ops (pLinux)\r
+1.42.0 07/20/2010   - Reduce size of stchgp_s struct to match user space struct\r
+1.41.1 06/24/2010   - Fix for memory leak/crash in SLES 11 sp1\r
+1.40.0 06/02/2010   - Increased page order on read-write in SLES 11 sp1\r
+                    - Fixed infinite read loop on read failure\r
+1.39.0 05/06/2010   - Support for SLES 11 SP 1\r
+1.38.0 04/13/2010   - LTO 5 extended postitioning IOCTLs\r
+                    - Release descriptor lock before IO on init to avoid hang\r
+1.37.0 03/15/2010   - Set Dynamic Runtime Attributes\r
+                    - Removed persistent naming script in favor of new method \r
+                    - Fix for duplicate changers in /proc/scsi/IBMchanger\r
+1.36.0 03/02/2010   - Failover changes to support WORM and Data Safe Mode\r
+                    - Fix for EFAULT (Bad address) error on read\r
+1.35.0 02/19/2010   - Fix for corruption on std write followed by passthru read\r
+1.34.0 02/15/2010   - Fix for I/O errors on zLinux, LTO 5\r
+1.33.0 02/02/2010   - LTO 5 updates\r
+1.32.0 12/30/2009   - Failover fixes\r
+1.31.1 12/04/2009   - LTO 5 partitioning IOCTLs\r
+                    - Fixes for SLES 11 failover\r
+1.30.0 11/20/2009   - lin_taped multiple pid fix\r
+1.29.0 10/26/2009   - SLES 11 failover implementation\r
+1.28.0 09/02/2009   - SLES 11 device removal/reinitialization fix\r
+1.27.0 08/25/2009   - Fix for failover failure error on SLES 10 & RHEL 4\r
+1.26.2 08/04/2009   - Fix for crashes on RHEL 4.7 and SLES 11\r
+1.25.0 06/23/2009   - Fix for scatter-gather page offset bug on PPC64 SLES11\r
+                    - Added IOCTLs for persistent reserve\r
+1.24.0 02/23/2009   - Support for SLES 11, kernel 2.6.27\r
+                    - Fix for CPF configuration bug introduced in 1.23.0\r
+1.23.0 01/19/2009   - CPF crash fix: cable pull/uninstall/reinstall sequence\r
+                    - Boundary check for max failover paths\r
+1.22.0 11/25/2008   - Fix for crash in RHEL 4.7\r
+                    - Updates for kernels >= 2.6.24\r
+                    - DPF crash fix: cable pull/uninstall/reinstall sequence\r
+1.21.0 10/23/2008   - Reserve logging \r
+                    - Add "primary_path" parameter for udev\r
+1.20.0 10/15/2008   - read_cartridge_location to block transfers into at most\r
+                      600 elements\r
+1.19.0 09/15/2008   - IBMtapeutil fix for read_cartridge_location\r
+1.18.0 08/22/2008   - Fix for struct device attribute in kernels >= 2.6.13\r
+1.17.0 08/06/2008   - Add udev "dev" file for medium changers in\r
+                      kernels < 2.6.5 or > 2.6.15\r
+1.16.0 06/27/2008   - Change GFP_ATOMIC allocations to GFP_KERNEL\r
+                    - Support for the 3592-E06\r
+                    - Fix lin_taped restart crash after failback\r
+1.15.0 05/21/2008   - Release source RPM\r
+                    - Update 3572 inquiry string to 3572-TL\r
+1.14.0 04/30/2008   - Make module parameters read/writable\r
+                    - Fix for CPF key check on CVT\r
+1.13.0 03/27/2008   - Support for 3572\r
+1.12.1 03/07/2008   - Fixed hang introduced in 1.12.0\r
+1.12.0 02/26/2008   - Created "dev" file in sysfs class directory for\r
+                      udev & udevinfo support\r
+                    - Changed 3592 (E05) references to support models beyond E05\r
+1.11.0 12/11/2007   - Fixed seg fault when a logical dvc is accidentally removed\r
+                    - Fixed return code for SIOC_PASS_THROUGH   \r
+                    - Implemented read cartridge location IOCTL \r
+                    - Removed WWNN filter check for DPF entitlement  \r
+1.10.0 10/01/2007   - Increaded timeout for best path selection\r
+                    - Fixed delete_parms_on_device() for failover\r
+                    - Fixed return code for SIOC_PASS_THROUGH     \r
+                    - Fixed maximum scsi transfer size for\r
+                    - running on RHEL5/SLES10 SP1 on IA64 \r
+                    - Increased max log sense length\r
+1.9.0 08/20/2007    - Added persistent naming support for RHEL5 and SLES10\r
+                    - Increased maximum supported tape drives from 256 to 1024\r
+1.8.0 07/26/2007    - Support LTO4 HH\r
+1.7.1 08/06/2007    - Fixed max scsi transfer size for RHEL5 on System Z\r
+1.7.0 07/03/2007    - Fix max scsi transfer size and sg for RHEL5 and SLES10 SP1\r
+                    - Added MODULE_VERSION and MODULE_PARM_DESC for driver parms\r
+                    - Added warning message to syslog if release fails on close\r
+                    - Added wait_on_config driver parameter\r
+                    - Removed unnecessary messages from lin_tape.errorlog\r
+                    - Fixed 3592 density recovery on failover\r
+1.6.0 05/22/2007    - Remove registered key if persistent reservation\r
+                      preemption fails during failover\r
+                    - Fixed read memory allocation on fixed block size\r
+1.5.0 04/30/2007    - Fixed the residual count for RHEL5\r
+                    - Support SLES10 SP1\r
+1.4.0 04/30/2007    - Removed unwanted debug messages for direct I/O\r
+1.3.0 04/12/2007    - Fix system-managed encryption for LTO4\r
+                    - Support for SIOC_PASS_THROUGH ioctl\r
+                    - Support direct I/O\r
+                    - Add driver attributes default_sys_encryption_proxy/write\r
+1.2.0 04/02/2007    - Support RHEL5\r
+                    - Fix for ENOMEM on medium changer inventory with large\r
+                      number of slots\r
+1.1.0 03/13/2007    - Application-managed encryption now enabled correctly\r
+                    - Fix for crash during CPF (when command never succeeds)\r
+                    - Fix for DPF license key validation for TS3200 library\r
+                    - Fix for daemon crash during data-path failover validation\r
+1.0.9 02/19/2007    - Fix for hang when loading lin_tape \r
+                    - Fix for hang when removing module on SLES9\r
+1.0.8 02/09/2007    - Fixes for system-managed encryption\r
+                    - Support for LTO4 encryption\r
+                    - Fix for data-path-failover on TS3200\r
+                    - Fix for hang when running stress tests to multiple devices\r
+                    - Support for Asianux 2.0\r
+1.0.7 01/18/2007    - Fix for hang on RHEL4 and SLES9 when loading the driver\r
+1.0.6 01/05/2007    - Support for 3577, LTO4, and system-managed encryption\r
+                    - Support for RHEL4 and SLES9\r
+                    - Fix for crash on read or write to changer\r
+1.0.5 09/29/2006    - Initial release\r
index d5d54cdda9412826a9e0d14f4c93f40901c717fc..89077d86b6c7163a0400dbcf67753561d14914b8 100644 (file)
@@ -9,18 +9,15 @@
 %define                pname   lin_tape
 Summary:       IBM Tape SCSI Device Driver for Linux
 Name:          %{pname}%{_alt_kernel}
-Version:       3.0.60
+Version:       3.0.66
 Release:       %{rel}%{?_pld_builder:@%{_kernel_ver_str}}
 License:       GPL v2/LGPL
 Group:         Base/Kernel
 Source0:       %{pname}-%{version}.tgz
-# Source0-md5: 943a08365a235d32c05e19d1da2a4044
+# Source0-md5: 736c967d1d2a62023809b54f2328a9cc
 Source1:       %{pname}.fixlist
 Patch0:                use-module-dir.patch
 Patch1:                clean-ifdefs.patch
-Patch2:                kernel-5.8.patch
-Patch3:                kernel-5.10.patch
-Patch4:                kernel-5.12.patch
 # System Storage, Tape systems, Tape drivers and software, Tape device drivers (Linux)
 URL:           http://www.ibm.com/support/fixcentral/
 BuildRequires: rpmbuild(macros) >= 1.701
@@ -70,9 +67,6 @@ compatible platforms.\
 %undos Makefile
 %patch0 -p1
 %patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
 
 install -p %{SOURCE1} .
 
This page took 0.101829 seconds and 4 git commands to generate.