update/rebase to spl-0.7.12 with patches from ZOL

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
This commit is contained in:
Stoiko Ivanov 2018-11-14 17:19:54 +01:00
parent 851f368539
commit 2e5067b011
6 changed files with 227 additions and 0 deletions

View File

@ -0,0 +1,34 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Tony Hutter <hutter2@llnl.gov>
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 <behlendorf1@llnl.gov>
Reviewed-by: George Melikov <mail@gmelikov.ru>
Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Closes #8014
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
---
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)
{

View File

@ -0,0 +1,35 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Tony Hutter <hutter2@llnl.gov>
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 <hutter2@llnl.gov>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
---
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 */

View File

@ -0,0 +1,40 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Tony Hutter <hutter2@llnl.gov>
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 <faaland1@llnl.gov>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #8074
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
---
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);
}

View File

@ -0,0 +1,57 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Tony Hutter <hutter2@llnl.gov>
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 <ngompa@datto.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Closes #8095
Closes #8102
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
---
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

View File

@ -0,0 +1,56 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Tony Hutter <hutter2@llnl.gov>
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 <hutter2@llnl.gov>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
---
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 <hutter2@llnl.gov> - 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 <hutter2@llnl.gov> - 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 <hutter2@llnl.gov> - 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 <hutter2@llnl.gov> - 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

View File

@ -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