From: Stoiko Ivanov Date: Wed, 14 Nov 2018 16:19:54 +0000 (+0100) Subject: update/rebase to spl-0.7.12 with patches from ZOL X-Git-Tag: zfs-2.0.6-bullseye~132 X-Git-Url: https://git.proxmox.com/?p=zfsonlinux.git;a=commitdiff_plain;h=2e5067b01123497bd9218f60aa34ec6742568cf1 update/rebase to spl-0.7.12 with patches from ZOL Signed-off-by: Stoiko Ivanov --- diff --git a/spl-patches/0003-Define-timestruc_t-for-Lustre-compatibility.patch b/spl-patches/0003-Define-timestruc_t-for-Lustre-compatibility.patch new file mode 100644 index 0000000..da6b06c --- /dev/null +++ b/spl-patches/0003-Define-timestruc_t-for-Lustre-compatibility.patch @@ -0,0 +1,34 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Tony Hutter +Date: Fri, 26 Oct 2018 01:24:24 -0400 +Subject: [PATCH] Define timestruc_t for Lustre compatibility + +Lustre 2.8 (and possibly other versions) are still using timestruc_t, +which was removed in spl-0.7.10 in favor of inode_timespec_t. Add +in a backwards compatibility #define for timestruc_t so that Lustre +builds. + +Reviewed by: Brian Behlendorf +Reviewed-by: George Melikov +Signed-off-by: Tony Hutter +Closes #8014 + +Signed-off-by: Stoiko Ivanov +--- + include/sys/time.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/include/sys/time.h b/include/sys/time.h +index 59557af..9029671 100644 +--- a/include/sys/time.h ++++ b/include/sys/time.h +@@ -66,6 +66,9 @@ typedef struct timespec64 inode_timespec_t; + typedef struct timespec inode_timespec_t; + #endif + ++/* Include for Lustre compatibility */ ++#define timestruc_t inode_timespec_t ++ + static inline void + gethrestime(inode_timespec_t *ts) + { diff --git a/spl-patches/0004-Backport-vnode.h-changes-from-zfs-93ce2b4c.patch b/spl-patches/0004-Backport-vnode.h-changes-from-zfs-93ce2b4c.patch new file mode 100644 index 0000000..9475002 --- /dev/null +++ b/spl-patches/0004-Backport-vnode.h-changes-from-zfs-93ce2b4c.patch @@ -0,0 +1,35 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Tony Hutter +Date: Fri, 26 Oct 2018 06:51:38 -0400 +Subject: [PATCH] Backport vnode.h changes from zfs:93ce2b4c + +This backports the vnode.h changes from zfs:93ce2b4c for zfs-0.7.12. + +Signed-off-by: Tony Hutter +Signed-off-by: Stoiko Ivanov +--- + include/sys/vnode.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/include/sys/vnode.h b/include/sys/vnode.h +index 87f12d6..279bd87 100644 +--- a/include/sys/vnode.h ++++ b/include/sys/vnode.h +@@ -87,7 +87,7 @@ + #define AT_MTIME ATTR_MTIME + #define AT_CTIME ATTR_CTIME + +-#define ATTR_XVATTR (1 << 31) ++#define ATTR_XVATTR (1U << 31) + #define AT_XVATTR ATTR_XVATTR + + #define ATTR_IATTR_MASK (ATTR_MODE | ATTR_UID | ATTR_GID | ATTR_SIZE | \ +@@ -121,7 +121,7 @@ typedef enum vtype { + + typedef struct vattr { + enum vtype va_type; /* vnode type */ +- uint_t va_mask; /* attribute bit-mask */ ++ uint32_t va_mask; /* attribute bit-mask */ + ushort_t va_mode; /* acc mode */ + uid_t va_uid; /* owner uid */ + gid_t va_gid; /* owner gid */ diff --git a/spl-patches/0005-Linux-4.20-compat-current_kernel_time.patch b/spl-patches/0005-Linux-4.20-compat-current_kernel_time.patch new file mode 100644 index 0000000..ff656b5 --- /dev/null +++ b/spl-patches/0005-Linux-4.20-compat-current_kernel_time.patch @@ -0,0 +1,40 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Tony Hutter +Date: Wed, 24 Oct 2018 22:42:14 -0700 +Subject: [PATCH] Linux 4.20 compat: current_kernel_time() + +Commit torvalds/linux@976516404 removed the current_kernel_time() +function (and several others). All callers are expected to use +current_kernel_time64(). Update the gethrestime_sec() wrapper +accordingly. + +Backported to SPL from zfs:82c0a050f + +Reviewed-by: Olaf Faaland +Reviewed-by: Tony Hutter +Signed-off-by: Brian Behlendorf +Closes #8074 + +Signed-off-by: Stoiko Ivanov +--- + include/sys/time.h | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/include/sys/time.h b/include/sys/time.h +index 9029671..563c210 100644 +--- a/include/sys/time.h ++++ b/include/sys/time.h +@@ -82,8 +82,11 @@ gethrestime(inode_timespec_t *ts) + static inline time_t + gethrestime_sec(void) + { +- struct timespec ts; +- ts = current_kernel_time(); ++#if defined(HAVE_INODE_TIMESPEC64_TIMES) ++ inode_timespec_t ts = current_kernel_time64(); ++#else ++ inode_timespec_t ts = current_kernel_time(); ++#endif + return (ts.tv_sec); + } + diff --git a/spl-patches/0006-Add-BuildRequires-gcc-make-elfutils-libelf-devel.patch b/spl-patches/0006-Add-BuildRequires-gcc-make-elfutils-libelf-devel.patch new file mode 100644 index 0000000..a8129a2 --- /dev/null +++ b/spl-patches/0006-Add-BuildRequires-gcc-make-elfutils-libelf-devel.patch @@ -0,0 +1,57 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Tony Hutter +Date: Wed, 7 Nov 2018 22:13:20 -0800 +Subject: [PATCH] Add BuildRequires gcc, make, elfutils-libelf-devel + +This adds a BuildRequires for gcc, make, and elfutils-libelf-devel +into our spec files. gcc has been a packaging requirement for +awhile now: + +https://fedoraproject.org/wiki/Packaging:C_and_C%2B%2B + +These additional BuildRequires allow us to mock build in +Fedora 29. + +(This is the backported SPL equivalent of the original ZFS patch) + +Reviewed-by: Neal Gompa +Reviewed-by: Brian Behlendorf +Signed-off-by: Tony Hutter +Closes #8095 +Closes #8102 + +Signed-off-by: Stoiko Ivanov +--- + rpm/generic/spl-kmod.spec.in | 4 ++++ + rpm/generic/spl.spec.in | 3 +++ + 2 files changed, 7 insertions(+) + +diff --git a/rpm/generic/spl-kmod.spec.in b/rpm/generic/spl-kmod.spec.in +index 4cc1faf..f986cde 100644 +--- a/rpm/generic/spl-kmod.spec.in ++++ b/rpm/generic/spl-kmod.spec.in +@@ -26,6 +26,10 @@ URL: http://zfsonlinux.org/ + Source0: %{module}-%{version}.tar.gz + Source10: kmodtool + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id} -u -n) ++%if 0%{?rhel}%{?fedora} ++BuildRequires: gcc, make ++BuildRequires: elfutils-libelf-devel ++%endif + + # The developments headers will conflict with the dkms packages. + Conflicts: %{module}-dkms +diff --git a/rpm/generic/spl.spec.in b/rpm/generic/spl.spec.in +index 4b3a3d7..b17c68e 100644 +--- a/rpm/generic/spl.spec.in ++++ b/rpm/generic/spl.spec.in +@@ -20,6 +20,9 @@ Source0: %{name}-%{version}.tar.gz + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + Requires: %{name}-kmod = %{version} + Provides: %{name}-kmod-common = %{version} ++%if 0%{?rhel}%{?fedora}%{?suse_version} ++BuildRequires: gcc, make ++%endif + + %description + This package contains the commands to verify the SPL diff --git a/spl-patches/0007-Tag-spl-0.7.12.patch b/spl-patches/0007-Tag-spl-0.7.12.patch new file mode 100644 index 0000000..247fe1e --- /dev/null +++ b/spl-patches/0007-Tag-spl-0.7.12.patch @@ -0,0 +1,56 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Tony Hutter +Date: Thu, 8 Nov 2018 14:38:28 -0800 +Subject: [PATCH] Tag spl-0.7.12 + +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 fc98597..de72c4f 100644 +--- a/META ++++ b/META +@@ -1,7 +1,7 @@ + Meta: 1 + Name: spl + Branch: 1.0 +-Version: 0.7.11 ++Version: 0.7.12 + Release: 1 + Release-Tags: relext + License: GPL +diff --git a/rpm/generic/spl-kmod.spec.in b/rpm/generic/spl-kmod.spec.in +index f986cde..ef32f93 100644 +--- a/rpm/generic/spl-kmod.spec.in ++++ b/rpm/generic/spl-kmod.spec.in +@@ -171,6 +171,9 @@ chmod u+x ${RPM_BUILD_ROOT}%{kmodinstdir_prefix}/*/extra/*/*/* + rm -rf $RPM_BUILD_ROOT + + %changelog ++* Thu Nov 08 2018 Tony Hutter - 0.7.12-1 ++- Released 0.7.12-1, detailed release notes are available at: ++- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.12 + * 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 +diff --git a/rpm/generic/spl.spec.in b/rpm/generic/spl.spec.in +index b17c68e..30ed496 100644 +--- a/rpm/generic/spl.spec.in ++++ b/rpm/generic/spl.spec.in +@@ -47,6 +47,9 @@ make install DESTDIR=%{?buildroot} + %{_mandir}/man5/* + + %changelog ++* Thu Nov 08 2018 Tony Hutter - 0.7.12-1 ++- Released 0.7.12-1, detailed release notes are available at: ++- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.12 + * 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 diff --git a/spl-patches/series b/spl-patches/series index 5bcfa6a..5605ca5 100644 --- a/spl-patches/series +++ b/spl-patches/series @@ -1,2 +1,7 @@ 0001-remove-DKMS-and-module-build.patch 0002-deadlock-between-mm_sem-and-tx-assign-in-zfs_write-a.patch +0003-Define-timestruc_t-for-Lustre-compatibility.patch +0004-Backport-vnode.h-changes-from-zfs-93ce2b4c.patch +0005-Linux-4.20-compat-current_kernel_time.patch +0006-Add-BuildRequires-gcc-make-elfutils-libelf-devel.patch +0007-Tag-spl-0.7.12.patch