- up to 3.0.33
authorJan Rękorajski <baggins@pld-linux.org>
Sat, 27 Oct 2018 12:13:37 +0000 (14:13 +0200)
committerJan Rękorajski <baggins@pld-linux.org>
Sat, 27 Oct 2018 12:13:37 +0000 (14:13 +0200)
clean-ifdefs.patch
lin_tape.spec
linux-4.10.patch [deleted file]
linux-4.11.patch
linux-4.12.patch
linux-4.9.patch

index 12db4e996bb369b3dfe2aa1c24835fcb0c9368b4..26763df75aaa27d93483e8a412e746e1d0af3f9c 100644 (file)
@@ -1,7 +1,7 @@
 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,15 +20,6 @@
+@@ -20,27 +20,6 @@
  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
  
@@ -11,7 +11,19 @@ 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 += -DKERNELVERSION_${KERNELVER}
 -else
+-UBUNTURELEASE := $(shell [ -f "/etc/os-release" ] && grep -qi Ubuntu /etc/os-release && echo 1 || echo 0)
+-ifeq ($(UBUNTURELEASE), 1)
+-EXTRA_CFLAGS += -DUBUNTUVERSION
+-else
 -EXTRA_CFLAGS += -DSLESVERSION
+-KERNELDIR ?= /lib/modules/$(shell uname -r)/build
+-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)
+-ifeq ($(SLESSP2), 1) 
+-EXTRA_CFLAGS += -DSLESSP2
+-endif
+-endif
 -endif
 -
  ifeq ($(SFMP), 1)
@@ -162,112 +174,3 @@ diff -ur lin_tape-3.0.18/pfo.h lin_tape-3.0.18-ifdefs/pfo.h
  
  /* Misc defines needed so source is same for all versions of Linux */
  #ifndef SDEV_TRANSPORT_OFFLINE
-diff -ur lin_tape-3.0.18/sgmp.c lin_tape-3.0.18-ifdefs/sgmp.c
---- lin_tape-3.0.18/sgmp.c     2017-02-23 19:14:41.000000000 +0100
-+++ lin_tape-3.0.18-ifdefs/sgmp.c      2017-05-09 21:10:20.295643954 +0200
-@@ -262,27 +262,12 @@
- {
-       struct sg_fd *sfp = (struct sg_fd *)filp->private_data;
--#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) && (!defined(SLESVERSION))
--      /* RHEL 7.0 and beyond */
-       struct request_queue *q = sfp->parentdp->device->request_queue;
--#else
--#ifdef AFTER_RH_63
--      /* RHEL 6.4+ */
--      struct request_queue *q = sfp->parentdp->device->request_queue;
--#endif
--#endif
-       if (sfp->parentdp->device->type == TYPE_SCANNER)
-               return 0;
--#if LINUX_VERSION_CODE > KERNEL_VERSION(3,12,0) || defined(SLESVERSION)
-       return blk_verify_command(cmd, filp->f_mode & FMODE_WRITE);
--#else
--      /* RHEL 6.4 and beyond */
--      return blk_verify_command(q, cmd, filp->f_mode & FMODE_WRITE);
--#endif
--//6.3 blk_verify_command(cmd, filp->f_mode & FMODE_WRITE);
--
- }
- #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,32)
-@@ -419,7 +404,7 @@
- #endif
-               sdp->sgdebug = 0;
-               q = sdp->device->request_queue;
--#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,32) && (defined(SLESVERSION))
-+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,32)
-               sdp->sg_tablesize = min(queue_max_hw_segments(q),
-                                 queue_max_phys_segments(q));
- #else
-@@ -1546,7 +1531,7 @@
-               if ((sdp->sgdebug > 0) &&
-                   ((CHECK_CONDITION == srp->header.masked_status) ||
-                    (COMMAND_TERMINATED == srp->header.masked_status)))
--#if defined(AFTER_RH_71) || LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,21)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,21)
-                       __scsi_print_sense(sdp->device, "sg_cmd_done", sense, SCSI_SENSE_BUFFERSIZE);
- #else
-@@ -1677,7 +1662,7 @@
-       INIT_LIST_HEAD(&sdp->sfds);
-       init_waitqueue_head(&sdp->o_excl_wait);
--#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,32) && (defined(SLESVERSION))
-+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,32)
-       sdp->sg_tablesize = min(queue_max_hw_segments(q),
-                             queue_max_phys_segments(q));
- #else
-@@ -3069,7 +3054,7 @@
-                             scsidp->id, scsidp->lun, (int) scsidp->type,
-                             1,
-                             (int) scsidp->queue_depth,
--#ifdef AFTER_RH_71
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0)
-                                 (int) atomic_read(&scsidp->device_busy),
- #else
-                                 (int) scsidp->device_busy,
-diff -ur lin_tape-3.0.18/stmp.c lin_tape-3.0.18-ifdefs/stmp.c
---- lin_tape-3.0.18/stmp.c     2017-02-23 19:14:41.000000000 +0100
-+++ lin_tape-3.0.18-ifdefs/stmp.c      2017-05-09 21:11:01.113125428 +0200
-@@ -454,7 +454,7 @@
-                      SRpnt->cmd[0], SRpnt->cmd[1], SRpnt->cmd[2],
-                      SRpnt->cmd[3], SRpnt->cmd[4], SRpnt->cmd[5]);
-               if (cmdstatp->have_sense)
--#if defined(AFTER_RH_70) || LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,21)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,21)
-                       __scsi_print_sense(STp->device, name, SRpnt->sense, SCSI_SENSE_BUFFERSIZE);
- #else
-@@ -475,7 +475,7 @@
-                        SRpnt->cmd[0] != MODE_SENSE &&
-                        SRpnt->cmd[0] != TEST_UNIT_READY) {
--#if defined(AFTER_RH_71) || LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,21)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,21)
-                       __scsi_print_sense(STp->device, name, SRpnt->sense, SCSI_SENSE_BUFFERSIZE);
- #else
-diff -ur lin_tape-3.0.18/upper.c lin_tape-3.0.18-ifdefs/upper.c
---- lin_tape-3.0.18/upper.c    2017-02-23 19:14:41.000000000 +0100
-+++ lin_tape-3.0.18-ifdefs/upper.c     2017-05-09 21:09:37.868126006 +0200
-@@ -267,7 +267,7 @@
-       if (copy_from_user(pfo_cmd->scsi_cmd, hdr->cmdp, hdr->cmd_len))
-               return -EFAULT;
--#if LINUX_VERSION_CODE > KERNEL_VERSION(3,12,0) || defined(SLESVERSION)
-+#if 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 */
-@@ -608,7 +608,7 @@
-       if (in_len && copy_from_user(buffer, sic->data + cmdlen, in_len))
-               goto error;
--#if LINUX_VERSION_CODE > KERNEL_VERSION(3,12,0) || defined(SLESVERSION)
-+#if LINUX_VERSION_CODE > KERNEL_VERSION(3,12,0)
-       err = blk_verify_command(scsi_cmd, mode & FMODE_WRITE);
- #else
-       /* RHEL 6.4 and beyond */
index 2c13a8b816ef0a0d8c6f803ae9340482f7bb71ec..00a9b463c64f22b4259c1c7e3828d012f6ddf52d 100644 (file)
@@ -5,27 +5,27 @@
 # nothing to be placed to debuginfo package
 %define                _enable_debug_packages  0
 
-%define                rel     2
+%define                rel     1
 %define                pname   lin_tape
 Summary:       IBM Tape SCSI Device Driver for Linux
 Name:          %{pname}%{_alt_kernel}
-Version:       3.0.23
+Version:       3.0.33
 Release:       %{rel}%{?_pld_builder:@%{_kernel_ver_str}}
 License:       GPL v2/LGPL
 Group:         Base/Kernel
 Source0:       %{pname}-%{version}.tgz
-# Source0-md5: 38edd3855f4205250cb725df6a8ef2a3
+# Source0-md5: c22358f485f12baa7254aa25abe20a43
 Source1:       %{pname}.fixlist
 Patch0:                use-module-dir.patch
 Patch1:                clean-ifdefs.patch
 Patch2:                linux-4.9.patch
-Patch3:                linux-4.10.patch
 Patch4:                linux-4.11.patch
 Patch5:                linux-4.12.patch
 Patch6:                linux-4.13.patch
 Patch7:                kernel-4.14.patch
 Patch8:                kernel-4.15.patch
 Patch9:                kernel-4.17.patch
+Patch10:       kernel-4.19.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
@@ -76,13 +76,13 @@ compatible platforms.\
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
-%patch3 -p1
 %patch4 -p1
 %patch5 -p1
 %patch6 -p1
 %patch7 -p1
 %patch8 -p1
 %patch9 -p1
+%patch10 -p1
 
 install -p %{SOURCE1} .
 
diff --git a/linux-4.10.patch b/linux-4.10.patch
deleted file mode 100644 (file)
index a6f123e..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-diff -ur lin_tape-3.0.23/lin_tape_ioctl_tape.c lin_tape-3.0.23-4.10/lin_tape_ioctl_tape.c
---- lin_tape-3.0.23/lin_tape_ioctl_tape.c      2018-04-08 00:40:34.811170201 +0200
-+++ lin_tape-3.0.23-4.10/lin_tape_ioctl_tape.c 2018-04-08 00:39:08.512197099 +0200
-@@ -6471,7 +6471,7 @@
-       tmp_rq = (void*)sdev->request_queue;
-       req->cmd_type = REQ_TYPE_BLOCK_PC;
--#if LINUX_VERSION_CODE < KERNEL_VERSION(4,4,73)
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,10,0)
-       req->cmd_flags |= REQ_QUIET;
- #else
-       req->cmd_flags |= RQF_QUIET;
-diff -ur lin_tape-3.0.23/stmp.c lin_tape-3.0.23-4.10/stmp.c
---- lin_tape-3.0.23/stmp.c     2018-04-08 00:40:34.814503623 +0200
-+++ lin_tape-3.0.23-4.10/stmp.c        2018-04-08 00:39:45.023173000 +0200
-@@ -688,7 +688,7 @@
- #else
-       req->cmd_type = REQ_TYPE_BLOCK_PC;
- #endif
--#if LINUX_VERSION_CODE < KERNEL_VERSION(4,4,73)
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,10,0)
-       req->cmd_flags |= REQ_QUIET;
- #else
-       req->cmd_flags |= RQF_QUIET;
-diff -ur lin_tape-3.0.23/upper.c lin_tape-3.0.23-4.10/upper.c
---- lin_tape-3.0.23/upper.c    2018-04-08 00:40:34.814503623 +0200
-+++ lin_tape-3.0.23-4.10/upper.c       2018-04-08 00:40:20.187446091 +0200
-@@ -89,7 +89,7 @@
-       pfo_cmd.timeout = timeout;
-       pfo_cmd.retries = retries;
-       pfo_cmd.iov_count = 0;
--#if LINUX_VERSION_CODE < KERNEL_VERSION(4,4,73)
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,10,0)
-       pfo_cmd.flags = flags | REQ_QUIET;
- #else
-       pfo_cmd.flags = flags | RQF_QUIET;
-@@ -352,7 +352,7 @@
-       pfo_cmd.cmd_len = hdr->cmd_len;
-       pfo_cmd.buffer = NULL;
-       pfo_cmd.bufflen = 0;
--#if LINUX_VERSION_CODE < KERNEL_VERSION(4,4,73)
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,10,0)
-       pfo_cmd.flags = REQ_QUIET;
- #else
-       pfo_cmd.flags = RQF_QUIET;
-@@ -488,7 +488,7 @@
-       pfo_cmd.cmd_len = hdr->cmd_len;
-       pfo_cmd.buffer = NULL;
-       pfo_cmd.bufflen = 0;
--#if LINUX_VERSION_CODE < KERNEL_VERSION(4,4,73)
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,10,0)
-       pfo_cmd.flags = REQ_QUIET;
- #else
-       pfo_cmd.flags = RQF_QUIET;
-@@ -691,7 +691,7 @@
-       pfo_cmd.timeout = timeout;
-       pfo_cmd.retries = retries;
-       pfo_cmd.iov_count = 0;
--#if LINUX_VERSION_CODE < KERNEL_VERSION(4,4,73)
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,10,0)
-       pfo_cmd.flags = REQ_QUIET;
- #else
-       pfo_cmd.flags = RQF_QUIET;
-@@ -952,7 +952,7 @@
-       pfo_cmd.buffer = buffer;
-       pfo_cmd.bufflen = bufflen;
-       pfo_cmd.retries = retries;
--#if LINUX_VERSION_CODE < KERNEL_VERSION(4,4,73)
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,10,0)
-       pfo_cmd.flags = REQ_QUIET;
- #else
-       pfo_cmd.flags = RQF_QUIET;
-@@ -995,7 +995,7 @@
-       pfo_cmd.buffer = buffer;
-       pfo_cmd.bufflen = bufflen;
-       pfo_cmd.retries = retries;
--#if LINUX_VERSION_CODE < KERNEL_VERSION(4,4,73)
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,10,0)
-       pfo_cmd.flags = REQ_QUIET;
- #else
-       pfo_cmd.flags = RQF_QUIET;
index d3639d5ad5ede7fcf30ea23aa2b4f3c7a0856afb..71fb6d0f08975a45eb035550eb1b9f3e963b9836 100644 (file)
@@ -36,10 +36,10 @@ diff -ur lin_tape-3.0.18/lin_tape_ioctl_tape.c lin_tape-3.0.18-4.11/lin_tape_ioc
 +#else
        req->cmd_type = REQ_TYPE_BLOCK_PC;
 +#endif
- #if LINUX_VERSION_CODE < KERNEL_VERSION(4,10,0)
+ #ifdef REQ_QUIET
        req->cmd_flags |= REQ_QUIET;
  #else
-@@ -6536,17 +6540,29 @@
+@@ -6536,15 +6540,27 @@
                bio = req->bio;
        } /* if */
  
@@ -58,9 +58,7 @@ diff -ur lin_tape-3.0.18/lin_tape_ioctl_tape.c lin_tape-3.0.18-4.11/lin_tape_ioc
 +#endif
        req->timeout = timeout;
        req->retries = 0;
        blk_execute_rq(req->q, NULL, req, 1);
 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0)
 +      *resid = scsi_req(req)->resid_len;
 +#else
index 7699c7b4268d7fea6649d1528611208864989111..14ae0559842adae4e8a3a474d5c5f18b023ce347 100644 (file)
@@ -9,9 +9,9 @@
 +#else
        req->retries = 0;
 +#endif
        blk_execute_rq(req->q, NULL, req, 1);
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0)
+       *resid = scsi_req(req)->resid_len;
 @@ -6563,7 +6567,11 @@
  #else
        *resid = req->resid_len;
index d35ff3b542f897d8d9b639a19f7465e049b13bca..c713a0f2ea179e1ac63d922fd6aff0a65157bc0c 100644 (file)
@@ -1,12 +1,15 @@
 --- lin_tape-3.0.18/lin_tape_scsi_tape.c~      2017-02-23 19:14:41.000000000 +0100
 +++ lin_tape-3.0.18/lin_tape_scsi_tape.c       2017-05-09 21:28:19.916320963 +0200
-@@ -11838,10 +11838,9 @@
+@@ -11838,13 +11838,9 @@
  
        down_read(&current->mm->mmap_sem);
--#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,73)
--      mapped_pages = get_user_pages_unlocked((unsigned long)user_location, number_pages,
--                                            pages, rw);
+ #if !defined (UBUNTUVERSION)
+-#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) \
+-      || (LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,114) && LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0) && !defined(SLESSP2))
+-      mapped_pages = get_user_pages((unsigned long)user_location, number_pages,
+-                                            rw, pages, NULL);
 -
 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,9,0)
 +      mapped_pages = get_user_pages((ulong)user_location, number_pages,
  #elif LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0)
        mapped_pages = get_user_pages((ulong)user_location, number_pages,
                                              rw, 0, pages, NULL);
---- lin_tape-3.0.18/stmp.c~    2017-05-09 21:25:12.000000000 +0200
-+++ lin_tape-3.0.18/stmp.c     2017-05-09 21:29:19.121101188 +0200
-@@ -5205,11 +5205,13 @@
-       if ((pages = kmalloc(max_pages * sizeof(*pages), GFP_KERNEL)) == NULL)
-               return -ENOMEM;
+--- lin_tape-3.0.33/stmp.c~    2018-06-01 20:01:49.000000000 +0200
++++ lin_tape-3.0.33/stmp.c     2018-10-27 11:39:03.873330720 +0200
+@@ -5061,12 +5061,13 @@
  
--#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,73)
--      res = get_user_pages_unlocked(uaddr, nr_pages,
--                                            pages,
--                                                                rw == READ ? FOLL_WRITE : 0); /* don't force */
--
+         /* Try to fault in all of the necessary pages */
+         /* rw==READ means read from drive, write into memory area */
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,114) && LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0) && !defined(SLESSP2))
 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,9,0)
-+      res = get_user_pages_unlocked(
-+              uaddr,
-+              nr_pages,
+       res = get_user_pages_unlocked(
+               uaddr,
+               nr_pages,
 +              rw == READ ? FOLL_WRITE : 0,
-+              pages,
+               pages,
+-              rw == READ ? FOLL_WRITE : 0); /* don't force */
 +              NULL);
  #elif LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,21)
-     /* Try to fault in all of the necessary pages */
-     /* rw==READ means read from drive, write into memory area */
+       res = get_user_pages_unlocked(
This page took 0.230533 seconds and 4 git commands to generate.