From ad41a6994bcb3405a2bec6345c1e06ad11d13250 Mon Sep 17 00:00:00 2001 From: Stoiko Ivanov Date: Tue, 30 Oct 2018 11:14:24 +0100 Subject: [PATCH] rebase SPL on top of debian/0.7.11 drop already applied patches Signed-off-by: Stoiko Ivanov --- spl-debian | 2 +- .../0001-remove-DKMS-and-module-build.patch | 31 ++- ....18-compat-inode-timespec-timespec64.patch | 178 ------------------ ...state-proc-entry-SUSPENDED-pools-SPL.patch | 69 ------- ...ryupgrade-for-4.9.20-rt16-kernel-SPL.patch | 136 ------------- spl-patches/0005-Tag-spl-0.7.10.patch | 59 ------ .../0006-Linux-4.18-compat-Kconfig.patch | 57 ------ spl-patches/0007-Tag-spl-0.7.11.patch | 56 ------ spl-patches/series | 6 - 9 files changed, 15 insertions(+), 579 deletions(-) delete mode 100644 spl-patches/0002-Linux-4.18-compat-inode-timespec-timespec64.patch delete mode 100644 spl-patches/0003-Add-pool-state-proc-entry-SUSPENDED-pools-SPL.patch delete mode 100644 spl-patches/0004-Add-rwsem_tryupgrade-for-4.9.20-rt16-kernel-SPL.patch delete mode 100644 spl-patches/0005-Tag-spl-0.7.10.patch delete mode 100644 spl-patches/0006-Linux-4.18-compat-Kconfig.patch delete mode 100644 spl-patches/0007-Tag-spl-0.7.11.patch diff --git a/spl-debian b/spl-debian index e6b6675..3ac1211 160000 --- a/spl-debian +++ b/spl-debian @@ -1 +1 @@ -Subproject commit e6b66753ff444e6d10e5d9dd24c54451e3a2fba3 +Subproject commit 3ac1211d59ab3a6d124fb67a8cea987a66099781 diff --git a/spl-patches/0001-remove-DKMS-and-module-build.patch b/spl-patches/0001-remove-DKMS-and-module-build.patch index 9526dea..54b790e 100644 --- a/spl-patches/0001-remove-DKMS-and-module-build.patch +++ b/spl-patches/0001-remove-DKMS-and-module-build.patch @@ -7,17 +7,18 @@ Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fabian Grünbichler +Signed-off-by: Stoiko Ivanov --- debian/control | 1 - debian/control.in | 31 ------------------------- - debian/rules | 68 +------------------------------------------------------ - 3 files changed, 1 insertion(+), 99 deletions(-) + debian/rules | 67 +------------------------------------------------------ + 3 files changed, 1 insertion(+), 98 deletions(-) diff --git a/debian/control b/debian/control -index 07db14a..01387e5 100644 +index d83f962..f780c80 100644 --- a/debian/control +++ b/debian/control -@@ -8,7 +8,6 @@ Build-Depends: autogen, +@@ -9,7 +9,6 @@ Build-Depends: autogen, autotools-dev, debhelper (>= 9), dh-autoreconf, @@ -26,10 +27,10 @@ index 07db14a..01387e5 100644 Standards-Version: 4.1.2 Homepage: http://www.zfsonlinux.org/ diff --git a/debian/control.in b/debian/control.in -index 91242a1..5fd81aa 100644 +index 0e6c3fc..c8fe170 100644 --- a/debian/control.in +++ b/debian/control.in -@@ -8,47 +8,16 @@ Build-Depends: autogen, +@@ -9,47 +9,16 @@ Build-Depends: autogen, autotools-dev, debhelper (>= 9), dh-autoreconf, @@ -37,7 +38,7 @@ index 91242a1..5fd81aa 100644 libtool Standards-Version: 4.1.2 Homepage: http://www.zfsonlinux.org/ - Vcs-Git: git@salsa.debian.org:zfsonlinux-team/spl.git + Vcs-Git: https://salsa.debian.org/zfsonlinux-team/spl.git Vcs-Browser: https://salsa.debian.org/zfsonlinux-team/spl -Package: spl-dkms @@ -78,24 +79,23 @@ index 91242a1..5fd81aa 100644 The Solaris Porting Layer (SPL) is a Linux kernel module which provides many of the Solaris kernel APIs. This shim layer makes it possible to diff --git a/debian/rules b/debian/rules -index 3a12abc..8dca8fd 100755 +index 72ded49..5abeebb 100755 --- a/debian/rules +++ b/debian/rules -@@ -14,12 +14,8 @@ ifndef KVERS +@@ -14,11 +14,8 @@ ifndef KVERS KVERS=$(shell uname -r) endif -non_epoch_version=$(shell echo $(KVERS) | perl -pe 's/^\d+://') --PACKAGE=spl --pmodules = $(PACKAGE)-modules-$(non_epoch_version) +-pmodules = $(NAME)-modules-$(non_epoch_version) - %: - dh $@ --with dkms,autoreconf --parallel + dh $@ --with autoreconf --parallel override_dh_auto_configure: - sed "s/@LINUX_COMPAT@/linux-libc-dev \(<< $(shell debian/get_next.sh)\)/" debian/control.in > debian/control -@@ -45,69 +41,7 @@ override_dh_auto_install: + sed "s/@LINUX_COMPAT@/linux-libc-dev \(<< $(LINUX_NEXT)~\)/" debian/control.in > debian/control +@@ -44,69 +41,7 @@ override_dh_auto_install: @# This creates the $(CURDIR)/$(NAME)-$(VERSION)/ tree. $(MAKE) distdir @@ -115,7 +115,7 @@ index 3a12abc..8dca8fd 100755 override_dh_auto_clean: dh_auto_clean @if test -e META.orig; then mv META.orig META; fi - sed "s/@LINUX_COMPAT@/linux-libc-dev \(<< $(shell debian/get_next.sh)\)/" debian/control.in > debian/control + sed "s/@LINUX_COMPAT@/linux-libc-dev \(<< $(LINUX_NEXT)~\)/" debian/control.in > debian/control - -# ------------ - @@ -165,6 +165,3 @@ index 3a12abc..8dca8fd 100755 - dh_md5sums -p${pmodules} - - dh_builddeb -p${pmodules} --- -2.11.0 - diff --git a/spl-patches/0002-Linux-4.18-compat-inode-timespec-timespec64.patch b/spl-patches/0002-Linux-4.18-compat-inode-timespec-timespec64.patch deleted file mode 100644 index eb7828e..0000000 --- a/spl-patches/0002-Linux-4.18-compat-inode-timespec-timespec64.patch +++ /dev/null @@ -1,178 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Brian Behlendorf -Date: Sun, 12 Aug 2018 18:22:54 -0400 -Subject: [PATCH] Linux 4.18 compat: inode timespec -> timespec64 - -Commit torvalds/linux@95582b0 changes the inode i_atime, i_mtime, -and i_ctime members form timespec's to timespec64's to make them -2038 safe. As part of this change the current_time() function was -also updated to return the timespec64 type. - -Resolve this issue by introducing a new inode_timespec_t type which -is defined to match the timespec type used by the inode. It should -be used when working with inode timestamps to ensure matching types. - -The timestruc_t type under Illumos was used in a similar fashion but -was specified to always be a timespec_t. Rather than incorrectly -define this type all timespec_t types have been replaced by the new -inode_timespec_t type. - -Finally, the kernel and user space 'sys/time.h' headers were aligned -with each other. They define as appropriate for the context several -constants as macros and include static inline implementation of -gethrestime(), gethrestime_sec(), and gethrtime(). - -Reviewed-by: Chunwei Chen -Signed-off-by: Brian Behlendorf -Closes #7643 -Backported-by: Richard Yao - -Signed-off-by: Stoiko Ivanov ---- - config/kernel-inode-times.m4 | 25 +++++++++++++++++++++++++ - config/spl-build.m4 | 1 + - include/sys/condvar.h | 1 + - include/sys/time.h | 25 +++++++++++++++++++------ - include/sys/types.h | 3 --- - include/sys/vnode.h | 6 +++--- - 6 files changed, 49 insertions(+), 12 deletions(-) - create mode 100644 config/kernel-inode-times.m4 - -diff --git a/config/kernel-inode-times.m4 b/config/kernel-inode-times.m4 -new file mode 100644 -index 0000000..3a6acd8 ---- /dev/null -+++ b/config/kernel-inode-times.m4 -@@ -0,0 +1,25 @@ -+dnl # -+dnl # 4.18 API change -+dnl # i_atime, i_mtime, and i_ctime changed from timespec to timespec64. -+dnl # -+AC_DEFUN([SPL_AC_KERNEL_INODE_TIMES], [ -+ AC_MSG_CHECKING([whether inode->i_*time's are timespec64]) -+ tmp_flags="$EXTRA_KCFLAGS" -+ EXTRA_KCFLAGS="-Werror" -+ SPL_LINUX_TRY_COMPILE([ -+ #include -+ ],[ -+ struct inode ip; -+ struct timespec ts; -+ -+ memset(&ip, 0, sizeof(ip)); -+ ts = ip.i_mtime; -+ ],[ -+ AC_MSG_RESULT(no) -+ ],[ -+ AC_MSG_RESULT(yes) -+ AC_DEFINE(HAVE_INODE_TIMESPEC64_TIMES, 1, -+ [inode->i_*time's are timespec64]) -+ ]) -+ EXTRA_KCFLAGS="$tmp_flags" -+]) -diff --git a/config/spl-build.m4 b/config/spl-build.m4 -index 5c6c02a..0dc5be8 100644 ---- a/config/spl-build.m4 -+++ b/config/spl-build.m4 -@@ -43,6 +43,7 @@ AC_DEFUN([SPL_AC_CONFIG_KERNEL], [ - SPL_AC_2ARGS_VFS_GETATTR - SPL_AC_USLEEP_RANGE - SPL_AC_KMEM_CACHE_ALLOCFLAGS -+ SPL_AC_KERNEL_INODE_TIMES - SPL_AC_WAIT_ON_BIT - SPL_AC_INODE_LOCK - SPL_AC_GROUP_INFO_GID -diff --git a/include/sys/condvar.h b/include/sys/condvar.h -index 5fcc906..ce3149a 100644 ---- a/include/sys/condvar.h -+++ b/include/sys/condvar.h -@@ -31,6 +31,7 @@ - #include - #include - #include -+#include - - /* - * The kcondvar_t struct is protected by mutex taken externally before -diff --git a/include/sys/time.h b/include/sys/time.h -index ddda6de..59557af 100644 ---- a/include/sys/time.h -+++ b/include/sys/time.h -@@ -52,15 +52,28 @@ - #define NSEC2SEC(n) ((n) / (NANOSEC / SEC)) - #define SEC2NSEC(m) ((hrtime_t)(m) * (NANOSEC / SEC)) - -+typedef longlong_t hrtime_t; -+typedef struct timespec timespec_t; -+ - static const int hz = HZ; - - #define TIMESPEC_OVERFLOW(ts) \ - ((ts)->tv_sec < TIME_MIN || (ts)->tv_sec > TIME_MAX) - -+#if defined(HAVE_INODE_TIMESPEC64_TIMES) -+typedef struct timespec64 inode_timespec_t; -+#else -+typedef struct timespec inode_timespec_t; -+#endif -+ - static inline void --gethrestime(timestruc_t *now) --{ -- *now = current_kernel_time(); -+gethrestime(inode_timespec_t *ts) -+ { -+#if defined(HAVE_INODE_TIMESPEC64_TIMES) -+ *ts = current_kernel_time64(); -+#else -+ *ts = current_kernel_time(); -+#endif - } - - static inline time_t -@@ -74,9 +87,9 @@ gethrestime_sec(void) - static inline hrtime_t - gethrtime(void) - { -- struct timespec now; -- getrawmonotonic(&now); -- return (((hrtime_t)now.tv_sec * NSEC_PER_SEC) + now.tv_nsec); -+ struct timespec ts; -+ getrawmonotonic(&ts); -+ return (((hrtime_t)ts.tv_sec * NSEC_PER_SEC) + ts.tv_nsec); - } - - #endif /* _SPL_TIME_H */ -diff --git a/include/sys/types.h b/include/sys/types.h -index 2fe63b7..b958462 100644 ---- a/include/sys/types.h -+++ b/include/sys/types.h -@@ -49,9 +49,6 @@ typedef long long offset_t; - typedef struct task_struct kthread_t; - typedef struct task_struct proc_t; - typedef short pri_t; --typedef struct timespec timestruc_t; /* definition per SVr4 */ --typedef struct timespec timespec_t; --typedef longlong_t hrtime_t; - typedef unsigned short ushort_t; - typedef u_longlong_t len_t; - typedef longlong_t diskaddr_t; -diff --git a/include/sys/vnode.h b/include/sys/vnode.h -index 0ed4794..87f12d6 100644 ---- a/include/sys/vnode.h -+++ b/include/sys/vnode.h -@@ -129,9 +129,9 @@ typedef struct vattr { - long va_nodeid; /* node # */ - uint32_t va_nlink; /* # links */ - uint64_t va_size; /* file size */ -- struct timespec va_atime; /* last acc */ -- struct timespec va_mtime; /* last mod */ -- struct timespec va_ctime; /* last chg */ -+ inode_timespec_t va_atime; /* last acc */ -+ inode_timespec_t va_mtime; /* last mod */ -+ inode_timespec_t va_ctime; /* last chg */ - dev_t va_rdev; /* dev */ - uint64_t va_nblocks; /* space used */ - uint32_t va_blksize; /* block size */ --- -2.11.0 - diff --git a/spl-patches/0003-Add-pool-state-proc-entry-SUSPENDED-pools-SPL.patch b/spl-patches/0003-Add-pool-state-proc-entry-SUSPENDED-pools-SPL.patch deleted file mode 100644 index b728794..0000000 --- a/spl-patches/0003-Add-pool-state-proc-entry-SUSPENDED-pools-SPL.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Tony Hutter -Date: Wed, 15 Aug 2018 09:39:55 -0700 -Subject: [PATCH] Add pool state /proc entry, "SUSPENDED" pools (SPL) - -(This is the SPL backported code from f0ed6c744) - -1. Add a proc entry to display the pool's state: - -$ cat /proc/spl/kstat/zfs/tank/state -ONLINE - -This is done without using the spa config locks, so it will -never hang. - -2. Fix 'zpool status' and 'zpool list -o health' output to print -"SUSPENDED" instead of "ONLINE" for suspended pools. - -Reviewed-by: Olaf Faaland -Reviewed-by: Brian Behlendorf -Reviewed by: Richard Elling -Signed-off-by: Tony Hutter -Closes #7331 -Closes #7563 - -Signed-off-by: Stoiko Ivanov ---- - include/sys/kstat.h | 2 +- - module/spl/spl-kstat.c | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/include/sys/kstat.h b/include/sys/kstat.h -index 2018019..b8aa7ed 100644 ---- a/include/sys/kstat.h -+++ b/include/sys/kstat.h -@@ -72,7 +72,7 @@ - #define KSTAT_FLAG_UNSUPPORTED \ - (KSTAT_FLAG_VAR_SIZE | KSTAT_FLAG_WRITABLE | \ - KSTAT_FLAG_PERSISTENT | KSTAT_FLAG_DORMANT) -- -+#define KSTAT_FLAG_NO_HEADERS 0x80 - - #define KS_MAGIC 0x9d9d9d9d - -diff --git a/module/spl/spl-kstat.c b/module/spl/spl-kstat.c -index 6970fcc..f9b9015 100644 ---- a/module/spl/spl-kstat.c -+++ b/module/spl/spl-kstat.c -@@ -388,7 +388,8 @@ kstat_seq_start(struct seq_file *f, loff_t *pos) - - ksp->ks_snaptime = gethrtime(); - -- if (!n && kstat_seq_show_headers(f)) -+ if (!(ksp->ks_flags & KSTAT_FLAG_NO_HEADERS) && !n && -+ kstat_seq_show_headers(f)) - return (NULL); - - if (n >= ksp->ks_ndata) -@@ -538,7 +539,6 @@ __kstat_create(const char *ks_module, int ks_instance, const char *ks_name, - ASSERT(ks_module); - ASSERT(ks_instance == 0); - ASSERT(ks_name); -- ASSERT(!(ks_flags & KSTAT_FLAG_UNSUPPORTED)); - - if ((ks_type == KSTAT_TYPE_INTR) || (ks_type == KSTAT_TYPE_IO)) - ASSERT(ks_ndata == 1); --- -2.11.0 - diff --git a/spl-patches/0004-Add-rwsem_tryupgrade-for-4.9.20-rt16-kernel-SPL.patch b/spl-patches/0004-Add-rwsem_tryupgrade-for-4.9.20-rt16-kernel-SPL.patch deleted file mode 100644 index 8aeed22..0000000 --- a/spl-patches/0004-Add-rwsem_tryupgrade-for-4.9.20-rt16-kernel-SPL.patch +++ /dev/null @@ -1,136 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Tony Hutter -Date: Wed, 15 Aug 2018 11:58:54 -0700 -Subject: [PATCH] Add rwsem_tryupgrade for 4.9.20-rt16 kernel (SPL) - -(This is the SPL backported code from 11d0525cb) - -The RT rwsem implementation was changed to allow multiple readers -as of the 4.9.20-rt16 patch set. This results in a build failure -because the existing implementation was forced to directly access -the rwsem structure which has changed. - -While this could be accommodated by adding additional compatibility -code. This patch resolves the build issue by simply assuming the -rwsem can never be upgraded. This functionality is a performance -optimization and all callers must already handle this case. - -Converting the last remaining use of __SPIN_LOCK_UNLOCKED to -spin_lock_init() was additionally required to get a clean build. - -Signed-off-by: Brian Behlendorf -Closes #7589 - -Signed-off-by: Stoiko Ivanov ---- - include/sys/isa_defs.h | 8 ++++++++ - include/sys/rwlock.h | 10 +++++----- - module/spl/spl-rwlock.c | 19 ++++++++++++++----- - module/spl/spl-vnode.c | 2 ++ - 4 files changed, 29 insertions(+), 10 deletions(-) - -diff --git a/include/sys/isa_defs.h b/include/sys/isa_defs.h -index 5559782..13dcb35 100644 ---- a/include/sys/isa_defs.h -+++ b/include/sys/isa_defs.h -@@ -210,6 +210,14 @@ - - #include - -+/* -+ * CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS will be defined by the Linux -+ * kernel for architectures which support efficient unaligned access. -+ */ -+#if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) -+#define HAVE_EFFICIENT_UNALIGNED_ACCESS -+#endif -+ - #if defined(__LITTLE_ENDIAN) && !defined(_LITTLE_ENDIAN) - #define _LITTLE_ENDIAN __LITTLE_ENDIAN - #endif -diff --git a/include/sys/rwlock.h b/include/sys/rwlock.h -index 325dfc4..2699229 100644 ---- a/include/sys/rwlock.h -+++ b/include/sys/rwlock.h -@@ -135,7 +135,7 @@ RW_LOCK_HELD(krwlock_t *rwp) - } - - /* -- * The following functions must be a #define and not static inline. -+ * The following functions must be a #define and not static inline. - * This ensures that the native linux semaphore functions (down/up) - * will be correctly located in the users code which is important - * for the built in kernel lock analysis tools -@@ -151,10 +151,10 @@ RW_LOCK_HELD(krwlock_t *rwp) - spl_rw_set_type(rwp, type); \ - }) - --#define rw_destroy(rwp) \ --({ \ -- VERIFY(!RW_LOCK_HELD(rwp)); \ --}) -+/* -+ * The Linux rwsem implementation does not require a matching destroy. -+ */ -+#define rw_destroy(rwp) ((void) 0) - - #define rw_tryenter(rwp, rw) \ - ({ \ -diff --git a/module/spl/spl-rwlock.c b/module/spl/spl-rwlock.c -index bf7ee2f..ac28c91 100644 ---- a/module/spl/spl-rwlock.c -+++ b/module/spl/spl-rwlock.c -@@ -34,16 +34,24 @@ - static int - __rwsem_tryupgrade(struct rw_semaphore *rwsem) - { -- -+#if defined(READER_BIAS) && defined(WRITER_BIAS) -+ /* -+ * After the 4.9.20-rt16 kernel the realtime patch series lifted the -+ * single reader restriction. While this could be accommodated by -+ * adding additional compatibility code assume the rwsem can never -+ * be upgraded. All caller must already cleanly handle this case. -+ */ -+ return (0); -+#else - ASSERT((struct task_struct *) - ((unsigned long)rwsem->lock.owner & ~RT_MUTEX_OWNER_MASKALL) == - current); - - /* -- * Under the realtime patch series, rwsem is implemented as a -- * single mutex held by readers and writers alike. However, -- * this implementation would prevent a thread from taking a -- * read lock twice, as the mutex would already be locked on -+ * Prior to 4.9.20-rt16 kernel the realtime patch series, rwsem is -+ * implemented as a single mutex held by readers and writers alike. -+ * However, this implementation would prevent a thread from taking -+ * a read lock twice, as the mutex would already be locked on - * the second attempt. Therefore the implementation allows a - * single thread to take a rwsem as read lock multiple times - * tracking that nesting as read_depth counter. -@@ -59,6 +67,7 @@ __rwsem_tryupgrade(struct rw_semaphore *rwsem) - return (1); - } - return (0); -+#endif - } - #elif defined(CONFIG_RWSEM_GENERIC_SPINLOCK) - static int -diff --git a/module/spl/spl-vnode.c b/module/spl/spl-vnode.c -index 74ae8fe..cd0015f 100644 ---- a/module/spl/spl-vnode.c -+++ b/module/spl/spl-vnode.c -@@ -670,6 +670,8 @@ vn_file_cache_destructor(void *buf, void *cdrarg) - int - spl_vn_init(void) - { -+ spin_lock_init(&vn_file_lock); -+ - vn_cache = kmem_cache_create("spl_vn_cache", - sizeof (struct vnode), 64, vn_cache_constructor, - vn_cache_destructor, NULL, NULL, NULL, 0); --- -2.11.0 - diff --git a/spl-patches/0005-Tag-spl-0.7.10.patch b/spl-patches/0005-Tag-spl-0.7.10.patch deleted file mode 100644 index e25bad4..0000000 --- a/spl-patches/0005-Tag-spl-0.7.10.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Tony Hutter -Date: Wed, 5 Sep 2018 10:36:46 -0700 -Subject: [PATCH] Tag spl-0.7.10 - -META file and changelog updated. - -Signed-off-by: Tony Hutter -Signed-off-by: Stoiko Ivanov ---- - META | 2 +- - rpm/generic/spl-kmod.spec.in | 3 +++ - rpm/generic/spl.spec.in | 3 +++ - 3 files changed, 7 insertions(+), 1 deletion(-) - -diff --git a/META b/META -index 95c9368..7818d34 100644 ---- a/META -+++ b/META -@@ -1,7 +1,7 @@ - Meta: 1 - Name: spl - Branch: 1.0 --Version: 0.7.9 -+Version: 0.7.10 - Release: 1 - Release-Tags: relext - License: GPL -diff --git a/rpm/generic/spl-kmod.spec.in b/rpm/generic/spl-kmod.spec.in -index 9cd2225..f31e31e 100644 ---- a/rpm/generic/spl-kmod.spec.in -+++ b/rpm/generic/spl-kmod.spec.in -@@ -167,6 +167,9 @@ chmod u+x ${RPM_BUILD_ROOT}%{kmodinstdir_prefix}/*/extra/*/*/* - rm -rf $RPM_BUILD_ROOT - - %changelog -+* Wed Sep 05 2018 Tony Hutter - 0.7.10-1 -+- Released 0.7.10-1, detailed release notes are available at: -+- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.10 - * Tue May 08 2018 Tony Hutter - 0.7.9-1 - - Released 0.7.9-1, detailed release notes are available at: - - https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.9 -diff --git a/rpm/generic/spl.spec.in b/rpm/generic/spl.spec.in -index 39c6411..7e9ee12 100644 ---- a/rpm/generic/spl.spec.in -+++ b/rpm/generic/spl.spec.in -@@ -44,6 +44,9 @@ make install DESTDIR=%{?buildroot} - %{_mandir}/man5/* - - %changelog -+* Wed Sep 05 2018 Tony Hutter - 0.7.10-1 -+- Released 0.7.10-1, detailed release notes are available at: -+- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.10 - * Tue May 08 2018 Tony Hutter - 0.7.9-1 - - Released 0.7.9-1, detailed release notes are available at: - - https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.9 --- -2.11.0 - diff --git a/spl-patches/0006-Linux-4.18-compat-Kconfig.patch b/spl-patches/0006-Linux-4.18-compat-Kconfig.patch deleted file mode 100644 index 9ca7098..0000000 --- a/spl-patches/0006-Linux-4.18-compat-Kconfig.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Brian Behlendorf -Date: Wed, 12 Sep 2018 20:42:34 -0400 -Subject: [PATCH] Linux 4.18 compat: Kconfig - -The kernel's top level Kconfig was updated in 4.18 such that it -no longer matches the expected pattern preventing the spl source -from being inserted. Simplify the existing logic to always insert -the entry at the end of the file since an exact location is not -required, unlike in the Makefile. - -Signed-off-by: Brian Behlendorf -Issue #7890 - -Signed-off-by: Thomas Lamprecht ---- - copy-builtin | 27 +-------------------------- - 1 file changed, 1 insertion(+), 26 deletions(-) - -diff --git a/copy-builtin b/copy-builtin -index 34c482b..b8e3a08 100755 ---- a/copy-builtin -+++ b/copy-builtin -@@ -88,32 +88,7 @@ EOF - done - } > "$KERNEL_DIR/spl/Kbuild" - --add_after() --{ -- local FILE="$1" -- local MARKER="$2" -- local NEW="$3" -- local LINE -- -- while IFS='' read -r LINE -- do -- echo "$LINE" -- -- if [ -n "$MARKER" -a "$LINE" = "$MARKER" ] -- then -- echo "$NEW" -- MARKER='' -- if IFS='' read -r LINE -- then -- [ "$LINE" != "$NEW" ] && echo "$LINE" -- fi -- fi -- done < "$FILE" > "$FILE.new" -- -- mv "$FILE.new" "$FILE" --} -- --add_after "$KERNEL_DIR/Kconfig" 'source "arch/$SRCARCH/Kconfig"' 'source "spl/Kconfig"' -+echo 'source "spl/Kconfig"' >>"$KERNEL_DIR/Kconfig" - # We must take care to build SPL before ZFS, otherwise the symbols required - # to link ZFS will not be available. - sed -i 's~mm/ fs/~mm/ spl/ fs/~' "$KERNEL_DIR/Makefile" diff --git a/spl-patches/0007-Tag-spl-0.7.11.patch b/spl-patches/0007-Tag-spl-0.7.11.patch deleted file mode 100644 index 2daa24f..0000000 --- a/spl-patches/0007-Tag-spl-0.7.11.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Tony Hutter -Date: Thu, 13 Sep 2018 10:13:33 -0700 -Subject: [PATCH] Tag spl-0.7.11 - -META file and changelog updated. - -Signed-off-by: Tony Hutter -Signed-off-by: Thomas Lamprecht ---- - META | 2 +- - rpm/generic/spl-kmod.spec.in | 3 +++ - rpm/generic/spl.spec.in | 3 +++ - 3 files changed, 7 insertions(+), 1 deletion(-) - -diff --git a/META b/META -index 7818d34..fc98597 100644 ---- a/META -+++ b/META -@@ -1,7 +1,7 @@ - Meta: 1 - Name: spl - Branch: 1.0 --Version: 0.7.10 -+Version: 0.7.11 - Release: 1 - Release-Tags: relext - License: GPL -diff --git a/rpm/generic/spl-kmod.spec.in b/rpm/generic/spl-kmod.spec.in -index f31e31e..4cc1faf 100644 ---- a/rpm/generic/spl-kmod.spec.in -+++ b/rpm/generic/spl-kmod.spec.in -@@ -167,6 +167,9 @@ chmod u+x ${RPM_BUILD_ROOT}%{kmodinstdir_prefix}/*/extra/*/*/* - rm -rf $RPM_BUILD_ROOT - - %changelog -+* Thu Sep 13 2018 Tony Hutter - 0.7.11-1 -+- Released 0.7.11-1, detailed release notes are available at: -+- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.11 - * Wed Sep 05 2018 Tony Hutter - 0.7.10-1 - - Released 0.7.10-1, detailed release notes are available at: - - https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.10 -diff --git a/rpm/generic/spl.spec.in b/rpm/generic/spl.spec.in -index 7e9ee12..4b3a3d7 100644 ---- a/rpm/generic/spl.spec.in -+++ b/rpm/generic/spl.spec.in -@@ -44,6 +44,9 @@ make install DESTDIR=%{?buildroot} - %{_mandir}/man5/* - - %changelog -+* Thu Sep 13 2018 Tony Hutter - 0.7.11-1 -+- Released 0.7.11-1, detailed release notes are available at: -+- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.11 - * Wed Sep 05 2018 Tony Hutter - 0.7.10-1 - - Released 0.7.10-1, detailed release notes are available at: - - https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.10 diff --git a/spl-patches/series b/spl-patches/series index e3e3a9d..20724b7 100644 --- a/spl-patches/series +++ b/spl-patches/series @@ -1,7 +1 @@ 0001-remove-DKMS-and-module-build.patch -0002-Linux-4.18-compat-inode-timespec-timespec64.patch -0003-Add-pool-state-proc-entry-SUSPENDED-pools-SPL.patch -0004-Add-rwsem_tryupgrade-for-4.9.20-rt16-kernel-SPL.patch -0005-Tag-spl-0.7.10.patch -0006-Linux-4.18-compat-Kconfig.patch -0007-Tag-spl-0.7.11.patch -- 2.39.2